904118851 8 bulan lalu
induk
melakukan
c9f6a8c4f9
7 mengubah file dengan 137 tambahan dan 32 penghapusan
  1. 5 1
      .gitignore
  2. 52 29
      5_CREATE_LINK_FACTORY/hy_create_link.js
  3. 3 0
      logs/combined.log
  4. 3 0
      logs/out.log
  5. 13 0
      src/HttpClient.js
  6. 24 0
      src/helper.js
  7. 37 2
      tg_factory_main.js

+ 5 - 1
.gitignore

@@ -1,2 +1,6 @@
 logs/
-
+src/api/hy/qr.gif
+src/api/hy/qr_resized.gif
+# 忽略所有 .log 文件
+*.log
+*.out

+ 52 - 29
5_CREATE_LINK_FACTORY/hy_create_link.js

@@ -5,6 +5,8 @@ let get_hy_recharge_template = require('../src/api/hy/get_hy_recharge_template')
 let get_hy_paid_point = require('../src/api/hy/get_hy_paid_point')
 let get_hy_call_back_template = require('../src/api/hy/get_hy_call_back_template');
 const tools = require('../tools');
+const HttpClient = require('../src/HttpClient');
+const helper = require('../src/helper');
 //卡点
 function get_paid_point(book_id,kadian_name,call_back){
   let chapter_num = parseInt(kadian_name)
@@ -61,7 +63,7 @@ function get_recharge_template(book_id,chongzhi_name,call_back){
         }
     })
 }
-CMD.   = function(data,main_info,PlatformInfo,call_back){
+CMD.runTask = function(data,main_info,PlatformInfo,call_back){
   // console.log("data:",data)
   // console.log("PlatformInfo:",PlatformInfo)
   // console.log("main_info:",main_info.tg_link_config)
@@ -112,37 +114,58 @@ CMD.   = function(data,main_info,PlatformInfo,call_back){
   // start_page: 'pages/readPage/chapter',
   // start_param: 'pid=1809545659599544322&bookId=1849369533770342401&linkId=1860983668277948418&channels=4&hyChannel=1'
   let create_hy_link = async () =>{
-    let topUpTemplateId = tg_config.chongzhi_key;  //充值模板
-    let passBackTemplateId = tg_config.huichuan_key; //回传模板
-    let paidPoint = tg_config.kadian_key; //卡点
-    console.log("tg_config:",tg_config)
-    const postData = {
-      cmd:"create_link",
-      name:data.product_name,
-      bookId:data.product_id,
-      topUpTemplateId:topUpTemplateId,
-      passBackTemplateId:passBackTemplateId,
-      paidPoint:paidPoint,
-      token:await tools.getHyToken()
-    };
+      let topUpTemplateId = tg_config.chongzhi_key;  //充值模板
+      let passBackTemplateId = tg_config.huichuan_key; //回传模板
+      let paidPoint = tg_config.kadian_key; //卡点
+      console.log("tg_config:",tg_config)
+      try{
+        let clinet = new HttpClient()
+        const postData = {
+          cmd:"create_link",
+          name:data.product_name,
+          bookId:data.product_id,
+          topUpTemplateId:topUpTemplateId,
+          passBackTemplateId:passBackTemplateId,
+          paidPoint:paidPoint,
+          token:await tools.getHyToken()
+        };
+        let data = {
+          "name": postData.name,
+          "bookId": postData.bookId,
+          "passBackTemplateId":  postData.passBackTemplateId,
+          "adPassbackTemplateId": "",
+          "topUpTemplateId": postData.topUpTemplateId,
+          "mediaChannel": "1",
+          "group": "35", 
+          "paidPoint": postData.paidPoint,
+          "site": "5" 
+        }
+        let res =  await clinet.otherPost( helper.getHyCreateLinkOpt(postData.token) ,data)
+        console.log("res:",res)
+    
+        let response = {
+            "message": "create_link successfully",
+            "received_data":{"originalId":res["data"]["originalId"],
+                            "appId":res["data"]["appId"],
+                            "launchPath":res["data"]["launchPath"],
+                            "fullPath":res["data"]["fullPath"],
+                            "wxMountLink":res["data"]["wxMountLink"]}
+        }
     
-    axios.post('http://127.0.0.1:8080', postData)
-      .then(response => {
-          let params = response.data.received_data.fullPath.split('?')
-          // let appId = response.data.data.appId
-          let start_page = params[0]
-          let start_param = params[1]
-          const linkId = start_param.match(/linkId=([^&]*)/)[1];
-          data.promotion_id = linkId
-          data.start_page = start_page
-          data.start_param = start_param
-          // console.log("response.data.received_data:",response.data.received_data)
-          call_back(data) 
-      })
-      .catch(error => {
+        let params = response.data.received_data.fullPath.split('?')
+        // let appId = response.data.data.appId
+        let start_page = params[0]
+        let start_param = params[1]
+        const linkId = start_param.match(/linkId=([^&]*)/)[1];
+        data.promotion_id = linkId
+        data.start_page = start_page
+        data.start_param = start_param
+        // console.log("response.data.received_data:",response.data.received_data)
+        call_back(data) 
+      }catch(e){
         call_back(null)
         console.error('There was an error!', error);
-    });
+      }
   }
   let count_num = ()=>{
       num++;

+ 3 - 0
logs/combined.log

@@ -1,4 +1,5 @@
 <<<<<<< HEAD
+<<<<<<< HEAD
 2024-12-05T20:54:06: 
 2024-12-05T20:54:06: > heiyan@1.0.0 start
 2024-12-05T20:54:06: > node tg_factory_main.js
@@ -79,3 +80,5 @@
 2024-12-06T14:41:18: 
 2024-12-06T14:41:20: Connected to Redis
 2024-12-06T14:41:20: results: null
+=======
+>>>>>>> 84399fb962704626f9f56665e03653148e5be0dd

+ 3 - 0
logs/out.log

@@ -1,4 +1,5 @@
 <<<<<<< HEAD
+<<<<<<< HEAD
 2024-12-05T19:47:58: 
 > heiyan@1.0.0 start
 > node tg_factory_main.js
@@ -403,3 +404,5 @@
 2024-12-06T14:41:18: 
 2024-12-06T14:41:20: Connected to Redis
 2024-12-06T14:41:20: results: null
+=======
+>>>>>>> 84399fb962704626f9f56665e03653148e5be0dd

+ 13 - 0
src/HttpClient.js

@@ -72,6 +72,19 @@ class HttpClient {
         }
     }
 
+    // POST 方法
+    async otherPost(options,data) {
+        try {
+            const response = await this.client.post(options.url, data, {
+                headers:options.headers
+            });
+            return response.data;
+        } catch (error) {
+            this.handleError(error);
+            throw error;
+        }
+    }
+
     async proxyRequest(options){
         try{
             let tunnelHost = 'd528.kdltps.com'

+ 24 - 0
src/helper.js

@@ -42,4 +42,28 @@ helper.getFqRequestOpt = function(key){
       };
     return options
 }
+helper.getHyCreateLinkOpt = function(token){
+    const options = {
+        url: `https://ms.zhangwenpindu.cn/manage/distribution/createLink`,
+        headers:  {
+            'Accept': 'application/json, text/plain, */*',
+            'Accept-Language': 'zh-CN,zh;q=0.9',
+            'Cache-Control': 'no-cache',
+            'Connection': 'keep-alive',
+            'Content-Type': 'application/x-www-form-urlencoded',
+            'Origin': 'https://manage.zhangwenpindu.cn',
+            'Pragma': 'no-cache',
+            'Referer': 'https://manage.zhangwenpindu.cn/',
+            'Sec-Fetch-Dest': 'empty',
+            'Sec-Fetch-Mode': 'cors',
+            'Sec-Fetch-Site': 'same-site',
+            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36',
+            'sec-ch-ua': '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
+            'sec-ch-ua-mobile': '?0',
+            'sec-ch-ua-platform': '"Windows"'
+        }
+    };
+    options.headers['Authorization'] = `Bearer ${token}`
+    return options
+}
 module.exports = helper;

+ 37 - 2
tg_factory_main.js

@@ -5,16 +5,51 @@ const ProcessManager = require('./ProcessManager');
 const helper = require('./src/helper');
 const HttpClient = require('./src/HttpClient');
 const redis_help = require('./src/use_redis'); 
+const tools = require('./tools');
 redis_help.connect( async (results)=>{
     if(results){
         // main()
         console.log("results:",await redis_help.getKeyValue("isPauseTask"))
     }
 })
+// let main = async function(){
+//     let test = new HttpClient()
+//     const postData = {
+//         cmd:"create_link",
+//         name:"台风夜老婆去救男秘书",
+//         bookId:"1848991033902665730",
+//         topUpTemplateId:"1854833762266247169",
+//         passBackTemplateId:"6",
+//         paidPoint:0,
+//         token:await tools.getHyToken()
+//     };
+
+//     let data = {
+//         "name": postData.name,
+//         "bookId": postData.bookId,
+//         "passBackTemplateId":  postData.passBackTemplateId,
+//         "adPassbackTemplateId": "",
+//         "topUpTemplateId": postData.topUpTemplateId,
+//         "mediaChannel": "1",
+//         "group": "35", 
+//         "paidPoint": postData.paidPoint,
+//         "site": "5" 
+//     }
+//     let res =  await test.otherPost( helper.getHyCreateLinkOpt(postData.token) ,data)
+//     console.log("res:",res)
+
+//     let response = {
+//         "message": "create_link successfully",
+//         "received_data":{"originalId":res["data"]["originalId"],
+//                          "appId":res["data"]["appId"],
+//                          "launchPath":res["data"]["launchPath"],
+//                          "fullPath":res["data"]["fullPath"],
+//                          "wxMountLink":res["data"]["wxMountLink"]}
+//     }
+//     console.log("response:",response)
+// }
 
 
-// let test = new HttpClient()
-// test.proxyRequest( helper.getFqRequestOpt('PHV031BPQ80'))
 // var main = function(){
 //     require("./2_PRODUCT_FACTORY/PRODUCT_FACTORY")
 //     require("./5_CREATE_LINK_FACTORY/CREATE_LINK_FACTORY")