/* 北京现代 (不是北京汽车) 积分换实物,积分涨的比较慢,自己决定跑不跑吧 捉域名bm2-api.bluemembers.com.cn任意包的token填到bjxdCookie里,多账户换行隔开 安卓CK需要在对应的CK后面加上#android 不加默认为IOS CK,不通用 重写:打开APP获取 [task_local] #北京现代 58 0,9-22/4 * * * https://raw.githubusercontent.com/leafTheFish/DeathNote/main/bjxd.js, tag=北京现代, enabled=true [rewrite_local] https://bm2-api.bluemembers.com.cn/v1/app/white/lovecar/banner url script-request-header https://raw.githubusercontent.com/leafTheFish/DeathNote/main/bjxd.js [MITM] hostname = bm2-api.bluemembers.com.cn 定时:一天一两次 cron: 36 7,20 * * * const $ = new Env("北京现代") */ //Tue Feb 18 2025 06:05:49 GMT+0000 (Coordinated Universal Time) //Base:https://github.com/echo094/decode-js //Modify:https://github.com/smallfawn/decode_action const _0x8716db = new _0x4cda8f("北京现代"); let _0x268653 = ["\n"]; let _0x2fdc9f = "bjxdCookie"; let _0x219a02 = (_0x8716db.isNode() ? process.env[_0x2fdc9f] : _0x8716db.getdata(_0x2fdc9f)) || ""; let _0x2d9559 = []; let _0x2c43fb = 0; let _0x1b86b6 = 0; let _0x30fc44 = "application/json;charset=utf-8"; let _0x1d8bc9 = "ModernCar/8.10.0 (iPhone; iOS 15.0; Scale/3.00)"; let _0x8c33cb = "iOS"; let _0x5403e8 = 7; let _0x32da0f = 8; let _0x1a4387 = 300; let _0x491d53 = 1000; let _0x49a9ae = 1.02; let _0x194108 = "bjxd"; let _0x6567ed = "https://leafxcy.coding.net/api/user/leafxcy/project/validcode/shared-depot/validCode/git/blob/master/code.json"; class _0x4c27a8 { constructor(_0x17c2ed) { this.index = ++_0x2c43fb; this.name = this.index; this.valid = false; let _0x465c2e = _0x17c2ed.split("#"); this.token = _0x465c2e[0]; this.device = _0x465c2e[1] || _0x8c33cb; } async taskApi(_0x3967b8 = {}) { let _0x4dd0e8 = {}; try { let _0x1c0362 = _0x3967b8.url.replace("//", "/").split("/")[1]; let _0x1e768b = _0x3967b8.url; if (_0x3967b8.queryParam) { _0x1e768b += "?" + _0x8716db.json2str(_0x3967b8.queryParam, "&", true); } const _0x206c16 = { Host: _0x1c0362, Connection: "keep-alive", token: this.token, "User-Agent": _0x1d8bc9, device: this.device }; let _0x47c42e = { url: _0x1e768b, headers: _0x206c16, timeout: 5000 }; if (_0x3967b8.body) { _0x47c42e.headers["Content-Type"] = _0x3967b8["Content-Type"] || _0x30fc44; if (typeof _0x3967b8.body === "object") { if (_0x47c42e.headers["Content-Type"].includes("json")) { _0x47c42e.body = JSON.stringify(_0x3967b8.body); } else { for (let _0x35ecf0 in _0x3967b8.body) { typeof _0x3967b8.body[_0x35ecf0] === "object" && (_0x3967b8.body[_0x35ecf0] = JSON.stringify(_0x3967b8.body[_0x35ecf0])); } _0x47c42e.body = _0x8716db.json2str(_0x3967b8.body, "&"); } } else { _0x47c42e.body = _0x3967b8.body; } } if (_0x3967b8.urlObjectParam) { Object.assign(_0x47c42e, _0x3967b8.urlObjectParam); } if (_0x3967b8.headerParam) { Object.assign(_0x47c42e.headers, _0x3967b8.headerParam); } _0x4dd0e8 = Object.assign({}, await _0x521f1c(_0x3967b8.method, _0x47c42e)); _0x4dd0e8.statusCode = _0x4dd0e8?.["err"]?.["response"]?.["statusCode"] || _0x4dd0e8?.["resp"]?.["statusCode"]; _0x4dd0e8.statusCode != 200 && console.log("[" + _0x3967b8.fn + "]返回[" + _0x4dd0e8.statusCode + "]"); if (_0x4dd0e8?.["resp"]?.["body"]) { if (typeof _0x4dd0e8.resp.body === "object") { _0x4dd0e8.result = _0x4dd0e8.resp.body; } else { try { _0x4dd0e8.result = JSON.parse(_0x4dd0e8.resp.body); } catch (_0x3866e6) { console.log("[" + _0x3967b8.fn + "]没有返回json数据"); _0x4dd0e8.result = _0x4dd0e8.resp.body; } } } } catch (_0x1e3872) { console.log(_0x1e3872); } finally { return Promise.resolve(_0x4dd0e8); } } async getUserInfo() { let _0x38b266 = {}; try { let _0xcaf926 = { fn: "getUserInfo", method: "get", url: "https://bm2-api.bluemembers.com.cn/v1/app/account/users/info" }; _0x38b266 = Object.assign({}, await this.taskApi(_0xcaf926)); if (typeof _0x38b266?.["result"] === "object") { let _0x4299a4 = _0x38b266.result; if (_0x4299a4.code == 0) { this.valid = true; this.hid = _0x4299a4.data.hid; this.name = _0x4299a4.data.nickname; this.phone = _0x4299a4.data.phone; this.mixPhone = this.phone.slice(0, 3) + "****" + this.phone.slice(7, 13); this.nid = _0x4299a4.data.nid; this.score = _0x4299a4.data.score_value; this.isSign = _0x4299a4.data.if_signed_in; _0x8716db.logAndNotify("昵称:" + this.name); _0x8716db.logAndNotify("手机:" + this.mixPhone); } else { _0x8716db.logAndNotify("登录失败:" + _0x4299a4.msg); } } } catch (_0x304632) { console.log(_0x304632); } finally { return Promise.resolve(_0x38b266); } } async getScore() { let _0x12fb1e = {}; try { let _0x43a101 = { fn: "getScore", method: "get", url: "https://bm2-api.bluemembers.com.cn/v1/app/account/users/info" }; _0x12fb1e = Object.assign({}, await this.taskApi(_0x43a101)); if (typeof _0x12fb1e?.["result"] === "object") { let _0x332edd = _0x12fb1e.result; _0x332edd.code == 0 ? (this.score = _0x332edd.data.score_value, _0x8716db.logAndNotify("积分:" + this.score)) : console.log("查询积分失败:" + _0x332edd.msg); } } catch (_0x163403) { console.log(_0x163403); } finally { return Promise.resolve(_0x12fb1e); } } async reward_list() { let _0x3f6116 = {}; try { let _0xe5198f = { fn: "reward_list", method: "get", url: "https://bm2-api.bluemembers.com.cn/v1/app/user/reward_list" }; _0x3f6116 = Object.assign({}, await this.taskApi(_0xe5198f)); if (typeof _0x3f6116?.["result"] === "object") { let _0x56041 = _0x3f6116.result; if (_0x56041.code == 0) { let _0x2fbcf1 = _0x56041.data.list.filter(_0x5ae0ff => _0x5ae0ff.hid == _0x56041.data.hid); let _0x4a8869 = _0x2fbcf1[0].score; _0x4a8869 >= _0x5403e8 ? (console.log("获取到签到积分" + _0x4a8869 + "的请求,满足门槛,进行签到"), await this.reward_report(_0x56041.data), this.isSign = true) : console.log("获取到签到积分" + _0x4a8869 + "的请求,小于门槛,不进行签到"); } else { console.log("获取签到奖励信息失败:" + _0x56041.msg); } } } catch (_0x64bff7) { console.log(_0x64bff7); } finally { return Promise.resolve(_0x3f6116); } } async reward_report(_0x589132) { let _0x46c394 = {}; try { const _0x34c67b = { hid: _0x589132.hid, hash: _0x589132.rewardHash, sm_deviceId: "" }; let _0x4c6530 = { fn: "reward_report", method: "post", url: "https://bm2-api.bluemembers.com.cn/v1/app/user/reward_report", body: _0x34c67b }; _0x46c394 = Object.assign({}, await this.taskApi(_0x4c6530)); if (typeof _0x46c394?.["result"] === "object") { let _0x435e80 = _0x46c394.result; _0x435e80.code == 0 ? console.log("签到成功") : console.log("签到失败:" + _0x435e80.msg); } } catch (_0x149902) { console.log(_0x149902); } finally { return Promise.resolve(_0x46c394); } } async taskList() { let _0x17e315 = {}; try { let _0x4b8eca = { fn: "taskList", method: "get", url: "https://bm2-api.bluemembers.com.cn/v1/app/user/task/list" }; _0x17e315 = Object.assign({}, await this.taskApi(_0x4b8eca)); if (typeof _0x17e315?.["result"] === "object") { let _0x537fef = _0x17e315.result; _0x537fef.code == 0 ? (!_0x537fef.data.action12.status && (await this.appScore(12)), !_0x537fef.data.action39.status && (await this.ask_info())) : console.log("获取任务列表失败:" + _0x537fef.msg); } } catch (_0x217171) { console.log(_0x217171); } finally { return Promise.resolve(_0x17e315); } } async appScore(_0x2e08b2) { let _0x56f9a9 = {}; try { let _0x139670 = { fn: "appScore", method: "post", url: "https://bm2-api.bluemembers.com.cn/v1/app/score", body: { action: Number(_0x2e08b2) } }; _0x56f9a9 = Object.assign({}, await this.taskApi(_0x139670)); if (typeof _0x56f9a9?.["result"] === "object") { let _0x2398d7 = _0x56f9a9.result; _0x2398d7.code == 0 ? _0x2398d7.data.is_stop ? console.log("完成任务[" + _0x2e08b2 + "]成功,获得" + _0x2398d7.data.score + "积分") : console.log("任务[" + _0x2e08b2 + "]已完成过") : console.log("完成任务[" + _0x2e08b2 + "]失败:" + _0x2398d7.msg); } } catch (_0x4aaf25) { console.log(_0x4aaf25); } finally { return Promise.resolve(_0x56f9a9); } } async ask_info() { let _0x8f513e = {}; try { let _0x2a7cc6 = { fn: "ask_info", method: "get", url: "https://bm2-api.bluemembers.com.cn/v1/app/special/daily/ask_info", queryParam: { date: _0x8716db.time("yyyyMMdd") } }; _0x8f513e = Object.assign({}, await this.taskApi(_0x2a7cc6)); if (typeof _0x8f513e?.["result"] === "object") { let _0x5469c5 = _0x8f513e.result; if (_0x5469c5.code == 0) { if (_0x5469c5.data.state == 1) { console.log("开始答题:"); console.log(_0x5469c5.data.question_info.content); for (let _0x296803 of _0x5469c5.data.question_info.option) { console.log(_0x296803.option + ": " + _0x296803.option_content); } await this.ask_answer(_0x5469c5.data.question_info); } else { console.log("今日已完成答题"); } } else { console.log("获取任务列表失败:" + _0x5469c5.msg); } } } catch (_0x45d564) { console.log(_0x45d564); } finally { return Promise.resolve(_0x8f513e); } } async ask_answer(_0x4ee39a) { let _0x320116 = {}; try { let _0x16af4f = _0x8716db.randomList(_0x4ee39a.option); console.log("随机选择[" + _0x16af4f.option + "]"); const _0x5c6056 = { answer: _0x16af4f.option, questions_hid: _0x4ee39a.questions_hid }; let _0x237782 = { fn: "ask_answer", method: "post", url: "https://bm2-api.bluemembers.com.cn/v1/app/special/daily/ask_answer", body: _0x5c6056 }; _0x320116 = Object.assign({}, await this.taskApi(_0x237782)); if (typeof _0x320116?.["result"] === "object") { let _0x30d161 = _0x320116.result; _0x30d161.code == 0 ? _0x30d161.data.state == 2 ? console.log("回答正确,获得" + _0x30d161.data.answer_score + "积分") : console.log("回答错误") : console.log("回答失败:" + _0x30d161.msg); } } catch (_0x26cc04) { console.log(_0x26cc04); } finally { return Promise.resolve(_0x320116); } } async userTask() { let _0x4937de = {}; try { _0x8716db.logAndNotify("\n============= 账号[" + this.index + "] ============="); await this.getUserInfo(); if (!this.valid) { return; } for (let _0x50258e = 0; _0x50258e < 50 && !this.isSign; _0x50258e++) { await this.reward_list(); } await this.taskList(); await this.getScore(); } catch (_0x5859d2) { console.log(_0x5859d2); } finally { return Promise.resolve(_0x4937de); } } } !(async () => { if (typeof $request !== "undefined") { await _0x14afab(); } else { /*if (!(await _0x2b9e78())) { return; }*/ if (!_0x5783c6()) { return; } for (let _0x446442 of _0x2d9559) { await _0x446442.userTask(); } } })().catch(_0x2a23c4 => console.log(_0x2a23c4)).finally(() => _0x8716db.done()); async function _0x14afab() { if ($request.url.includes("v1/app/white/lovecar/banner")) { try { let _0x13b4b6 = $request.headers.token; let _0x4dcfbd = _0x268653[0]; for (let _0x44475f of _0x268653) { if (_0x219a02?.["includes"](_0x44475f)) { _0x4dcfbd = _0x44475f; break; } } if (!_0x219a02?.["includes"](_0x13b4b6)) { let _0x1b71ef = _0x219a02 ? _0x219a02.split(_0x4dcfbd) : []; _0x1b71ef.push(_0x13b4b6); _0x219a02 = _0x1b71ef.join(_0x4dcfbd); _0x8716db.setdata(_0x219a02, _0x2fdc9f); _0x8716db.msg("获取第" + _0x1b71ef.length + "个账户CK成功,保存到变量[" + _0x2fdc9f + "]: " + _0x13b4b6); } } catch (_0x4cf3b5) {} } } function _0x5783c6() { if (_0x219a02) { let _0x3f061f = _0x268653[0]; for (let _0x4cde89 of _0x268653) { if (_0x219a02.indexOf(_0x4cde89) > -1) { _0x3f061f = _0x4cde89; break; } } for (let _0x442d1d of _0x219a02.split(_0x3f061f)) { if (_0x442d1d) { _0x2d9559.push(new _0x4c27a8(_0x442d1d)); } } _0x1b86b6 = _0x2d9559.length; } else { console.log("未找到CK: " + _0x2fdc9f); return false; } console.log("共找到" + _0x1b86b6 + "个账号"); return true; } async function _0x2b9e78(_0x52f9ac = 0) { let _0x454209 = false; try { let _0x20d7ff = { url: _0x6567ed, timeout: 5000 }; let _0x239829 = null; let _0x457fa9 = await _0x521f1c("get", _0x20d7ff); if (_0x457fa9.err) { console.log("服务器错误[" + _0x457fa9?.["resp"]?.["statusCode"] + "],重试..."); } else { try { _0x239829 = JSON.parse(_0x457fa9.resp.body); _0x239829?.["code"] == 0 && (_0x239829 = JSON.parse(_0x239829.data.file.data)); } catch (_0x5d759c) {} } if (!_0x239829) { if (_0x52f9ac < _0x32da0f) { let _0x22b7e = Math.floor(Math.random() * _0x491d53) + _0x1a4387; _0x454209 = await _0x2b9e78(++_0x52f9ac); } } else { _0x239829?.["commonNotify"] && _0x239829.commonNotify.length > 0 && _0x8716db.logAndNotify(_0x239829.commonNotify.join("\n") + "\n"); _0x239829?.["commonMsg"] && _0x239829.commonMsg.length > 0 && console.log(_0x239829.commonMsg.join("\n") + "\n"); if (_0x239829[_0x194108]) { let _0x1d6833 = _0x239829[_0x194108]; _0x1d6833.status == 0 ? _0x49a9ae >= _0x1d6833.version ? (_0x454209 = true, console.log(_0x1d6833.msg[_0x1d6833.status]), console.log(_0x1d6833.updateMsg), console.log("现在运行的脚本版本是:" + _0x49a9ae + ",最新脚本版本:" + _0x1d6833.latestVersion)) : console.log(_0x1d6833.versionMsg) : console.log(_0x1d6833.msg[_0x1d6833.status]); } else { console.log(_0x239829.errorMsg); } } } catch (_0x3f1377) { console.log(_0x3f1377); } finally { return Promise.resolve(_0x454209); } } async function _0x521f1c(_0x263b8f, _0x513b4c) { return new Promise(_0x40a2b3 => { _0x8716db.send(_0x263b8f, _0x513b4c, async (_0x6e577d, _0x129293, _0xf085c6) => { const _0x348782 = { err: _0x6e577d, req: _0x129293, resp: _0xf085c6 }; _0x40a2b3(_0x348782); }); }); } function _0x4cda8f(_0x1e4724, _0xff6f77) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); return new class { constructor(_0x4178f5, _0x2ac14c) { this.name = _0x4178f5; this.notifyStr = ""; this.startTime = new Date().getTime(); Object.assign(this, _0x2ac14c); console.log(this.name + " 开始运行:\n"); } isNode() { return "undefined" != typeof module && !!module.exports; } isQuanX() { return "undefined" != typeof $task; } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon; } isLoon() { return "undefined" != typeof $loon; } getdata(_0x4fefce) { let _0x3782e9 = this.getval(_0x4fefce); if (/^@/.test(_0x4fefce)) { const [, _0x34b308, _0x48c0c3] = /^@(.*?)\.(.*?)$/.exec(_0x4fefce); const _0x31bfd6 = _0x34b308 ? this.getval(_0x34b308) : ""; if (_0x31bfd6) { try { const _0x479c6a = JSON.parse(_0x31bfd6); _0x3782e9 = _0x479c6a ? this.lodash_get(_0x479c6a, _0x48c0c3, "") : _0x3782e9; } catch (_0x4facad) { _0x3782e9 = ""; } } } return _0x3782e9; } setdata(_0x4beabf, _0x590b04) { let _0x38fc86 = false; if (/^@/.test(_0x590b04)) { const [, _0x20017f, _0x55f66f] = /^@(.*?)\.(.*?)$/.exec(_0x590b04); const _0x3e34f7 = this.getval(_0x20017f); const _0x3a6458 = _0x20017f ? "null" === _0x3e34f7 ? null : _0x3e34f7 || "{}" : "{}"; try { const _0x2b471b = JSON.parse(_0x3a6458); this.lodash_set(_0x2b471b, _0x55f66f, _0x4beabf); _0x38fc86 = this.setval(JSON.stringify(_0x2b471b), _0x20017f); } catch (_0x1494d0) { const _0xd89f1b = {}; this.lodash_set(_0xd89f1b, _0x55f66f, _0x4beabf); _0x38fc86 = this.setval(JSON.stringify(_0xd89f1b), _0x20017f); } } else { _0x38fc86 = this.setval(_0x4beabf, _0x590b04); } return _0x38fc86; } getval(_0x54eb3e) { return this.isSurge() || this.isLoon() ? $persistentStore.read(_0x54eb3e) : this.isQuanX() ? $prefs.valueForKey(_0x54eb3e) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x54eb3e]) : this.data && this.data[_0x54eb3e] || null; } setval(_0x491870, _0x2145f6) { return this.isSurge() || this.isLoon() ? $persistentStore.write(_0x491870, _0x2145f6) : this.isQuanX() ? $prefs.setValueForKey(_0x491870, _0x2145f6) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x2145f6] = _0x491870, this.writedata(), true) : this.data && this.data[_0x2145f6] || null; } send(_0x30ed81, _0x46cad7, _0x1cc856 = () => {}) { if (_0x30ed81 != "get" && _0x30ed81 != "post" && _0x30ed81 != "put" && _0x30ed81 != "delete") { console.log("无效的http方法:" + _0x30ed81); return; } if (_0x30ed81 == "get" && _0x46cad7.headers) { delete _0x46cad7.headers["Content-Type"]; delete _0x46cad7.headers["Content-Length"]; } else { if (_0x46cad7.body && _0x46cad7.headers) { if (!_0x46cad7.headers["Content-Type"]) { _0x46cad7.headers["Content-Type"] = "application/x-www-form-urlencoded"; } } } if (this.isSurge() || this.isLoon()) { if (this.isSurge() && this.isNeedRewrite) { _0x46cad7.headers = _0x46cad7.headers || {}; const _0x26fc4f = { "X-Surge-Skip-Scripting": false }; Object.assign(_0x46cad7.headers, _0x26fc4f); } let _0x5bc71d = { method: _0x30ed81, url: _0x46cad7.url, headers: _0x46cad7.headers, timeout: _0x46cad7.timeout, data: _0x46cad7.body }; if (_0x30ed81 == "get") { delete _0x5bc71d.data; } $axios(_0x5bc71d).then(_0x5bd58f => { const { status: _0x170536, request: _0x1e7cb3, headers: _0x468f75, data: _0x580b03 } = _0x5bd58f; const _0x571f3c = { statusCode: _0x170536, headers: _0x468f75, body: _0x580b03 }; _0x1cc856(null, _0x1e7cb3, _0x571f3c); }).catch(_0x4bda4a => console.log(_0x4bda4a)); } else { if (this.isQuanX()) { const _0x327740 = { hints: false }; _0x46cad7.method = _0x30ed81.toUpperCase(); this.isNeedRewrite && (_0x46cad7.opts = _0x46cad7.opts || {}, Object.assign(_0x46cad7.opts, _0x327740)); $task.fetch(_0x46cad7).then(_0x54076a => { const { statusCode: _0x1a879b, request: _0x425de9, headers: _0x3d8419, body: _0x40f74b } = _0x54076a; const _0x206c23 = { statusCode: _0x1a879b, headers: _0x3d8419, body: _0x40f74b }; _0x1cc856(null, _0x425de9, _0x206c23); }, _0x3c58de => _0x1cc856(_0x3c58de)); } else { if (this.isNode()) { this.got = this.got ? this.got : require("got"); const { url: _0x5838e9, ..._0x4db42f } = _0x46cad7; const _0x527bb1 = { followRedirect: false }; this.instance = this.got.extend(_0x527bb1); this.instance[_0x30ed81](_0x5838e9, _0x4db42f).then(_0x5339a9 => { const { statusCode: _0x3bc338, request: _0x576247, headers: _0x6e3fd4, body: _0x1a837a } = _0x5339a9; const _0x420bc3 = { statusCode: _0x3bc338, headers: _0x6e3fd4, body: _0x1a837a }; _0x1cc856(null, _0x576247, _0x420bc3); }, _0x86d1ba => { const { message: _0x53d502, request: _0x507dc9, response: _0x598f0c } = _0x86d1ba; _0x1cc856(_0x53d502, _0x507dc9, _0x598f0c); }); } } } } time(_0x2ef619, _0x16db29 = null) { let _0x2c3750 = _0x16db29 ? new Date(_0x16db29) : new Date(); let _0x5cd64f = { "M+": _0x2c3750.getMonth() + 1, "d+": _0x2c3750.getDate(), "h+": _0x2c3750.getHours(), "m+": _0x2c3750.getMinutes(), "s+": _0x2c3750.getSeconds(), "q+": Math.floor((_0x2c3750.getMonth() + 3) / 3), S: _0x2c3750.getMilliseconds() }; /(y+)/.test(_0x2ef619) && (_0x2ef619 = _0x2ef619.replace(RegExp.$1, (_0x2c3750.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let _0x4ccae2 in _0x5cd64f) new RegExp("(" + _0x4ccae2 + ")").test(_0x2ef619) && (_0x2ef619 = _0x2ef619.replace(RegExp.$1, 1 == RegExp.$1.length ? _0x5cd64f[_0x4ccae2] : ("00" + _0x5cd64f[_0x4ccae2]).substr(("" + _0x5cd64f[_0x4ccae2]).length))); return _0x2ef619; } async showmsg() { if (!this.notifyStr) { return; } let _0x69a576 = this.name + " 运行通知\n\n" + this.notifyStr; if (_0x8716db.isNode()) { var _0x4ded0f = require("./sendNotify"); console.log("\n============== 推送 =============="); await _0x4ded0f.sendNotify(this.name, _0x69a576); } else { this.msg(_0x69a576); } } logAndNotify(_0x5d20e5) { console.log(_0x5d20e5); this.notifyStr += _0x5d20e5; this.notifyStr += "\n"; } logAndNotifyWithTime(_0x13c259) { let _0x5d180a = "[" + this.time("hh:mm:ss.S") + "]" + _0x13c259; console.log(_0x5d180a); this.notifyStr += _0x5d180a; this.notifyStr += "\n"; } logWithTime(_0xe9e4ad) { console.log("[" + this.time("hh:mm:ss.S") + "]" + _0xe9e4ad); } msg(_0x281b91 = t, _0x2a5e45 = "", _0x441be7 = "", _0xd75caf) { const _0x3c126f = _0xf16ff0 => { if (!_0xf16ff0) { return _0xf16ff0; } if ("string" == typeof _0xf16ff0) { return this.isLoon() ? _0xf16ff0 : this.isQuanX() ? { "open-url": _0xf16ff0 } : this.isSurge() ? { url: _0xf16ff0 } : undefined; } if ("object" == typeof _0xf16ff0) { if (this.isLoon()) { let _0x2fda6e = _0xf16ff0.openUrl || _0xf16ff0.url || _0xf16ff0["open-url"]; let _0x1bd995 = _0xf16ff0.mediaUrl || _0xf16ff0["media-url"]; const _0x5d7302 = { openUrl: _0x2fda6e, mediaUrl: _0x1bd995 }; return _0x5d7302; } if (this.isQuanX()) { let _0x5464ef = _0xf16ff0["open-url"] || _0xf16ff0.url || _0xf16ff0.openUrl; let _0x3b60b5 = _0xf16ff0["media-url"] || _0xf16ff0.mediaUrl; const _0x3f7c94 = { "open-url": _0x5464ef, "media-url": _0x3b60b5 }; return _0x3f7c94; } if (this.isSurge()) { let _0x4f4b61 = _0xf16ff0.url || _0xf16ff0.openUrl || _0xf16ff0["open-url"]; const _0x40f4f2 = { url: _0x4f4b61 }; return _0x40f4f2; } } }; this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(_0x281b91, _0x2a5e45, _0x441be7, _0x3c126f(_0xd75caf)) : this.isQuanX() && $notify(_0x281b91, _0x2a5e45, _0x441be7, _0x3c126f(_0xd75caf))); let _0x3eabf5 = ["", "============== 系统通知 =============="]; _0x3eabf5.push(_0x281b91); _0x2a5e45 && _0x3eabf5.push(_0x2a5e45); _0x441be7 && _0x3eabf5.push(_0x441be7); console.log(_0x3eabf5.join("\n")); } getMin(_0x15962f, _0x2a34e2) { return _0x15962f < _0x2a34e2 ? _0x15962f : _0x2a34e2; } getMax(_0x10b5c9, _0xd6c9d7) { return _0x10b5c9 < _0xd6c9d7 ? _0xd6c9d7 : _0x10b5c9; } padStr(_0x3b72ab, _0x3e7ee5, _0x173b51 = "0") { let _0x444bd6 = String(_0x3b72ab); let _0x5a80d4 = _0x3e7ee5 > _0x444bd6.length ? _0x3e7ee5 - _0x444bd6.length : 0; let _0xbedc9d = ""; for (let _0x3f8956 = 0; _0x3f8956 < _0x5a80d4; _0x3f8956++) { _0xbedc9d += _0x173b51; } _0xbedc9d += _0x444bd6; return _0xbedc9d; } json2str(_0x4cb5d6, _0x36e3c5, _0x2ec4bc = false) { let _0x4d114d = []; for (let _0x207106 of Object.keys(_0x4cb5d6).sort()) { let _0x3811eb = _0x4cb5d6[_0x207106]; if (_0x3811eb && _0x2ec4bc) { _0x3811eb = encodeURIComponent(_0x3811eb); } _0x4d114d.push(_0x207106 + "=" + _0x3811eb); } return _0x4d114d.join(_0x36e3c5); } str2json(_0x153294, _0x4b27fb = false) { let _0x593ed4 = {}; for (let _0xdc7f24 of _0x153294.split("&")) { if (!_0xdc7f24) { continue; } let _0x221d9d = _0xdc7f24.indexOf("="); if (_0x221d9d == -1) { continue; } let _0x48bba3 = _0xdc7f24.substr(0, _0x221d9d); let _0x2a45fc = _0xdc7f24.substr(_0x221d9d + 1); if (_0x4b27fb) { _0x2a45fc = decodeURIComponent(_0x2a45fc); } _0x593ed4[_0x48bba3] = _0x2a45fc; } return _0x593ed4; } randomPattern(_0x39c9a4, _0x782889 = "abcdef0123456789") { let _0x167a1 = ""; for (let _0x4c9048 of _0x39c9a4) { if (_0x4c9048 == "x") { _0x167a1 += _0x782889.charAt(Math.floor(Math.random() * _0x782889.length)); } else { _0x4c9048 == "X" ? _0x167a1 += _0x782889.charAt(Math.floor(Math.random() * _0x782889.length)).toUpperCase() : _0x167a1 += _0x4c9048; } } return _0x167a1; } randomString(_0x600a62, _0x1be07f = "abcdef0123456789") { let _0x23158e = ""; for (let _0x1ed705 = 0; _0x1ed705 < _0x600a62; _0x1ed705++) { _0x23158e += _0x1be07f.charAt(Math.floor(Math.random() * _0x1be07f.length)); } return _0x23158e; } randomList(_0x4acba4) { let _0x91a694 = Math.floor(Math.random() * _0x4acba4.length); return _0x4acba4[_0x91a694]; } wait(_0x530f72) { return new Promise(_0x3e7b59 => setTimeout(_0x3e7b59, _0x530f72)); } async done(_0x5b659f = {}) { await this.showmsg(); const _0x1541e5 = new Date().getTime(); const _0x2fa0de = (_0x1541e5 - this.startTime) / 1000; console.log("\n" + this.name + " 运行结束,共运行了 " + _0x2fa0de + " 秒!"); if (this.isSurge() || this.isQuanX() || this.isLoon()) { $done(_0x5b659f); } } }(_0x1e4724, _0xff6f77); }