shawenguan 1 anno fa
parent
commit
7eb5379b1e
1 ha cambiato i file con 54 aggiunte e 10 eliminazioni
  1. 54 10
      Scripts/smzdm/smzdmHelper.js

+ 54 - 10
Scripts/smzdm/smzdmHelper.js

@@ -427,8 +427,7 @@ function getWebUserInfo() {
     });
 }
 
-// 每日抽奖
-function lotteryDraw() {
+function getLotteryDrawActiveId() {
     return new Promise(async (resolve, reject) => {
         let activeId = "";
         await magicJS.http.get({
@@ -448,12 +447,51 @@ function lotteryDraw() {
                     );
                 if (_activeId) {
                     activeId = _activeId[1];
+                    resolve(activeId);
                 } else {
                     magicJS.logger.warning(`获取每日抽奖activeId失败`);
+                    resolve(null);
                 }
             }).catch((err) => {
                 magicJS.logger.error(`获取每日抽奖activeId失败,${err}`);
+                resolve(null);
+            });
+    });
+}
+
+// 获取活动信息
+function getLotteryActiveInfo(activeId){
+    return new Promise(async (resolve, reject) => {
+        await magicJS.http.get({
+                url: `https://zhiyou.smzdm.com/user/lottery/jsonp_get_active_info?callback=jQuery34107329945181552622_${new Date().getTime()}&active_id=${activeId}&_=${new Date().getTime()}`,
+                headers: {
+                    Accept: "*/*",
+                    "Accept-Encoding": "gzip, deflate, br",
+                    "Accept-Language": "zh-cn",
+                    Connection: "keep-alive",
+                    Host: "zhiyou.smzdm.com",
+                    Referer: "https://m.smzdm.com/zhuanti/life/choujiang/",
+                    "User-Agent": mixUserAgent,
+                },
+            }).then((resp) => {
+                let data = /\((.*)\)/.exec(resp.body);
+                let obj = JSON.parse(data[1]);
+                if (obj["error_code"] === 0) {
+                    resolve(obj.data);
+                } else {
+                    magicJS.logger.error(`获取抽奖活动数据失败,接口响应异常:${data}`);
+                    resolve(null);
+                }
+            }).catch((err) => {
+                magicJS.logger.error(`获取抽奖活动数据失败,${err}`);
+                resolve(null);
             });
+    });
+}
+
+// 每日抽奖
+function lotteryDraw(activeId) {
+    return new Promise(async (resolve, reject) => {
         if (!!activeId) {
             await magicJS.http.get({
                     url: `https://zhiyou.smzdm.com/user/lottery/jsonp_draw?callback=jQuery34109305207178886287_${new Date().getTime()}&active_id=${activeId}&_=${new Date().getTime()}`,
@@ -483,6 +521,8 @@ function lotteryDraw() {
                     magicJS.logger.error(`每日抽奖失败,${err}`);
                     resolve("每日抽奖失败,接口/执行异常");
                 });
+        }else{
+            resolve("每日抽奖失败,不存在活动ID");
         }
     });
 }
@@ -617,7 +657,7 @@ async function multiUsersSignIn() {
                         }
                     }
                 }else{
-                    magicJS.logger.info('今日已经签到,无法重复签到');
+                    magicJS.logger.info('今日已经签到,无签到');
                 }
             }
 
@@ -638,13 +678,17 @@ async function multiUsersSignIn() {
                 }
             }
 
-            // // 抽奖
-            // if (magicJS.data.read(smzdmLotteryKey, true) === true) {
-            //     const msg = await lotteryDraw();
-            //     content += !!content ? "\n" : "";
-            //     content += msg;
-            //     magicJS.logger.info(msg);
-            // }
+            // 抽奖
+            if (magicJS.data.read(smzdmLotteryKey, true) === true) {
+                let activityId = await getLotteryDrawActiveId();
+                const activityData = await getLotteryActiveInfo(activityId);
+                magicJS.logger.info(`activityId=${activityId}\n${JSON.stringify(activityData)}`);
+
+                const msg = await lotteryDraw(activityId);
+                content += !!content ? "\n" : "";
+                content += msg;
+                magicJS.logger.info(msg);
+            }
 
             // 休眠
             await magicJS.utils.sleep(3000);