hymf_create_link_new.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. //执行一个创建番茄链接任务
  2. const axios = require('axios');
  3. const helper = require('../src/helper');
  4. const config = require('../etc/config.json')
  5. const CMD = {}
  6. CMD.runTask = async function(data,main_info,PlatformInfo,call_back){
  7. try {
  8. console.log("main_info:",main_info)
  9. let tg_link_config = JSON.parse(main_info.tg_link_config)
  10. let kadian_id = tg_link_config['kadian_id']
  11. let chongzhi_id = tg_link_config['chongzhi_id']
  12. let huichuan_id = tg_link_config['huichuan_id']
  13. // let chongzhi_list = JSON.parse(PlatformInfo.chongzhi)
  14. let huichuan_list = JSON.parse(PlatformInfo.huichuan)
  15. let kadian_list = JSON.parse(PlatformInfo.kadian)
  16. let kadian_name = null
  17. let tg_config = {
  18. chongzhi_key:'',
  19. huichuan_key:'',
  20. kadian_key:''
  21. }
  22. // for (let index = 0; index < chongzhi_list.length; index++) {
  23. // const cz_obj = chongzhi_list[index];
  24. // if(cz_obj.id==chongzhi_id){
  25. // chongzhi_name = cz_obj.name
  26. // tg_config.chongzhi_key = cz_obj.value
  27. // break
  28. // }
  29. // }
  30. for (let index = 0; index < huichuan_list.length; index++) {
  31. const hc_obj = huichuan_list[index];
  32. if(hc_obj.id==huichuan_id){
  33. huichuan_name = hc_obj.name
  34. tg_config.huichuan_key = hc_obj.value
  35. break
  36. }
  37. }
  38. for (let index = 0; index < kadian_list.length; index++) {
  39. const kd_obj = kadian_list[index];
  40. if(kd_obj.id==kadian_id){
  41. kadian_name = kd_obj.name
  42. break
  43. }
  44. }
  45. tg_config.kadian_key = kadian_name
  46. let name = `${data.product_name}_${main_info.id}`
  47. let accountId = main_info.hy_accountId
  48. let linkType = 2
  49. let bookId = data.product_id
  50. let mediaChannel = 1
  51. let group = main_info.group_id
  52. let site = PlatformInfo.mini_program_platform_id==config.wx?"7": "5"
  53. let paidPoint = tg_config.kadian_key; //卡点
  54. let adPassbackTemplateId = tg_config.huichuan_key; //回传模板
  55. let timestamp = helper.getCurrentUnixTimestamp()
  56. let sign = helper.generateSign({
  57. "pid":config.heiyan_config.pid,
  58. "timestamp":timestamp,
  59. "sign":"",
  60. "name":name,
  61. "accountId":accountId,
  62. "linkType":linkType,
  63. "bookId":bookId,
  64. "mediaChannel":mediaChannel,
  65. "group":group,
  66. "site":site,
  67. "adPassbackTemplateId":adPassbackTemplateId,
  68. "paidPoint":paidPoint,
  69. },config.heiyan_config.key)
  70. var url = config.heiyan_config.createLink
  71. var base_params = `/?sign=${sign}&pid=${config.heiyan_config.pid}&timestamp=${timestamp}`
  72. var other_params = `&accountId=${accountId}&name=${name}&linkType=${linkType}&bookId=${bookId}&mediaChannel=${mediaChannel}&group=${group}&site=${site}&adPassbackTemplateId=${adPassbackTemplateId}&paidPoint=${paidPoint}`
  73. url = `${url}${base_params}${other_params}`
  74. console.log("url:",url)
  75. let response = await axios.post(url)
  76. let link_data = response.data
  77. console.log("response:",response)
  78. if(link_data.code==1){
  79. let params = PlatformInfo.mini_program_platform_id==config.wx?link_data.data.wxFullPath.split('?'):link_data.data.fullPath.split('?')
  80. let start_page = params[0]
  81. let start_param = params[1]
  82. const linkId = start_param.match(/linkId=([^&]*)/)[1];
  83. data.promotion_id = linkId
  84. data.start_page = start_page
  85. data.start_param = start_param
  86. await call_back(data)
  87. }else{
  88. await call_back(data,link_data)
  89. }
  90. } catch (error) {
  91. call_back(data,error)
  92. console.error('There was an error!', error);
  93. }
  94. }
  95. module.exports = CMD;