dz_create_link.js 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //执行一个创建点众链接任务
  2. const axios = require('axios');
  3. const helper = require('../src/helper');
  4. const config = require('../etc/config.json')
  5. const HttpClient = require('../src/HttpClient')
  6. const CMD = {}
  7. CMD.runTask = async function(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 recharge_template_id = ""
  14. let call_back_template_id = ""
  15. let timestamp = helper.getCurrentUnixTimestamp()
  16. let clientId = config.dianzhong_config.clientId
  17. let token = config.dianzhong_config.token
  18. if(PlatformInfo.mini_program_platform_id==config.wx){
  19. clientId = config.dianzhong_channel_config.clientId
  20. token = config.dianzhong_channel_config.token
  21. }else if(PlatformInfo.mini_program_platform_id==config.dy){
  22. clientId = config.dianzhong_config.clientId
  23. token = config.dianzhong_config.token
  24. }
  25. let signKey = helper.md5(clientId+token+timestamp)
  26. for (let index = 0; index < chongzhi_list.length; index++) {
  27. const cz_obj = chongzhi_list[index];
  28. if(cz_obj.id==chongzhi_id){
  29. recharge_template_id = cz_obj.value
  30. break
  31. }
  32. }
  33. for (let index = 0; index < huichuan_list.length; index++) {
  34. const hc_obj = huichuan_list[index];
  35. if(hc_obj.id==huichuan_id){
  36. call_back_template_id = hc_obj.value
  37. break
  38. }
  39. }
  40. try {
  41. let client = new HttpClient()
  42. let bookId = data.product_id;
  43. let chapterIdx = 1;
  44. let name = data.product_name;
  45. let mediaSource = "dy";
  46. let channelId = main_info.channelId;
  47. let batchId = recharge_template_id;
  48. let CallbackConfigId = call_back_template_id;
  49. let fromDrId = "zywzfromDrId";
  50. let chapterChargeStart = 0;
  51. let chapterKandian = 0;
  52. let postData ={
  53. signKey:signKey,
  54. clientId:clientId,
  55. timestamp:timestamp,
  56. bookId:bookId,
  57. chapterIdx:chapterIdx,
  58. name:`${name}${main_info.id}`,
  59. mediaSource:mediaSource,
  60. channelId:channelId,
  61. batchId:batchId,
  62. CallbackConfigId:CallbackConfigId,
  63. fromDrId:fromDrId,
  64. chapterChargeStart:chapterChargeStart,
  65. chapterKandian:chapterKandian
  66. }
  67. console.log("postData:",postData)
  68. let response = await client.post(config.dianzhong_config.create_link_host,postData)
  69. if(response.code!=1){
  70. throw response
  71. }
  72. let params = response.data.path.split('?')
  73. let start_page = params[0]
  74. let start_param = params[1]
  75. let promotion_id = response.data.referralId
  76. data.start_page = start_page
  77. data.start_param = start_param
  78. data.promotion_id = promotion_id
  79. // console.log("response:",response)
  80. call_back(data,null)
  81. } catch (error) {
  82. call_back(data,error)
  83. console.error('dz_create_link :Error:', error);
  84. // 处理错误
  85. }
  86. }
  87. module.exports = CMD;