|
|
@@ -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() {
|