hy_create_link_new.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. let tg_link_config = JSON.parse(main_info.tg_link_config)
  9. let kadian_id = tg_link_config['kadian_id']
  10. let chongzhi_id = tg_link_config['chongzhi_id']
  11. let huichuan_id = tg_link_config['huichuan_id']
  12. let chongzhi_list = JSON.parse(PlatformInfo.chongzhi)
  13. let huichuan_list = JSON.parse(PlatformInfo.huichuan)
  14. let kadian_list = JSON.parse(PlatformInfo.kadian)
  15. let kadian_name = null
  16. let tg_config = {
  17. chongzhi_key:'',
  18. huichuan_key:'',
  19. kadian_key:''
  20. }
  21. for (let index = 0; index < chongzhi_list.length; index++) {
  22. const cz_obj = chongzhi_list[index];
  23. if(cz_obj.id==chongzhi_id){
  24. chongzhi_name = cz_obj.name
  25. tg_config.chongzhi_key = cz_obj.value
  26. break
  27. }
  28. }
  29. for (let index = 0; index < huichuan_list.length; index++) {
  30. const hc_obj = huichuan_list[index];
  31. if(hc_obj.id==huichuan_id){
  32. huichuan_name = hc_obj.name
  33. tg_config.huichuan_key = hc_obj.value
  34. break
  35. }
  36. }
  37. for (let index = 0; index < kadian_list.length; index++) {
  38. const kd_obj = kadian_list[index];
  39. if(kd_obj.id==kadian_id){
  40. kadian_name = kd_obj.name
  41. break
  42. }
  43. }
  44. tg_config.kadian_key = kadian_name
  45. let name = `${data.product_name}_${main_info.id}`
  46. let accountId = main_info.hy_accountId
  47. let linkType = 1
  48. let bookId = data.product_id
  49. let mediaChannel = 1
  50. let group = main_info.group_id
  51. let site = PlatformInfo.mini_program_platform_id==config.wx?"7": "5"
  52. let paidPoint = tg_config.kadian_key; //卡点
  53. let timestamp = helper.getCurrentUnixTimestamp()
  54. let passBackTemplateId = tg_config.huichuan_key
  55. let topUpTemplateId = tg_config.chongzhi_key
  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. "topUpTemplateId":topUpTemplateId,
  68. "passBackTemplateId": passBackTemplateId,
  69. "paidPoint":paidPoint,
  70. },config.heiyan_config.key)
  71. var url = config.heiyan_config.createLink
  72. var base_params = `/?sign=${sign}&pid=${config.heiyan_config.pid}&timestamp=${timestamp}`
  73. var other_params = `&accountId=${accountId}&name=${name}&linkType=${linkType}&bookId=${bookId}&mediaChannel=${mediaChannel}&group=${group}&site=${site}&topUpTemplateId=${topUpTemplateId}&passBackTemplateId=${passBackTemplateId}&paidPoint=${paidPoint}`
  74. url = `${url}${base_params}${other_params}`
  75. // console.log("url:",url)
  76. let response = await axios.post(url)
  77. let link_data = response.data
  78. console.log("response:",response)
  79. if(link_data.code==1){
  80. let params = link_data.data.fullPath.split('?')
  81. let start_page = params[0]
  82. let start_param = params[1]
  83. const linkId = start_param.match(/linkId=([^&]*)/)[1];
  84. data.promotion_id = linkId
  85. data.start_page = start_page
  86. data.start_param = start_param
  87. call_back(data)
  88. }else{
  89. call_back(data,link_data)
  90. }
  91. } catch (error) {
  92. call_back(data,error)
  93. console.error('There was an error!', error);
  94. }
  95. }
  96. module.exports = CMD;