shawenguan 1 год назад
Родитель
Сommit
545b7f7dba
1 измененных файлов с 258 добавлено и 258 удалено
  1. 258 258
      Scripts/smzdm/smzdmHelper.js

+ 258 - 258
Scripts/smzdm/smzdmHelper.js

@@ -190,7 +190,7 @@ function androidSignin(username) {
         const outcome = Math.round(new Date().getTime() / 1000).toString();
         const rawData = `f=android&sk=${username}&time=${outcome}000&token=${smzdmToken}&v=9.9.12&weixin=1&key=${smzdmKey}`;
         let md5 = createWMd5();
-        const sign = md5..hex_md5_32Upper(rawData);
+        const sign = md5.hex_md5_32Upper(rawData);
         await magicJS.http.post({
             url: "https://user-api.smzdm.com/checkin",
             headers: {
@@ -335,263 +335,263 @@ function getWebUserInfo() {
     });
 }
 
-// // 每日抽奖
-// function lotteryDraw() {
-//     return new Promise(async (resolve, reject) => {
-//         let activeId = "";
-//         await magicJS.http.get({
-//                 url: "https://m.smzdm.com/zhuanti/life/choujiang/",
-//                 headers: {
-//                     Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
-//                     "Accept-Encoding": "gzip, deflate, br",
-//                     "Accept-Language": "zh-cn",
-//                     Connection: "keep-alive",
-//                     Host: "m.smzdm.com",
-//                     "User-Agent": mixUserAgent,
-//                 },
-//             }).then((resp) => {
-//                 let _activeId =
-//                     /name\s?=\s?\"lottery_activity_id\"\s+value\s?=\s?\"([a-zA-Z0-9]*)\"/.exec(
-//                         resp.body
-//                     );
-//                 if (_activeId) {
-//                     activeId = _activeId[1];
-//                 } else {
-//                     magicJS.logger.warning(`获取每日抽奖activeId失败`);
-//                 }
-//             }).catch((err) => {
-//                 magicJS.logger.error(`获取每日抽奖activeId失败,${err}`);
-//             });
-//         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()}`,
-//                     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 ||
-//                         obj["error_code"] === 1 ||
-//                         obj["error_code"] === 4
-//                     ) {
-//                         resolve(obj["error_msg"]);
-//                     } else {
-//                         magicJS.logger.error(`每日抽奖失败,接口响应异常:${data}`);
-//                         resolve("每日抽奖失败,接口响应异常");
-//                     }
-//                 }).catch((err) => {
-//                     magicJS.logger.error(`每日抽奖失败,${err}`);
-//                     resolve("每日抽奖失败,接口/执行异常");
-//                 });
-//         }
-//     });
-// }
-
-// // 收藏文章
-// function clickFavArticle(articleId) {
-//     return new Promise((resolve, reject) => {
-//         magicJS.http.post({
-//                 url: "https://zhiyou.smzdm.com/user/favorites/ajax_favorite",
-//                 headers: {
-//                     Accept: "application/json, text/javascript, */*; q=0.01",
-//                     "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
-//                     "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
-//                     Host: "zhiyou.smzdm.com",
-//                     Origin: "https://post.smzdm.com",
-//                     Referer: "https://post.smzdm.com/",
-//                     "User-Agent": pcUserAgent,
-//                 },
-//                 body: `article_id=${articleId}&channel_id=11&client_type=PC&event_key=%E6%94%B6%E8%97%8F&otype=%E6%94%B6%E8%97%8F&aid=${articleId}&cid=11&p=2&source=%E6%97%A0&atp=76&tagID=%E6%97%A0&sourcePage=https%3A%2F%2Fpost.smzdm.com%2F&sourceMode=%E6%97%A0`,
-//             }).then((resp) => {
-//                 const obj = resp.body;
-//                 if (obj["error_code"] === 0) {
-//                     magicJS.logger.info(`好文${articleId}收藏成功`);
-//                     resolve(true);
-//                 } else if (obj["error_code"] === 2) {
-//                     magicJS.logger.info(`好文${articleId}取消收藏成功`);
-//                     resolve(true);
-//                 } else {
-//                     magicJS.logger.error(`好文${articleId}收藏失败,${JSON.stringify(obj)}`);
-//                     resolve(false);
-//                 }
-//             }).catch((err) => {
-//                 magicJS.logger.error(`文章加入/取消收藏失败,${err}`);
-//                 reject(false);
-//             });
-//     });
-// }
-
-// // 收藏文章任务
-// function favArticles() {
-//     return new Promise(async (resolve, reject) => {
-//         let articlesId = [];
-//         let success = 0;
-//         await magicJS.http.get({
-//                 url: "https://post.smzdm.com/",
-//                 headers: {
-//                     Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
-//                     "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
-//                     Host: "post.smzdm.com",
-//                     "User-Agent": pcUserAgent,
-//                 },
-//                 body: "",
-//             }).then((resp) => {
-//                 const articleList = resp.body.match(
-//                     /data-article=".*" data-type="zan"/gi
-//                 );
-//                 articleList.forEach((element) => {
-//                     articlesId.push(
-//                         element.match(/data-article="(.*)" data-type="zan"/)[1]
-//                     );
-//                 });
-//             }).catch((err) => {
-//                 magicJS.logger.error(`获取待收藏的文章列表失败,${err}`);
-//                 reject(err);
-//             });
-//         let favArticlesId = articlesId.splice(0, clickFavArticleMaxTimes);
-//         if (favArticlesId.length > 0) {
-//             // 加入收藏与取消收藏
-//             for (let articleId of favArticlesId) {
-//                 await magicJS.utils.retry(clickFavArticle,3,500)(articleId).then((result) => {
-//                         if (result === true) {
-//                             success += 1;
-//                         }
-//                     }).catch((err) => {
-//                         magicJS.logger.error(`文章加入收藏失败,${err}`);
-//                     });
-//                 await magicJS.utils.sleep(1000);
-//                 await magicJS.utils.retry(clickFavArticle,3,500)(articleId).catch((err) => {
-//                         magicJS.logger.error(`文章取消收藏失败,${err}`);
-//                     });
-//                 await magicJS.utils.sleep(1000);
-//             }
-//         }
-//         resolve(success);
-//     });
-// }
-
-// // 多用户签到
-// async function multiUsersSignIn() {
-//     const allSessionNames = magicJS.data.allSessionNames(smzdmCookieKey);
-//     if (!allSessionNames || allSessionNames.length === 0) {
-//         magicJS.logger.error(
-//             scriptName,
-//             "",
-//             "没有发现需要签到的Cookies\n请点击通知进行登录。", {
-//                 "open-url": "https://zhiyou.smzdm.com/user/login?redirect_to=http://zhiyou.smzdm.com/user",
-//             }
-//         );
-//     } else {
-//         magicJS.logger.info(`当前共 ${allSessionNames.length} 个Cookies需要进行签到/任务。`);
-//         for (let [index, session] of allSessionNames.entries()) {
-//             magicJS.logger.info(`当前正在进行第 ${index + 1} 个Cookie签到`);
-//             // 通知信息
-//             let title = "";
-//             let subTitle = "";
-//             let content = "";
-
-//             // 获取Cookies
-//             currentCookie = magicJS.data.read(smzdmCookieKey, "", session);
-
-//             // 查询签到前用户数据
-//             const beforeUserInfo = await getWebUserInfo();
-
-//             // 每日签到
-//             if (magicJS.data.read(smzdmSigninKey, true) === true) {
-//                 // Android端签到
-//                 await magicJS.utils
-//                     .retry(androidSignin, 5, 1000)(beforeUserInfo["nick_name"])
-//                     .catch((err) => {
-//                         subTitle = `Android端签到异常: ${err}`;
-//                     });
-//             }
-
-//             // 日常任务
-//             if (magicJS.data.read(smzdmMissionKey, true) === true) {
-//                 const success = await favArticles();
-//                 const msg = `每日收藏文章任务 ${success}/${clickFavArticleMaxTimes}`;
-//                 content += !!content ? `\n${msg}` : msg;
-//                 magicJS.logger.info(msg);
-//             }
-
-//             // 抽奖
-//             if (magicJS.data.read(smzdmLotteryKey, true) === true) {
-//                 const msg = await lotteryDraw();
-//                 content += !!content ? "\n" : "";
-//                 content += msg;
-//                 magicJS.logger.info(msg);
-//             }
-
-//             // 休眠
-//             await magicJS.utils.sleep(3000);
-
-//             // 获取签到后的用户信息
-//             const afterUserInfo = await getWebUserInfo();
-
-//             title = `${scriptName} - ${afterUserInfo.nick_name} V${afterUserInfo.vip}`;
-
-//             // 检查是否黑号
-//             if (magicJS.data.read(smzdmCheckBlackRoom, false) === true && (afterUserInfo.blackroom_desc)) {
-//                 magicJS.notification.post(
-//                     title, "",
-//                     `⚠️账户已在小黑屋中,请谨慎使用脚本!\n小黑屋描述:${afterUserInfo.blackroom_desc}`
-//                 );
-//             }
-
-//             // 重复签到
-//             if (
-//                 afterUserInfo.has_checkin === true &&
-//                 beforeUserInfo.has_checkin === true
-//             ) {
-//                 subTitle = "重复签到";
-//             } else {
-//                 subTitle = `已连续签到${afterUserInfo.daily_checkin_num}天`;
-//             }
-
-//             // 记录日志
-//             let msg = `昵称:${beforeUserInfo.nick_name}\n签到状态:${afterUserInfo.has_checkin}\n签到后等级${afterUserInfo.vip},积分${afterUserInfo.point},经验${afterUserInfo.exp},金币${afterUserInfo.gold},碎银子${afterUserInfo.silver},未读消息${afterUserInfo.unread_msg}`;
-//             magicJS.logger.info(msg);
-
-//             // 通知
-//             if (beforeUserInfo.exp && afterUserInfo.exp) {
-//                 let addPoint = afterUserInfo.point - beforeUserInfo.point;
-//                 let addExp = afterUserInfo.exp - beforeUserInfo.exp;
-//                 let addGold = afterUserInfo.gold - beforeUserInfo.gold;
-//                 let addSilver = afterUserInfo.silver - beforeUserInfo.silver;
-//                 content += !!content ? "\n" : "";
-//                 content +=
-//                     "积分" +
-//                     afterUserInfo.point +
-//                     (addPoint > 0 ? "(+" + addPoint + ")" : "") +
-//                     " 经验" +
-//                     afterUserInfo.exp +
-//                     (addExp > 0 ? "(+" + addExp + ")" : "") +
-//                     " 金币" +
-//                     afterUserInfo.gold +
-//                     (addGold > 0 ? "(+" + addGold + ")" : "") +
-//                     "\n" +
-//                     "碎银子" +
-//                     afterUserInfo.silver +
-//                     (addSilver > 0 ? "(+" + addSilver + ")" : "") +
-//                     " 未读消息" +
-//                     afterUserInfo.unread_msg;
-//             }
-//             magicJS.notification.post(title, subTitle, content, {
-//                 "media-url": afterUserInfo.avatar,
-//             });
-
-//             magicJS.logger.info(`第 ${index + 1} 个Cookie签到完毕`);
-//         }
-//     }
-// }
+// 每日抽奖
+function lotteryDraw() {
+    return new Promise(async (resolve, reject) => {
+        let activeId = "";
+        await magicJS.http.get({
+                url: "https://m.smzdm.com/zhuanti/life/choujiang/",
+                headers: {
+                    Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
+                    "Accept-Encoding": "gzip, deflate, br",
+                    "Accept-Language": "zh-cn",
+                    Connection: "keep-alive",
+                    Host: "m.smzdm.com",
+                    "User-Agent": mixUserAgent,
+                },
+            }).then((resp) => {
+                let _activeId =
+                    /name\s?=\s?\"lottery_activity_id\"\s+value\s?=\s?\"([a-zA-Z0-9]*)\"/.exec(
+                        resp.body
+                    );
+                if (_activeId) {
+                    activeId = _activeId[1];
+                } else {
+                    magicJS.logger.warning(`获取每日抽奖activeId失败`);
+                }
+            }).catch((err) => {
+                magicJS.logger.error(`获取每日抽奖activeId失败,${err}`);
+            });
+        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()}`,
+                    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 ||
+                        obj["error_code"] === 1 ||
+                        obj["error_code"] === 4
+                    ) {
+                        resolve(obj["error_msg"]);
+                    } else {
+                        magicJS.logger.error(`每日抽奖失败,接口响应异常:${data}`);
+                        resolve("每日抽奖失败,接口响应异常");
+                    }
+                }).catch((err) => {
+                    magicJS.logger.error(`每日抽奖失败,${err}`);
+                    resolve("每日抽奖失败,接口/执行异常");
+                });
+        }
+    });
+}
+
+// 收藏文章
+function clickFavArticle(articleId) {
+    return new Promise((resolve, reject) => {
+        magicJS.http.post({
+                url: "https://zhiyou.smzdm.com/user/favorites/ajax_favorite",
+                headers: {
+                    Accept: "application/json, text/javascript, */*; q=0.01",
+                    "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
+                    "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
+                    Host: "zhiyou.smzdm.com",
+                    Origin: "https://post.smzdm.com",
+                    Referer: "https://post.smzdm.com/",
+                    "User-Agent": pcUserAgent,
+                },
+                body: `article_id=${articleId}&channel_id=11&client_type=PC&event_key=%E6%94%B6%E8%97%8F&otype=%E6%94%B6%E8%97%8F&aid=${articleId}&cid=11&p=2&source=%E6%97%A0&atp=76&tagID=%E6%97%A0&sourcePage=https%3A%2F%2Fpost.smzdm.com%2F&sourceMode=%E6%97%A0`,
+            }).then((resp) => {
+                const obj = resp.body;
+                if (obj["error_code"] === 0) {
+                    magicJS.logger.info(`好文${articleId}收藏成功`);
+                    resolve(true);
+                } else if (obj["error_code"] === 2) {
+                    magicJS.logger.info(`好文${articleId}取消收藏成功`);
+                    resolve(true);
+                } else {
+                    magicJS.logger.error(`好文${articleId}收藏失败,${JSON.stringify(obj)}`);
+                    resolve(false);
+                }
+            }).catch((err) => {
+                magicJS.logger.error(`文章加入/取消收藏失败,${err}`);
+                reject(false);
+            });
+    });
+}
+
+// 收藏文章任务
+function favArticles() {
+    return new Promise(async (resolve, reject) => {
+        let articlesId = [];
+        let success = 0;
+        await magicJS.http.get({
+                url: "https://post.smzdm.com/",
+                headers: {
+                    Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
+                    "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
+                    Host: "post.smzdm.com",
+                    "User-Agent": pcUserAgent,
+                },
+                body: "",
+            }).then((resp) => {
+                const articleList = resp.body.match(
+                    /data-article=".*" data-type="zan"/gi
+                );
+                articleList.forEach((element) => {
+                    articlesId.push(
+                        element.match(/data-article="(.*)" data-type="zan"/)[1]
+                    );
+                });
+            }).catch((err) => {
+                magicJS.logger.error(`获取待收藏的文章列表失败,${err}`);
+                reject(err);
+            });
+        let favArticlesId = articlesId.splice(0, clickFavArticleMaxTimes);
+        if (favArticlesId.length > 0) {
+            // 加入收藏与取消收藏
+            for (let articleId of favArticlesId) {
+                await magicJS.utils.retry(clickFavArticle,3,500)(articleId).then((result) => {
+                        if (result === true) {
+                            success += 1;
+                        }
+                    }).catch((err) => {
+                        magicJS.logger.error(`文章加入收藏失败,${err}`);
+                    });
+                await magicJS.utils.sleep(1000);
+                await magicJS.utils.retry(clickFavArticle,3,500)(articleId).catch((err) => {
+                        magicJS.logger.error(`文章取消收藏失败,${err}`);
+                    });
+                await magicJS.utils.sleep(1000);
+            }
+        }
+        resolve(success);
+    });
+}
+
+// 多用户签到
+async function multiUsersSignIn() {
+    const allSessionNames = magicJS.data.allSessionNames(smzdmCookieKey);
+    if (!allSessionNames || allSessionNames.length === 0) {
+        magicJS.logger.error(
+            scriptName,
+            "",
+            "没有发现需要签到的Cookies\n请点击通知进行登录。", {
+                "open-url": "https://zhiyou.smzdm.com/user/login?redirect_to=http://zhiyou.smzdm.com/user",
+            }
+        );
+    } else {
+        magicJS.logger.info(`当前共 ${allSessionNames.length} 个Cookies需要进行签到/任务。`);
+        for (let [index, session] of allSessionNames.entries()) {
+            magicJS.logger.info(`当前正在进行第 ${index + 1} 个Cookie签到`);
+            // 通知信息
+            let title = "";
+            let subTitle = "";
+            let content = "";
+
+            // 获取Cookies
+            currentCookie = magicJS.data.read(smzdmCookieKey, "", session);
+
+            // 查询签到前用户数据
+            const beforeUserInfo = await getWebUserInfo();
+
+            // 每日签到
+            if (magicJS.data.read(smzdmSigninKey, true) === true) {
+                // Android端签到
+                await magicJS.utils
+                    .retry(androidSignin, 5, 1000)(beforeUserInfo["nick_name"])
+                    .catch((err) => {
+                        subTitle = `Android端签到异常: ${err}`;
+                    });
+            }
+
+            // 日常任务
+            if (magicJS.data.read(smzdmMissionKey, true) === true) {
+                const success = await favArticles();
+                const msg = `每日收藏文章任务 ${success}/${clickFavArticleMaxTimes}`;
+                content += !!content ? `\n${msg}` : msg;
+                magicJS.logger.info(msg);
+            }
+
+            // 抽奖
+            if (magicJS.data.read(smzdmLotteryKey, true) === true) {
+                const msg = await lotteryDraw();
+                content += !!content ? "\n" : "";
+                content += msg;
+                magicJS.logger.info(msg);
+            }
+
+            // 休眠
+            await magicJS.utils.sleep(3000);
+
+            // 获取签到后的用户信息
+            const afterUserInfo = await getWebUserInfo();
+
+            title = `${scriptName} - ${afterUserInfo.nick_name} V${afterUserInfo.vip}`;
+
+            // 检查是否黑号
+            if (magicJS.data.read(smzdmCheckBlackRoom, false) === true && (afterUserInfo.blackroom_desc)) {
+                magicJS.notification.post(
+                    title, "",
+                    `⚠️账户已在小黑屋中,请谨慎使用脚本!\n小黑屋描述:${afterUserInfo.blackroom_desc}`
+                );
+            }
+
+            // 重复签到
+            if (
+                afterUserInfo.has_checkin === true &&
+                beforeUserInfo.has_checkin === true
+            ) {
+                subTitle = "重复签到";
+            } else {
+                subTitle = `已连续签到${afterUserInfo.daily_checkin_num}天`;
+            }
+
+            // 记录日志
+            let msg = `昵称:${beforeUserInfo.nick_name}\n签到状态:${afterUserInfo.has_checkin}\n签到后等级${afterUserInfo.vip},积分${afterUserInfo.point},经验${afterUserInfo.exp},金币${afterUserInfo.gold},碎银子${afterUserInfo.silver},未读消息${afterUserInfo.unread_msg}`;
+            magicJS.logger.info(msg);
+
+            // 通知
+            if (beforeUserInfo.exp && afterUserInfo.exp) {
+                let addPoint = afterUserInfo.point - beforeUserInfo.point;
+                let addExp = afterUserInfo.exp - beforeUserInfo.exp;
+                let addGold = afterUserInfo.gold - beforeUserInfo.gold;
+                let addSilver = afterUserInfo.silver - beforeUserInfo.silver;
+                content += !!content ? "\n" : "";
+                content +=
+                    "积分" +
+                    afterUserInfo.point +
+                    (addPoint > 0 ? "(+" + addPoint + ")" : "") +
+                    " 经验" +
+                    afterUserInfo.exp +
+                    (addExp > 0 ? "(+" + addExp + ")" : "") +
+                    " 金币" +
+                    afterUserInfo.gold +
+                    (addGold > 0 ? "(+" + addGold + ")" : "") +
+                    "\n" +
+                    "碎银子" +
+                    afterUserInfo.silver +
+                    (addSilver > 0 ? "(+" + addSilver + ")" : "") +
+                    " 未读消息" +
+                    afterUserInfo.unread_msg;
+            }
+            magicJS.notification.post(title, subTitle, content, {
+                "media-url": afterUserInfo.avatar,
+            });
+
+            magicJS.logger.info(`第 ${index + 1} 个Cookie签到完毕`);
+        }
+    }
+}
 
 Main();