zh_create_link_new.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. const helper = require('../src/helper');
  2. const config = require('../etc/config.json');
  3. const redis_help = require('../src/use_redis');
  4. const tools = require('../tools');
  5. const axios = require('axios');
  6. const CMD = {}
  7. CMD.runTask = async function(t_data,main_info,PlatformInfo,call_back){
  8. let tg_link_config = JSON.parse(main_info.tg_link_config)
  9. let chongzhi_id = tg_link_config['chongzhi_id']
  10. let huichuan_id = tg_link_config['huichuan_id']
  11. // let chongzhi_list = JSON.parse(PlatformInfo.chongzhi)
  12. // let huichuan_list = JSON.parse(PlatformInfo.huichuan)
  13. let payment_template_id = chongzhi_id
  14. let callback_rule_id = huichuan_id
  15. // for (let index = 0; index < chongzhi_list.length; index++) {
  16. // const cz_obj = chongzhi_list[index];
  17. // if(cz_obj.id==chongzhi_id){
  18. // payment_template_id = cz_obj.value
  19. // break
  20. // }
  21. // }
  22. // for (let index = 0; index < huichuan_list.length; index++) {
  23. // const hc_obj = huichuan_list[index];
  24. // if(hc_obj.id==huichuan_id){
  25. // callback_rule_id = hc_obj.value
  26. // break
  27. // }
  28. // }
  29. let body = {
  30. }
  31. let free_word_num = 0
  32. let unlock_word_num = 0
  33. let member_token = main_info.member_token
  34. let timestamp = helper.getCurrentUnixTimestamp()
  35. if(main_info.pay_type==0){//mf
  36. let zh_iaa_config = JSON.parse( main_info.zh_iaa_config)
  37. free_word_num = zh_iaa_config.free_word_num
  38. unlock_word_num = zh_iaa_config.unlock_word_num
  39. body = {
  40. "member_token": member_token,
  41. "work_id": t_data.product_id,
  42. "media_channel_type": 5,
  43. "ad_link_name": `${t_data.product_name}_${main_info.id}`,
  44. "app_id": main_info.app_id,
  45. "callback_type": 0,
  46. "callback_rule_id": callback_rule_id,
  47. "num": 1,
  48. "free_word_num":free_word_num,
  49. "unlock_word_num":unlock_word_num,
  50. }
  51. }else{
  52. body = {
  53. "member_token": member_token,
  54. "work_id": t_data.product_id,
  55. "media_channel_type": 5,
  56. "ad_link_name": `${t_data.product_name}_${main_info.id}`,
  57. "app_id": main_info.app_id,
  58. "callback_type": 0,
  59. "callback_rule_id": callback_rule_id,
  60. "payment_template_id": payment_template_id,
  61. "num": 1
  62. }
  63. }
  64. let postData = {
  65. "timestamp": `${timestamp}`,
  66. "app_id": config.zhihu_conifg.app_id,
  67. "data": body
  68. }
  69. let sign = tools.zh_sign(JSON.stringify(postData),config.zhihu_conifg.app_secret)
  70. let client = tools.getOneNewClinet({
  71. "Content-Type":"application/json; charset=utf-8",
  72. "Accept":"application/json",
  73. "x-sign":sign
  74. })
  75. try{
  76. let response = await client.post("https://open.zhihu.com/openapi/km-agent/v1/new-ad-link", postData )
  77. if(response.data.success!=true){
  78. throw response.data
  79. }
  80. // console.log("response.data.data:",response.data.data)
  81. let t_params = response.data.data.ad_link_list[0]
  82. let start_page = t_params.ad_link_url
  83. let start_param = t_params.ad_link_query
  84. t_data.promotion_id = t_params.ad_link_id
  85. t_data.start_page = start_page
  86. t_data.start_param = start_param
  87. await call_back(t_data,null)
  88. return response.data;
  89. }catch(e){
  90. console.log('zh_create_link_new::请求错误:', e);
  91. await call_back(t_data,e)
  92. return null;
  93. }
  94. }
  95. module.exports = CMD;