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

+ 150 - 150
Scripts/smzdm/smzdmHelper.js

@@ -183,157 +183,157 @@ function webSignin() {
     });
 }
 
-// function androidSignin(username) {
-//     return new Promise(async (resolve, reject) => {
-//         const smzdmToken = currentCookie.slice(5);
-//         const smzdmKey = 'apr1$AwP!wRRT$gJ/q.X24poeBInlUJC';
-//         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);
-//         await magicJS.http.post({
-//             url: "https://user-api.smzdm.com/checkin",
-//             headers: {
-//                 'User-Agent': appUserAgent,
-//                 'Accept-Language': 'zh-Hans-CN;q=1',
-//                 'Accept-Encoding': 'gzip, deflate, br',
-//                 'Connection': 'Keep-Alive',
-//                 'request_key': randomStr(18),
-//                 'Content-Type': 'application/x-www-form-urlencoded'
-//             },
-//             body: `sk=${username}&sign=${sign}&weixin=1&v=9.9.12&captcha=&f=android&token=${encodeURIComponent(smzdmToken)}&touchstone_event=&time=${outcome}000`,
-//         }).then(resp => {
-//             let obj = resp.body;
-//             if (typeof obj === "string") {
-//                 obj = JSON.parse(obj);
-//             }
-//             if (obj["error_code"] === "0" && obj["error_msg"].indexOf("签到成功") > -1) {
-//                 magicJS.logger.info("Android端签到成功");
-//                 resolve([true, "Android端签到成功"]);
-//             } else if (obj["error_code"] === "0" && obj["error_msg"] === "已签到") {
-//                 magicJS.logger.info("Android端重复签到");
-//                 resolve([true, "Android端重复签到"]);
-//             } else {
-//                 magicJS.logger.warning(`Android端签到出现异常,接口返回数据不合法:${obj}`);
-//                 reject("Android端签到异常");
-//             }
-//         })
-//     });
-// }
+function androidSignin(username) {
+    return new Promise(async (resolve, reject) => {
+        const smzdmToken = currentCookie.slice(5);
+        const smzdmKey = 'apr1$AwP!wRRT$gJ/q.X24poeBInlUJC';
+        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);
+        await magicJS.http.post({
+            url: "https://user-api.smzdm.com/checkin",
+            headers: {
+                'User-Agent': appUserAgent,
+                'Accept-Language': 'zh-Hans-CN;q=1',
+                'Accept-Encoding': 'gzip, deflate, br',
+                'Connection': 'Keep-Alive',
+                'request_key': randomStr(18),
+                'Content-Type': 'application/x-www-form-urlencoded'
+            },
+            body: `sk=${username}&sign=${sign}&weixin=1&v=9.9.12&captcha=&f=android&token=${encodeURIComponent(smzdmToken)}&touchstone_event=&time=${outcome}000`,
+        }).then(resp => {
+            let obj = resp.body;
+            if (typeof obj === "string") {
+                obj = JSON.parse(obj);
+            }
+            if (obj["error_code"] === "0" && obj["error_msg"].indexOf("签到成功") > -1) {
+                magicJS.logger.info("Android端签到成功");
+                resolve([true, "Android端签到成功"]);
+            } else if (obj["error_code"] === "0" && obj["error_msg"] === "已签到") {
+                magicJS.logger.info("Android端重复签到");
+                resolve([true, "Android端重复签到"]);
+            } else {
+                magicJS.logger.warning(`Android端签到出现异常,接口返回数据不合法:${obj}`);
+                reject("Android端签到异常");
+            }
+        })
+    });
+}
 
-// // 获取用户信息
-// function getWebUserInfo() {
-//     let userInfo = {
-//         smzdm_id: null, // 什么值得买Id
-//         nick_name: null, // 昵称
-//         avatar: null, // 头像链接
-//         has_checkin: null, // 是否签到
-//         daily_checkin_num: null, // 连续签到天数
-//         unread_msg: null, // 未读消息
-//         level: null, // 旧版等级
-//         vip: null, // 新版VIP等级
-//         exp: null, // 旧版经验
-//         point: null, // 积分
-//         gold: null, // 金币
-//         silver: null, // 碎银子
-//         prestige: null, // 威望
-//         user_point_list: [], // 近期经验变动情况
-//         blackroom_desc: "",
-//         blackroom_level: "",
-//     };
-//     return new Promise(async (resolve) => {
-//         // 获取旧版用户信息
-//         await magicJS.http.get({
-//                 url: `https://zhiyou.smzdm.com/user/info/jsonp_get_current?with_avatar_ornament=1&callback=jQuery112403507528653716241_${new Date().getTime()}&_=${new Date().getTime()}`,
-//                 headers: {
-//                     Accept: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01",
-//                     "Accept-Language": "zh-CN,zh;q=0.9",
-//                     Connection: "keep-alive",
-//                     Host: "zhiyou.smzdm.com",
-//                     Referer: "https://zhiyou.smzdm.com/user/",
-//                     "User-Agent": webUserAgent,
-//                 },
-//             }).then((resp) => {
-//                 let obj = JSON.parse(/\((.*)\)/.exec(resp.body)[1]);
-//                 if (obj["smzdm_id"] !== 0) {
-//                     userInfo.smzdm_id = obj["smzdm_id"];
-//                     userInfo.nick_name = obj["nickname"]; // 昵称
-//                     userInfo.avatar = `https:${obj["avatar"]}`; // 头像链接
-//                     userInfo.has_checkin = obj["checkin"]["has_checkin"]; // 是否签到
-//                     userInfo.daily_checkin_num = obj["checkin"]["daily_checkin_num"]; // 连续签到天数
-//                     userInfo.unread_msg = obj["unread"]["notice"]["num"]; // 未读消息数
-//                     userInfo.level = obj["level"]; // 旧版等级
-//                     userInfo.vip = obj["vip_level"]; // 新版VIP等级
-//                     userInfo.blackroom_desc = obj["blackroom_desc"]; // 小黑屋描述
-//                     userInfo.blackroom_desc = obj["blackroom_level"]; // 小黑屋等级
-//                     // userInfo.exp = obj['exp'] // 旧版经验
-//                     // userInfo.point = obj['point'] // 积分
-//                     // userInfo.gold = obj['gold'] // 金币
-//                     // userInfo.silver = obj['silver'] // 碎银子
-//                 } else {
-//                     magicJS.logger.warning(
-//                         `获取用户信息异常,Cookie过期或接口变化:${JSON.stringify(obj)}`
-//                     );
-//                 }
-//             }).catch((err) => {
-//                 magicJS.logger.error(`获取用户信息异常,${err}`);
-//             });
-//         // 获取新版用户信息
-//         await magicJS.http.get({
-//                 url: "https://zhiyou.smzdm.com/user/exp/",
-//                 body: "",
-//             }).then((resp) => {
-//                 const data = resp.body;
-//                 // 获取用户名
-//                 userInfo.nick_name = data
-//                     .match(
-//                         /info-stuff-nickname.*zhiyou\.smzdm\.com\/user[^<]*>([^<]*)</
-//                     )[1]
-//                     .trim();
-//                 // 获取近期经验变动情况
-//                 const pointTimeList = data.match(
-//                     /<div class="scoreLeft">(.*)<\/div>/gi
-//                 );
-//                 const pointDetailList = data.match(
-//                     /<div class=['"]scoreRight ellipsis['"]>(.*)<\/div>/gi
-//                 );
-//                 const minLength =
-//                     pointTimeList.length > pointDetailList.length ?
-//                     pointDetailList.length :
-//                     pointTimeList.length;
-//                 let userPointList = [];
-//                 for (let i = 0; i < minLength; i++) {
-//                     userPointList.push({
-//                         time: pointTimeList[i].match(
-//                             /\<div class=['"]scoreLeft['"]\>(.*)\<\/div\>/
-//                         )[1],
-//                         detail: pointDetailList[i].match(
-//                             /\<div class=['"]scoreRight ellipsis['"]\>(.*)\<\/div\>/
-//                         )[1],
-//                     });
-//                 }
-//                 userInfo.user_point_list = userPointList;
-//                 // 获取用户资源
-//                 const assetsNumList = data.match(/assets-part[^<]*>(.*)</gi);
-//                 userInfo.point = Number(
-//                     assetsNumList[0].match(/assets-num[^<]*>(.*)</)[1]
-//                 ); // 积分
-//                 userInfo.exp = Number(
-//                     assetsNumList[2].match(/assets-num[^<]*>(.*)</)[1]
-//                 ); // 经验
-//                 userInfo.gold = Number(
-//                     assetsNumList[4].match(/assets-num[^<]*>(.*)</)[1]
-//                 ); // 金币
-//                 userInfo.silver = Number(
-//                     assetsNumList[6].match(/assets-num[^<]*>(.*)</)[1]
-//                 ); // 碎银子
-//             }).catch((err) => {
-//                 magicJS.logger.error(`获取新版用户信息出现异常,${err}`);
-//             });
-//         // 返回结果
-//         resolve(userInfo);
-//     });
-// }
+// 获取用户信息
+function getWebUserInfo() {
+    let userInfo = {
+        smzdm_id: null, // 什么值得买Id
+        nick_name: null, // 昵称
+        avatar: null, // 头像链接
+        has_checkin: null, // 是否签到
+        daily_checkin_num: null, // 连续签到天数
+        unread_msg: null, // 未读消息
+        level: null, // 旧版等级
+        vip: null, // 新版VIP等级
+        exp: null, // 旧版经验
+        point: null, // 积分
+        gold: null, // 金币
+        silver: null, // 碎银子
+        prestige: null, // 威望
+        user_point_list: [], // 近期经验变动情况
+        blackroom_desc: "",
+        blackroom_level: "",
+    };
+    return new Promise(async (resolve) => {
+        // 获取旧版用户信息
+        await magicJS.http.get({
+                url: `https://zhiyou.smzdm.com/user/info/jsonp_get_current?with_avatar_ornament=1&callback=jQuery112403507528653716241_${new Date().getTime()}&_=${new Date().getTime()}`,
+                headers: {
+                    Accept: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01",
+                    "Accept-Language": "zh-CN,zh;q=0.9",
+                    Connection: "keep-alive",
+                    Host: "zhiyou.smzdm.com",
+                    Referer: "https://zhiyou.smzdm.com/user/",
+                    "User-Agent": webUserAgent,
+                },
+            }).then((resp) => {
+                let obj = JSON.parse(/\((.*)\)/.exec(resp.body)[1]);
+                if (obj["smzdm_id"] !== 0) {
+                    userInfo.smzdm_id = obj["smzdm_id"];
+                    userInfo.nick_name = obj["nickname"]; // 昵称
+                    userInfo.avatar = `https:${obj["avatar"]}`; // 头像链接
+                    userInfo.has_checkin = obj["checkin"]["has_checkin"]; // 是否签到
+                    userInfo.daily_checkin_num = obj["checkin"]["daily_checkin_num"]; // 连续签到天数
+                    userInfo.unread_msg = obj["unread"]["notice"]["num"]; // 未读消息数
+                    userInfo.level = obj["level"]; // 旧版等级
+                    userInfo.vip = obj["vip_level"]; // 新版VIP等级
+                    userInfo.blackroom_desc = obj["blackroom_desc"]; // 小黑屋描述
+                    userInfo.blackroom_desc = obj["blackroom_level"]; // 小黑屋等级
+                    // userInfo.exp = obj['exp'] // 旧版经验
+                    // userInfo.point = obj['point'] // 积分
+                    // userInfo.gold = obj['gold'] // 金币
+                    // userInfo.silver = obj['silver'] // 碎银子
+                } else {
+                    magicJS.logger.warning(
+                        `获取用户信息异常,Cookie过期或接口变化:${JSON.stringify(obj)}`
+                    );
+                }
+            }).catch((err) => {
+                magicJS.logger.error(`获取用户信息异常,${err}`);
+            });
+        // 获取新版用户信息
+        await magicJS.http.get({
+                url: "https://zhiyou.smzdm.com/user/exp/",
+                body: "",
+            }).then((resp) => {
+                const data = resp.body;
+                // 获取用户名
+                userInfo.nick_name = data
+                    .match(
+                        /info-stuff-nickname.*zhiyou\.smzdm\.com\/user[^<]*>([^<]*)</
+                    )[1]
+                    .trim();
+                // 获取近期经验变动情况
+                const pointTimeList = data.match(
+                    /<div class="scoreLeft">(.*)<\/div>/gi
+                );
+                const pointDetailList = data.match(
+                    /<div class=['"]scoreRight ellipsis['"]>(.*)<\/div>/gi
+                );
+                const minLength =
+                    pointTimeList.length > pointDetailList.length ?
+                    pointDetailList.length :
+                    pointTimeList.length;
+                let userPointList = [];
+                for (let i = 0; i < minLength; i++) {
+                    userPointList.push({
+                        time: pointTimeList[i].match(
+                            /\<div class=['"]scoreLeft['"]\>(.*)\<\/div\>/
+                        )[1],
+                        detail: pointDetailList[i].match(
+                            /\<div class=['"]scoreRight ellipsis['"]\>(.*)\<\/div\>/
+                        )[1],
+                    });
+                }
+                userInfo.user_point_list = userPointList;
+                // 获取用户资源
+                const assetsNumList = data.match(/assets-part[^<]*>(.*)</gi);
+                userInfo.point = Number(
+                    assetsNumList[0].match(/assets-num[^<]*>(.*)</)[1]
+                ); // 积分
+                userInfo.exp = Number(
+                    assetsNumList[2].match(/assets-num[^<]*>(.*)</)[1]
+                ); // 经验
+                userInfo.gold = Number(
+                    assetsNumList[4].match(/assets-num[^<]*>(.*)</)[1]
+                ); // 金币
+                userInfo.silver = Number(
+                    assetsNumList[6].match(/assets-num[^<]*>(.*)</)[1]
+                ); // 碎银子
+            }).catch((err) => {
+                magicJS.logger.error(`获取新版用户信息出现异常,${err}`);
+            });
+        // 返回结果
+        resolve(userInfo);
+    });
+}
 
 // // 每日抽奖
 // function lotteryDraw() {