904118851 8 mesiacov pred
rodič
commit
49e5614f08

+ 13 - 0
0_RECEIVE_FACTORY/RECEIVE_FACTORY.js

@@ -219,6 +219,17 @@ CMD.get_qm_recharge_template = async function(res,category) {
     res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
 }
 
+CMD.get_fq_callback_template = async function(res) {
+    let data = await require('../src/api/fq/get_fq_call_back_template').get_callback_template()
+    res.writeHead(200, {'Content-Type': 'application/json'});
+    if(data==null){
+        res.end(JSON.stringify({ message:"成功!",data:{},code:10000}));
+    }else{
+        console.log('get_fq_callback_template:', data);
+        res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
+    }
+}
+
 var server = http.createServer(function(req,res){
 
     res.setHeader('Access-Control-Allow-Origin', '*'); // 允许所有域的请求,注意:在生产环境中应该限制为特定的域
@@ -284,6 +295,8 @@ var server = http.createServer(function(req,res){
                         CMD.get_qm_recharge_template(res,category) 
                     }else if(jsonData['fun']=="get_qm_callback_template"&&jsonData['cmd']=="qm_link"){
                         CMD.get_qm_callback_template(res) 
+                    }else if(jsonData['fun']=="get_fq_callback_template"&&jsonData['cmd']=="fq_link"){
+                        CMD.get_fq_callback_template(res) 
                     } else{
                         res.writeHead(200, {'Content-Type': 'application/json'});
                         res.end(JSON.stringify({ message: 'fun 错误',code:100}));

+ 12 - 1
5_CREATE_LINK_FACTORY/fq_create_link.js

@@ -36,9 +36,12 @@ CMD.runTask = async function(data,main_info,PlatformInfo,call_back){
     // console.log("recharge:",recharge)
     let  tg_link_config = JSON.parse(main_info.tg_link_config)
     let chongzhi_id = tg_link_config['chongzhi_id']
+    let huichuan_id = tg_link_config['huichuan_id']
     let chongzhi_list = JSON.parse(PlatformInfo.chongzhi)
+    let huichuan_list = JSON.parse(PlatformInfo.huichuan)
     let chongzhi_name = null
     let recharge_template_id = ""
+    let ad_callback_config_id = ""
     for (let index = 0; index < chongzhi_list.length; index++) {
         const cz_obj = chongzhi_list[index];
         if(cz_obj.id==chongzhi_id){
@@ -47,6 +50,14 @@ CMD.runTask = async function(data,main_info,PlatformInfo,call_back){
           break
         }
     }
+
+    for (let index = 0; index < huichuan_list.length; index++) {
+        const hc_obj = huichuan_list[index];
+        if(hc_obj.id==huichuan_id){
+          ad_callback_config_id = hc_obj.value
+          break
+        }
+      }
     // if(recharge.code==200&&chongzhi_name!=null){
     //     for (let index = 0; index < recharge.data.length; index++) {
     //         const recharge_item = recharge.data[index];
@@ -59,7 +70,7 @@ CMD.runTask = async function(data,main_info,PlatformInfo,call_back){
     try {
         let create_fanqie_book_link = require('../src/api/fq/create_fanqie_book_link')
         let remark  =  data.product_name.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '')
-        await create_fanqie_book_link.send(data.product_id,1,remark,1,recharge_template_id,(start_page,start_param, info)=>{
+        await create_fanqie_book_link.send(data.product_id,1,remark,1,recharge_template_id,ad_callback_config_id,(start_page,start_param, info)=>{
             if(start_page==null||start_param==null){
                 data.start_page = start_page
                 data.start_param = start_param

BIN
dump.rdb


+ 2 - 1
etc/config.json

@@ -1,5 +1,5 @@
 {
-    "isDebug":false,
+    "isDebug":true,
     "redis_config": {
         "host": "127.0.0.1",
         "port": 6379
@@ -23,6 +23,7 @@
         "back_host": "https://ms.zhangwenpindu.cn"
     },
     "fanqie_config": {
+        "callbacklist_host": "https://www.changdunovel.com/novelsale/openapi/ad_callback_config/config_list/v1/",
         "recharge_list_host": "https://www.changdunovel.com/novelsale/openapi/recharge_template/list/v1/",
         "create_link_host": "https://www.changdunovel.com/novelsale/openapi/promotion/create/v1",
         "distributorId": 1814786227164169,

+ 56 - 0
logs/combined.log

@@ -44,6 +44,58 @@
 2024-12-18T11:22:42: > node tg_factory_main.js
 2024-12-18T11:22:42: 
 2024-12-18T11:22:44: Connected to Redis
+<<<<<<< HEAD
+2024-12-18T15:41:13: 
+2024-12-18T15:41:13: > heiyan@1.0.0 start
+2024-12-18T15:41:13: > node tg_factory_main.js
+2024-12-18T15:41:13: 
+2024-12-18T15:41:15: Connected to Redis
+2024-12-18T15:46:22: 
+2024-12-18T15:46:22: > heiyan@1.0.0 start
+2024-12-18T15:46:22: > node tg_factory_main.js
+2024-12-18T15:46:22: 
+2024-12-18T15:46:24: Connected to Redis
+2024-12-18T15:51:56: 
+2024-12-18T15:51:56: > heiyan@1.0.0 start
+2024-12-18T15:51:56: > node tg_factory_main.js
+2024-12-18T15:51:56: 
+2024-12-18T15:51:57: Connected to Redis
+2024-12-18T15:53:08: 
+2024-12-18T15:53:08: > heiyan@1.0.0 start
+2024-12-18T15:53:08: > node tg_factory_main.js
+2024-12-18T15:53:08: 
+2024-12-18T15:53:09: Connected to Redis
+2024-12-18T15:55:19: 
+2024-12-18T15:55:19: > heiyan@1.0.0 start
+2024-12-18T15:55:19: > node tg_factory_main.js
+2024-12-18T15:55:19: 
+2024-12-18T15:55:20: Connected to Redis
+2024-12-18T15:56:26: 
+2024-12-18T15:56:26: > heiyan@1.0.0 start
+2024-12-18T15:56:26: > node tg_factory_main.js
+2024-12-18T15:56:26: 
+2024-12-18T15:56:28: Connected to Redis
+2024-12-18T15:58:14: 
+2024-12-18T15:58:14: > heiyan@1.0.0 start
+2024-12-18T15:58:14: > node tg_factory_main.js
+2024-12-18T15:58:14: 
+2024-12-18T15:58:15: Connected to Redis
+2024-12-18T15:59:34: 
+2024-12-18T15:59:34: > heiyan@1.0.0 start
+2024-12-18T15:59:34: > node tg_factory_main.js
+2024-12-18T15:59:34: 
+2024-12-18T15:59:36: Connected to Redis
+2024-12-18T16:00:44: 
+2024-12-18T16:00:44: > heiyan@1.0.0 start
+2024-12-18T16:00:44: > node tg_factory_main.js
+2024-12-18T16:00:44: 
+2024-12-18T16:00:45: Connected to Redis
+2024-12-18T16:03:29: 
+2024-12-18T16:03:29: > heiyan@1.0.0 start
+2024-12-18T16:03:29: > node tg_factory_main.js
+2024-12-18T16:03:29: 
+2024-12-18T16:03:31: Connected to Redis
+=======
 2024-12-18T11:27:57: 
 2024-12-18T11:27:57: > heiyan@1.0.0 start
 2024-12-18T11:27:57: > node tg_factory_main.js
@@ -59,8 +111,12 @@
 2024-12-18T11:42:05: > node tg_factory_main.js
 2024-12-18T11:42:05: 
 2024-12-18T11:42:07: Connected to Redis
+<<<<<<< HEAD
 2024-12-18T15:06:25: 
 2024-12-18T15:06:25: > heiyan@1.0.0 start
 2024-12-18T15:06:25: > node tg_factory_main.js
 2024-12-18T15:06:25: 
 2024-12-18T15:06:27: Connected to Redis
+=======
+>>>>>>> 00ba653f319526a1e1669088c2f9939d990d60b5
+>>>>>>> 8ee3f88ea1e7358f716a166ceb1dc0f22d73ad3a

+ 61 - 0
logs/out.log

@@ -1,3 +1,60 @@
+<<<<<<< HEAD
+2024-12-18T11:22:42: 
+2024-12-18T11:22:42: > heiyan@1.0.0 start
+2024-12-18T11:22:42: > node tg_factory_main.js
+2024-12-18T11:22:42: 
+2024-12-18T11:22:44: Connected to Redis
+2024-12-18T15:41:13: 
+2024-12-18T15:41:13: > heiyan@1.0.0 start
+2024-12-18T15:41:13: > node tg_factory_main.js
+2024-12-18T15:41:13: 
+2024-12-18T15:41:15: Connected to Redis
+2024-12-18T15:46:22: 
+2024-12-18T15:46:22: > heiyan@1.0.0 start
+2024-12-18T15:46:22: > node tg_factory_main.js
+2024-12-18T15:46:22: 
+2024-12-18T15:46:24: Connected to Redis
+2024-12-18T15:51:56: 
+2024-12-18T15:51:56: > heiyan@1.0.0 start
+2024-12-18T15:51:56: > node tg_factory_main.js
+2024-12-18T15:51:56: 
+2024-12-18T15:51:57: Connected to Redis
+2024-12-18T15:53:08: 
+2024-12-18T15:53:08: > heiyan@1.0.0 start
+2024-12-18T15:53:08: > node tg_factory_main.js
+2024-12-18T15:53:08: 
+2024-12-18T15:53:09: Connected to Redis
+2024-12-18T15:55:19: 
+2024-12-18T15:55:19: > heiyan@1.0.0 start
+2024-12-18T15:55:19: > node tg_factory_main.js
+2024-12-18T15:55:19: 
+2024-12-18T15:55:20: Connected to Redis
+2024-12-18T15:56:26: 
+2024-12-18T15:56:26: > heiyan@1.0.0 start
+2024-12-18T15:56:26: > node tg_factory_main.js
+2024-12-18T15:56:26: 
+2024-12-18T15:56:28: Connected to Redis
+2024-12-18T15:58:14: 
+2024-12-18T15:58:14: > heiyan@1.0.0 start
+2024-12-18T15:58:14: > node tg_factory_main.js
+2024-12-18T15:58:14: 
+2024-12-18T15:58:15: Connected to Redis
+2024-12-18T15:59:34: 
+2024-12-18T15:59:34: > heiyan@1.0.0 start
+2024-12-18T15:59:34: > node tg_factory_main.js
+2024-12-18T15:59:34: 
+2024-12-18T15:59:36: Connected to Redis
+2024-12-18T16:00:44: 
+2024-12-18T16:00:44: > heiyan@1.0.0 start
+2024-12-18T16:00:44: > node tg_factory_main.js
+2024-12-18T16:00:44: 
+2024-12-18T16:00:45: Connected to Redis
+2024-12-18T16:03:29: 
+2024-12-18T16:03:29: > heiyan@1.0.0 start
+2024-12-18T16:03:29: > node tg_factory_main.js
+2024-12-18T16:03:29: 
+2024-12-18T16:03:31: Connected to Redis
+=======
 2024-12-18T11:35:02: 
 2024-12-18T11:35:02: > heiyan@1.0.0 start
 2024-12-18T11:35:02: > node tg_factory_main.js
@@ -8,8 +65,12 @@
 2024-12-18T11:42:05: > node tg_factory_main.js
 2024-12-18T11:42:05: 
 2024-12-18T11:42:07: Connected to Redis
+<<<<<<< HEAD
 2024-12-18T15:06:25: 
 2024-12-18T15:06:25: > heiyan@1.0.0 start
 2024-12-18T15:06:25: > node tg_factory_main.js
 2024-12-18T15:06:25: 
 2024-12-18T15:06:27: Connected to Redis
+=======
+>>>>>>> 00ba653f319526a1e1669088c2f9939d990d60b5
+>>>>>>> 8ee3f88ea1e7358f716a166ceb1dc0f22d73ad3a

+ 8 - 3
src/api/fq/create_fanqie_book_link.js

@@ -6,7 +6,7 @@ const CMD = {}
 //index=第几章开始生成推广链。
 //promotion_name=推广链接名称
 //media_source=快应用:1 字节、2 腾讯、6 vivo,不填默认字节;H5:不需要填写 短剧:1 字节、3 快手 4 微信
-CMD.send = async function(book_id,index=1,promotion_name="",media_source=1,recharge_template_id,call_back){
+CMD.send = async function(book_id,index=1,promotion_name="",media_source=1,recharge_template_id,ad_callback_config_id,call_back){
     var distributorId = config.fanqie_config.distributorId;
     var secretKey = config.fanqie_config.secretKey;
     const postData = {
@@ -17,11 +17,16 @@ CMD.send = async function(book_id,index=1,promotion_name="",media_source=1,recha
         index:index,
         promotion_name:promotion_name,
         media_source:media_source,
-        recharge_template_id:recharge_template_id
+        recharge_template_id:recharge_template_id,
+        ad_callback_config_id:ad_callback_config_id
     };
+    let ad_callback_config_id_param = ""
+    if(postData.ad_callback_config_id!=""){
+        ad_callback_config_id_param = `&ad_callback_config_id=${postData.ad_callback_config_id}`
+    }
     var url = config.fanqie_config.create_link_host
     var base_params = `/?distributor_id=${postData.distributor_id}&ts=${postData.ts}&sign=${postData.sign}`
-    var other_params = `&book_id=${postData.book_id}&index=${postData.index}&promotion_name=${postData.promotion_name}&media_source=${postData.media_source}&recharge_template_id=${postData.recharge_template_id}`
+    var other_params = `&book_id=${postData.book_id}&index=${postData.index}&promotion_name=${postData.promotion_name}&media_source=${postData.media_source}&recharge_template_id=${postData.recharge_template_id}${ad_callback_config_id_param}`
     let clinet = new HttpClient()
     try{
         let response = await clinet.request(`${url}${base_params}${other_params}`)

+ 37 - 0
src/api/fq/get_fq_call_back_template.js

@@ -0,0 +1,37 @@
+const tools = require('../../../tools');
+const helper = require('../../helper');
+const config = require('../../../etc/config.json');
+const { default: axios } = require('axios');
+const CMD = {}
+CMD.get_callback_template = async function () {
+    try{
+        var distributorId = config.fanqie_config.distributorId;
+        var secretKey = config.fanqie_config.secretKey;
+        const postData = {
+            distributor_id: distributorId,
+            ts: helper.getCurrentUnixTimestamp(),
+            sign: helper.getSign(distributorId,secretKey),
+            page_index: 0,
+            page_size:100,
+            media_source:1
+        };
+        // console.log("get_recharge_template:")
+        var url = config.fanqie_config.callbacklist_host
+        var base_params = `/?distributor_id=${postData.distributor_id}&ts=${postData.ts}&sign=${postData.sign}`
+        var other_params = `&page_index=${postData.page_index}&page_size=${postData.page_size}&media_source=${postData.media_source}`
+    
+        let response =  await axios.get(`${url}${base_params}${other_params}`)
+    
+        let data  = response.data
+        if(data.code==200){
+            // console.log('get_callback_template config_list:',data.config_list);
+            return data.config_list
+        }else{
+            throw response;
+        }
+    }catch(error){
+        console.error("get_fq_rechargeTemplate error:",error)
+        return null
+    }
+}
+module.exports = CMD;