mirror of
https://github.com/smallfawn/QLScriptPublic.git
synced 2025-12-16 23:09:38 +08:00
566 lines
22 KiB
JavaScript
566 lines
22 KiB
JavaScript
/**
|
||
* smart汽车+ V1.02
|
||
* const $ = new Env("smart汽车+");
|
||
* cron 0 8,20 * * * smart汽车+.js
|
||
* 走下我的注册地址,谢谢,有本请投稿(利润项目偷撸可dd):https://z1.ax1x.com/2023/10/17/piChdQH.png
|
||
* 更新:修复运行问题以及提现逻辑
|
||
* ========= 青龙--配置文件 ===========
|
||
* # 项目名称
|
||
* export smart_car_plus='Id-Token'
|
||
* 自己登录时开启抓包 搜索 refresh_token,miniapp/quicklogin 或者 miniapp/getittoken 的返回里有
|
||
* 注意:抓到后不要再自己打开这个小程序了,不然会顶号!
|
||
*
|
||
* 多账号可用 换行、&、@ 符号隔开,支持新建多个同名环境变量来设置多账号
|
||
|
||
* 奖励:签到开盲盒
|
||
* ====================================
|
||
*/
|
||
|
||
//Sat Jan 25 2025 08:24:09 GMT+0000 (Coordinated Universal Time)
|
||
//Base:https://github.com/echo094/decode-js
|
||
//Modify:https://github.com/smallfawn/decode_action
|
||
const _0x2c5ee3 = new _0x16e925("smart汽车+"),
|
||
_0x40c21a = require("https");
|
||
_0x40c21a.globalAgent.options.rejectUnauthorized = false;
|
||
let _0x1778c4 = "smart_car_plus",
|
||
_0x55a0cf = ["\n", "@", "&"];
|
||
const _0x86dc7f = require("fs");
|
||
let _0x6bb841 = (_0x2c5ee3.isNode() ? process.env[_0x1778c4] : _0x2c5ee3.getdata(_0x1778c4)) || "",
|
||
_0x18bbd5 = [],
|
||
_0x44bda9 = 0;
|
||
class _0x57add7 {
|
||
constructor(_0x387cf7) {
|
||
this.index = ++_0x44bda9;
|
||
this.valid = false;
|
||
try {
|
||
{
|
||
if (_0x387cf7?.["length"] === 2) [this.Authorization, this.token] = _0x387cf7, this.Authorization = this.Authorization?.["replace"]("Bearer ", "");else _0x387cf7?.["length"] === 1 ? ([this.refreshToken] = _0x387cf7, this.refreshToken = this.refreshToken?.["replace"]("Bearer ", "")) : console.log("参数不完整:自己抓包 请求头里的 Id-Token");
|
||
}
|
||
} catch (_0x159593) {
|
||
console.log("参数不完整:自己抓包 请求头里的 Id-Token");
|
||
}
|
||
}
|
||
async ["taskApi"](_0x40ea26, _0x3daa52, _0x3f5fcb, _0x22e96e, _0x1c1124 = {}) {
|
||
let _0x13a5e2 = null;
|
||
try {
|
||
{
|
||
let _0x378cf3 = {
|
||
"url": _0x3f5fcb,
|
||
"headers": {
|
||
"Authorization": "Bearer " + this.Authorization,
|
||
"Content-Type": "application/json; Charset=UTF-8",
|
||
"id-token": this.token || "",
|
||
..._0x1c1124
|
||
},
|
||
"timeout": 60000
|
||
};
|
||
_0x22e96e && (_0x378cf3.body = _0x22e96e);
|
||
await _0x4a407b(_0x3daa52, _0x378cf3).then(async _0x23f56a => {
|
||
{
|
||
if (_0x23f56a.resp?.["statusCode"] == 200) {
|
||
{
|
||
if (_0x23f56a.resp?.["body"]) {
|
||
_0x13a5e2 = JSON.parse(_0x23f56a.resp.body);
|
||
} else console.log("账号[" + this.index + "]调用" + _0x3daa52 + "[" + _0x40ea26 + "]出错,返回为空");
|
||
}
|
||
} else console.log("账号[" + this.index + "]调用" + _0x3daa52 + "[" + _0x40ea26 + "]出错,返回状态码[" + (_0x23f56a.resp?.["statusCode"] || "") + "]", "返回结果:", _0x23f56a.resp?.["body"] || _0x23f56a?.["err"]);
|
||
}
|
||
});
|
||
}
|
||
} catch (_0x324e72) {
|
||
console.log(_0x324e72);
|
||
} finally {
|
||
return Promise.resolve(_0x13a5e2);
|
||
}
|
||
}
|
||
async ["sign_statistics"]() {
|
||
try {
|
||
{
|
||
let _0x7e33c7 = "sign_statistics",
|
||
_0x595a82 = "post",
|
||
_0x531078 = "https://eco-api.smart.cn/member-center/sign/toc/supplement/sign/statistics";
|
||
const _0x48a208 = new Date(),
|
||
_0x45e49d = _0x48a208.getFullYear(),
|
||
_0x14824f = String(_0x48a208.getMonth() + 1).padStart(2, "0"),
|
||
_0x4d9c57 = _0x45e49d + "-" + _0x14824f;
|
||
let _0x54116c = "{\"month\":\"" + _0x4d9c57 + "\"}";
|
||
await this.taskApi(_0x7e33c7, _0x595a82, _0x531078, _0x54116c, {}).then(async _0xbd54ea => {
|
||
_0xbd54ea?.["success"] ? (console.log("账号[" + this.index + "] 查询打卡信息成功,积分:" + (_0xbd54ea?.["data"]["pointsBalance"] || 0)), this.valid = true) : (console.log("账号[" + this.index + "] 查询打卡信息失败:" + (_0xbd54ea?.["msg"] || JSON.stringify(_0xbd54ea))), this.valid = false);
|
||
});
|
||
}
|
||
} catch (_0x595987) {
|
||
console.log(_0x595987);
|
||
}
|
||
}
|
||
async ["sign_daliy"]() {
|
||
try {
|
||
{
|
||
let _0x1884eb = "sign_daliy",
|
||
_0x12b8c3 = "post",
|
||
_0x120f2f = "https://app-api.smart.cn/smartapp-me/signs/v2",
|
||
_0x4c4500 = "{}";
|
||
await this.taskApi(_0x1884eb, _0x12b8c3, _0x120f2f, _0x4c4500, {
|
||
"X-Auth-Token": this.token
|
||
}).then(async _0x492146 => {
|
||
_0x492146?.["code"] === "success" ? console.log("账号[" + this.index + "] 签到成功,当前总积分:" + (_0x492146?.["data"]["totalIntegral"] || 0) + ",已签到:" + _0x492146?.["data"]["signCount"] + "次") : console.log("账号[" + this.index + "] 签到失败:" + (_0x492146?.["message"] || JSON.stringify(_0x492146)));
|
||
});
|
||
}
|
||
} catch (_0x297601) {
|
||
console.log(_0x297601);
|
||
}
|
||
}
|
||
async ["RefreshToken"]() {
|
||
let _0x475482,
|
||
_0x56592f = _0x4f0b0f(_0x1778c4 + "_config", this.refreshToken);
|
||
_0x56592f && typeof _0x56592f === "string" && JSON.parse(_0x56592f)?.["access_token"] && (_0x475482 = JSON.parse(_0x56592f)?.["access_token"]);
|
||
let _0x68ba58 = _0x475482 || this.refreshToken;
|
||
try {
|
||
let _0x103c88 = "RefreshToken",
|
||
_0x3da2a3 = "get",
|
||
_0x392b92 = "https://cms-api.smart.cn/api/smart/web/1.0/oauth/miniapp/getittoken?refreshToken=" + _0x68ba58,
|
||
_0x563be0 = "";
|
||
await this.taskApi(_0x103c88, _0x3da2a3, _0x392b92, _0x563be0, {}).then(async _0x539175 => {
|
||
if (_0x539175?.["message"] === "success") {
|
||
this.token = _0x539175?.["result"]?.["id_token"];
|
||
try {
|
||
const _0x29342b = atob(this.token?.["split"](".")[1]),
|
||
_0x530edd = new Date(Number(_0x29342b?.["exp"] + "000"))?.["getMonth"]() + 1 + "月" + new Date(Number(_0x29342b?.["exp"] + "000"))?.["getDate"]() + "日" + "00:00:00过期";
|
||
console.log("账号[" + this.index + "] 刷新token成功,当前token:" + _0x530edd);
|
||
} catch (_0x57e8da) {
|
||
console.log("账号[" + this.index + "] 刷新token成功");
|
||
}
|
||
this.valid = true;
|
||
_0x68ba58 = _0x539175?.["result"]?.["refresh_token"];
|
||
_0x5bb44c(_0x1778c4 + "_config", this.refreshToken, JSON.stringify({
|
||
"access_token": _0x68ba58
|
||
}));
|
||
} else console.log("账号[" + this.index + "] 刷新token失败:" + (_0x539175?.["message"] || JSON.stringify(_0x539175))), this.valid = false;
|
||
});
|
||
} catch (_0x2656d5) {
|
||
console.log(_0x2656d5);
|
||
}
|
||
}
|
||
async ["doTask"]() {
|
||
try {
|
||
await this.sign_daliy();
|
||
} catch (_0x515fb9) {
|
||
console.log(_0x515fb9);
|
||
}
|
||
}
|
||
}
|
||
!(async () => {
|
||
if (typeof $request !== "undefined") {
|
||
await _0x2024a5();
|
||
} else {
|
||
if (!(await _0x25bb93())) return;
|
||
console.log("\n================ 开始执行 ================\n作者:幻生(禁止倒卖)\n注册地址(非常感谢):https://z1.ax1x.com/2023/10/17/piChdQH.png\n脚本仓库(认准更新地址):https://github.com/smallfawn/QLScriptPublic");
|
||
for (let _0x4f2e33 of _0x18bbd5) {
|
||
console.log("----------- 执行 第 [" + _0x4f2e33.index + "] 个账号 -----------");
|
||
await _0x4f2e33.RefreshToken();
|
||
}
|
||
let _0x6ece0c = _0x18bbd5.filter(_0x2edfdc => _0x2edfdc.valid);
|
||
if (_0x6ece0c.length > 0) {
|
||
{
|
||
console.log("\n================ 任务队列构建完毕 ================");
|
||
for (let _0x1b59b0 of _0x6ece0c) {
|
||
console.log("----------- 账号[" + _0x1b59b0.index + "] -----------");
|
||
await _0x1b59b0.doTask();
|
||
}
|
||
}
|
||
} else {
|
||
console.log("\n====幻生提示:无可用账号,请检查配置============ 任务结束 ================");
|
||
}
|
||
await _0x2c5ee3.showmsg();
|
||
}
|
||
})().catch(_0x4cdc29 => console.log(_0x4cdc29)).finally(() => _0x2c5ee3.done());
|
||
async function _0x2024a5() {}
|
||
function _0x5bb44c(_0x2600dc, _0x4406e7, _0x1e26bc) {
|
||
let _0xd1b387 = {},
|
||
_0x49a008 = {};
|
||
try {
|
||
_0xd1b387 = _0x86dc7f.readFileSync(_0x2600dc + ".json", "utf8");
|
||
_0x49a008 = JSON.parse(_0xd1b387);
|
||
} catch (_0x626fda) {}
|
||
_0x49a008[_0x4406e7] = _0x1e26bc;
|
||
const _0x232a65 = JSON.stringify(_0x49a008);
|
||
try {
|
||
_0x86dc7f.writeFileSync(_0x2600dc + ".json", _0x232a65);
|
||
} catch (_0x4603da) {
|
||
{
|
||
if (_0x4603da.code === "ENOENT") {
|
||
_0x86dc7f.writeFileSync(_0x2600dc + ".json", _0x232a65);
|
||
} else {
|
||
console.error("保存文件时发生错误:", _0x4603da);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
function _0x4f0b0f(_0x412496, _0x14b4cf) {
|
||
try {
|
||
const _0x3cab3d = _0x86dc7f.readFileSync(_0x412496 + ".json", "utf8"),
|
||
_0x5ceb2a = JSON.parse(_0x3cab3d);
|
||
return _0x5ceb2a[_0x14b4cf];
|
||
} catch (_0x46344d) {
|
||
if (_0x46344d.code === "ENOENT") {
|
||
return undefined;
|
||
} else {
|
||
console.error("读取文件时发生错误:", _0x46344d);
|
||
}
|
||
}
|
||
}
|
||
async function _0x25bb93() {
|
||
if (_0x6bb841) {
|
||
let _0x4863b0 = _0x55a0cf[0];
|
||
for (let _0xb394dc of _0x55a0cf) {
|
||
{
|
||
if (_0x6bb841.indexOf(_0xb394dc) > -1) {
|
||
_0x4863b0 = _0xb394dc;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
for (let _0x3e5995 of _0x6bb841.split(_0x4863b0)) {
|
||
{
|
||
if (_0x3e5995) _0x18bbd5.push(new _0x57add7(_0x3e5995?.["split"]("#")));
|
||
}
|
||
}
|
||
userCount = _0x18bbd5.length;
|
||
} else {
|
||
console.log("未找到 配置信息,请检查是否配置 变量:", _0x1778c4);
|
||
return;
|
||
}
|
||
console.log("共找到" + userCount + "个账号");
|
||
return true;
|
||
}
|
||
async function _0x4a407b(_0xb326d3, _0x2deb03) {
|
||
httpErr = null;
|
||
httpReq = null;
|
||
httpResp = null;
|
||
return new Promise(_0x2d11b1 => {
|
||
_0x2c5ee3.send(_0xb326d3, _0x2deb03, async (_0x5950d0, _0x53d531, _0x3d1b29) => {
|
||
httpErr = _0x5950d0;
|
||
httpReq = _0x53d531;
|
||
httpResp = _0x3d1b29;
|
||
_0x2d11b1({
|
||
"err": _0x5950d0,
|
||
"req": _0x53d531,
|
||
"resp": _0x3d1b29
|
||
});
|
||
});
|
||
});
|
||
}
|
||
function _0x16e925(_0x1f9940, _0x1c147f) {
|
||
"undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0);
|
||
return new class {
|
||
constructor(_0x3d1489, _0x45584c) {
|
||
{
|
||
this.name = _0x3d1489;
|
||
this.notifyStr = "";
|
||
this.startTime = new Date().getTime();
|
||
Object.assign(this, _0x45584c);
|
||
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"](_0x1e7d3c) {
|
||
let _0x78169a = this.getval(_0x1e7d3c);
|
||
if (/^@/.test(_0x1e7d3c)) {
|
||
{
|
||
const [, _0x4c8217, _0x579fbb] = /^@(.*?)\.(.*?)$/.exec(_0x1e7d3c),
|
||
_0x18867a = _0x4c8217 ? this.getval(_0x4c8217) : "";
|
||
if (_0x18867a) try {
|
||
const _0x1e47b8 = JSON.parse(_0x18867a);
|
||
_0x78169a = _0x1e47b8 ? this.lodash_get(_0x1e47b8, _0x579fbb, "") : _0x78169a;
|
||
} catch (_0x3b2502) {
|
||
_0x78169a = "";
|
||
}
|
||
}
|
||
}
|
||
return _0x78169a;
|
||
}
|
||
["setdata"](_0x54829e, _0x445aad) {
|
||
let _0x1307d9 = false;
|
||
if (/^@/.test(_0x445aad)) {
|
||
const [, _0x431f1f, _0x15a6db] = /^@(.*?)\.(.*?)$/.exec(_0x445aad),
|
||
_0x380310 = this.getval(_0x431f1f),
|
||
_0x56d8a8 = _0x431f1f ? "null" === _0x380310 ? null : _0x380310 || "{}" : "{}";
|
||
try {
|
||
const _0x162c71 = JSON.parse(_0x56d8a8);
|
||
this.lodash_set(_0x162c71, _0x15a6db, _0x54829e);
|
||
_0x1307d9 = this.setval(JSON.stringify(_0x162c71), _0x431f1f);
|
||
} catch (_0x26326d) {
|
||
const _0x356dc1 = {};
|
||
this.lodash_set(_0x356dc1, _0x15a6db, _0x54829e);
|
||
_0x1307d9 = this.setval(JSON.stringify(_0x356dc1), _0x431f1f);
|
||
}
|
||
} else {
|
||
_0x1307d9 = this.setval(_0x54829e, _0x445aad);
|
||
}
|
||
return _0x1307d9;
|
||
}
|
||
["getval"](_0x1f9bea) {
|
||
return this.isSurge() || this.isLoon() ? $persistentStore.read(_0x1f9bea) : this.isQuanX() ? $prefs.valueForKey(_0x1f9bea) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x1f9bea]) : this.data && this.data[_0x1f9bea] || null;
|
||
}
|
||
["setval"](_0x49a603, _0x31080a) {
|
||
return this.isSurge() || this.isLoon() ? $persistentStore.write(_0x49a603, _0x31080a) : this.isQuanX() ? $prefs.setValueForKey(_0x49a603, _0x31080a) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x31080a] = _0x49a603, this.writedata(), true) : this.data && this.data[_0x31080a] || null;
|
||
}
|
||
["send"](_0x3009e2, _0x172a12, _0x6bbd77 = () => {}) {
|
||
if (_0x3009e2 != "get" && _0x3009e2 != "post" && _0x3009e2 != "put" && _0x3009e2 != "delete") {
|
||
console.log("无效的http方法:" + _0x3009e2);
|
||
return;
|
||
}
|
||
if (_0x3009e2 == "get" && _0x172a12.headers) delete _0x172a12.headers["Content-Type"], delete _0x172a12.headers["Content-Length"];else {
|
||
if (_0x172a12.body && _0x172a12.headers) {
|
||
{
|
||
if (!_0x172a12.headers["Content-Type"]) _0x172a12.headers["Content-Type"] = "application/x-www-form-urlencoded";
|
||
}
|
||
}
|
||
}
|
||
if (this.isSurge() || this.isLoon()) {
|
||
this.isSurge() && this.isNeedRewrite && (_0x172a12.headers = _0x172a12.headers || {}, Object.assign(_0x172a12.headers, {
|
||
"X-Surge-Skip-Scripting": false
|
||
}));
|
||
let _0x2382c0 = {
|
||
"method": _0x3009e2,
|
||
"url": _0x172a12.url,
|
||
"headers": _0x172a12.headers,
|
||
"timeout": _0x172a12.timeout,
|
||
"data": _0x172a12.body
|
||
};
|
||
if (_0x3009e2 == "get") delete _0x2382c0.data;
|
||
$axios(_0x2382c0).then(_0x2b9d5c => {
|
||
const {
|
||
status: _0x2dfb09,
|
||
request: _0xe9fae1,
|
||
headers: _0x449d3c,
|
||
data: _0x5e4b23
|
||
} = _0x2b9d5c;
|
||
_0x6bbd77(null, _0xe9fae1, {
|
||
"statusCode": _0x2dfb09,
|
||
"headers": _0x449d3c,
|
||
"body": _0x5e4b23
|
||
});
|
||
}).catch(_0xe893ba => console.log(_0xe893ba));
|
||
} else {
|
||
if (this.isQuanX()) _0x172a12.method = _0x3009e2.toUpperCase(), this.isNeedRewrite && (_0x172a12.opts = _0x172a12.opts || {}, Object.assign(_0x172a12.opts, {
|
||
"hints": false
|
||
})), $task.fetch(_0x172a12).then(_0x5db606 => {
|
||
{
|
||
const {
|
||
statusCode: _0x696fe4,
|
||
request: _0x17e5a1,
|
||
headers: _0x45fcd2,
|
||
body: _0x16bbaa
|
||
} = _0x5db606;
|
||
_0x6bbd77(null, _0x17e5a1, {
|
||
"statusCode": _0x696fe4,
|
||
"headers": _0x45fcd2,
|
||
"body": _0x16bbaa
|
||
});
|
||
}
|
||
}, _0x504696 => _0x6bbd77(_0x504696));else {
|
||
if (this.isNode()) {
|
||
{
|
||
this.got = this.got ? this.got : require("got");
|
||
const {
|
||
url: _0x5b0415,
|
||
..._0x3f2b41
|
||
} = _0x172a12;
|
||
this.instance = this.got.extend({
|
||
"followRedirect": false,
|
||
"hooks": {
|
||
"beforeRequest": [_0x463820 => {
|
||
_0x463820.headers = Object.assign({}, _0x463820.headers, {});
|
||
}]
|
||
}
|
||
});
|
||
this.instance[_0x3009e2](_0x5b0415, _0x3f2b41).then(_0xbb33dd => {
|
||
const {
|
||
statusCode: _0x2b3568,
|
||
request: _0xb0f43f,
|
||
headers: _0x3e9766,
|
||
body: _0x45cec0
|
||
} = _0xbb33dd;
|
||
_0x6bbd77(null, _0xb0f43f, {
|
||
"statusCode": _0x2b3568,
|
||
"headers": _0x3e9766,
|
||
"body": _0x45cec0
|
||
});
|
||
}, _0x5466e0 => {
|
||
{
|
||
const {
|
||
message: _0x206425,
|
||
request: _0x25ab86,
|
||
response: _0xdb01e8
|
||
} = _0x5466e0;
|
||
_0x6bbd77(_0x206425, _0x25ab86, _0xdb01e8);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
["time"](_0x5414c2, _0x2c0b5a = null) {
|
||
{
|
||
let _0x251dd2 = _0x2c0b5a ? new Date(_0x2c0b5a) : new Date(),
|
||
_0xb70116 = {
|
||
"M+": _0x251dd2.getMonth() + 1,
|
||
"d+": _0x251dd2.getDate(),
|
||
"h+": _0x251dd2.getHours(),
|
||
"m+": _0x251dd2.getMinutes(),
|
||
"s+": _0x251dd2.getSeconds(),
|
||
"q+": Math.floor((_0x251dd2.getMonth() + 3) / 3),
|
||
"S": _0x251dd2.getMilliseconds()
|
||
};
|
||
/(y+)/.test(_0x5414c2) && (_0x5414c2 = _0x5414c2.replace(RegExp.$1, (_0x251dd2.getFullYear() + "").substr(4 - RegExp.$1.length)));
|
||
for (let _0x287f0a in _0xb70116) new RegExp("(" + _0x287f0a + ")").test(_0x5414c2) && (_0x5414c2 = _0x5414c2.replace(RegExp.$1, 1 == RegExp.$1.length ? _0xb70116[_0x287f0a] : ("00" + _0xb70116[_0x287f0a]).substr(("" + _0xb70116[_0x287f0a]).length)));
|
||
return _0x5414c2;
|
||
}
|
||
}
|
||
async ["showmsg"]() {
|
||
if (!this.notifyStr) return;
|
||
let _0x41820a = this.name + " 运行通知\n\n" + this.notifyStr;
|
||
if (_0x2c5ee3.isNode()) {
|
||
var _0x63cdcc = require("./sendNotify");
|
||
console.log("\n============== 推送 ==============");
|
||
await _0x63cdcc.sendNotify(this.name, _0x41820a);
|
||
} else this.msg(_0x41820a);
|
||
}
|
||
["logAndNotify"](_0x5cb695) {
|
||
console.log(_0x5cb695);
|
||
this.notifyStr += _0x5cb695;
|
||
this.notifyStr += "\n";
|
||
}
|
||
["logAndNotifyWithTime"](_0x3775b9) {
|
||
let _0xf02487 = "[" + this.time("hh:mm:ss.S") + "]" + _0x3775b9;
|
||
console.log(_0xf02487);
|
||
this.notifyStr += _0xf02487;
|
||
this.notifyStr += "\n";
|
||
}
|
||
["logWithTime"](_0x4ffc16) {
|
||
console.log("[" + this.time("hh:mm:ss.S") + "]" + _0x4ffc16);
|
||
}
|
||
["msg"](_0x2d1661 = t, _0x4ad7b5 = "", _0x45a26f = "", _0x426041) {
|
||
const _0x423763 = _0x424db1 => {
|
||
if (!_0x424db1) return _0x424db1;
|
||
if ("string" == typeof _0x424db1) return this.isLoon() ? _0x424db1 : this.isQuanX() ? {
|
||
"open-url": _0x424db1
|
||
} : this.isSurge() ? {
|
||
"url": _0x424db1
|
||
} : undefined;
|
||
if ("object" == typeof _0x424db1) {
|
||
{
|
||
if (this.isLoon()) {
|
||
let _0x20d209 = _0x424db1.openUrl || _0x424db1.url || _0x424db1["open-url"],
|
||
_0xd532d9 = _0x424db1.mediaUrl || _0x424db1["media-url"];
|
||
return {
|
||
"openUrl": _0x20d209,
|
||
"mediaUrl": _0xd532d9
|
||
};
|
||
}
|
||
if (this.isQuanX()) {
|
||
{
|
||
let _0x4c1193 = _0x424db1["open-url"] || _0x424db1.url || _0x424db1.openUrl,
|
||
_0x3d2cf4 = _0x424db1["media-url"] || _0x424db1.mediaUrl;
|
||
return {
|
||
"open-url": _0x4c1193,
|
||
"media-url": _0x3d2cf4
|
||
};
|
||
}
|
||
}
|
||
if (this.isSurge()) {
|
||
let _0xc7d34e = _0x424db1.url || _0x424db1.openUrl || _0x424db1["open-url"];
|
||
return {
|
||
"url": _0xc7d34e
|
||
};
|
||
}
|
||
}
|
||
}
|
||
};
|
||
this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(_0x2d1661, _0x4ad7b5, _0x45a26f, _0x423763(_0x426041)) : this.isQuanX() && $notify(_0x2d1661, _0x4ad7b5, _0x45a26f, _0x423763(_0x426041)));
|
||
let _0x253529 = ["", "============== 系统通知 =============="];
|
||
_0x253529.push(_0x2d1661);
|
||
_0x4ad7b5 && _0x253529.push(_0x4ad7b5);
|
||
_0x45a26f && _0x253529.push(_0x45a26f);
|
||
console.log(_0x253529.join("\n"));
|
||
}
|
||
["getMin"](_0x5602e4, _0x2c31ee) {
|
||
return _0x5602e4 < _0x2c31ee ? _0x5602e4 : _0x2c31ee;
|
||
}
|
||
["getMax"](_0x2bc1b6, _0x11b977) {
|
||
return _0x2bc1b6 < _0x11b977 ? _0x11b977 : _0x2bc1b6;
|
||
}
|
||
["padStr"](_0x4bae34, _0x477169, _0x5bcafd = "0") {
|
||
let _0x2214d3 = String(_0x4bae34),
|
||
_0x5da1af = _0x477169 > _0x2214d3.length ? _0x477169 - _0x2214d3.length : 0,
|
||
_0x3de83d = "";
|
||
for (let _0x19167c = 0; _0x19167c < _0x5da1af; _0x19167c++) {
|
||
_0x3de83d += _0x5bcafd;
|
||
}
|
||
_0x3de83d += _0x2214d3;
|
||
return _0x3de83d;
|
||
}
|
||
["json2str"](_0x5130e0, _0x42b14c, _0xcd9b9d = false) {
|
||
let _0x1dac7c = [];
|
||
for (let _0x3355a1 of Object.keys(_0x5130e0).sort()) {
|
||
let _0x2fe663 = _0x5130e0[_0x3355a1];
|
||
if (_0x2fe663 && _0xcd9b9d) _0x2fe663 = encodeURIComponent(_0x2fe663);
|
||
_0x1dac7c.push(_0x3355a1 + "=" + _0x2fe663);
|
||
}
|
||
return _0x1dac7c.join(_0x42b14c);
|
||
}
|
||
["str2json"](_0x201b5c, _0x418cfb = false) {
|
||
{
|
||
let _0x1c03af = {};
|
||
for (let _0x222703 of _0x201b5c.split("&")) {
|
||
{
|
||
if (!_0x222703) continue;
|
||
let _0x12ba0e = _0x222703.indexOf("=");
|
||
if (_0x12ba0e == -1) continue;
|
||
let _0x53bf2c = _0x222703.substr(0, _0x12ba0e),
|
||
_0x5e9be8 = _0x222703.substr(_0x12ba0e + 1);
|
||
if (_0x418cfb) _0x5e9be8 = decodeURIComponent(_0x5e9be8);
|
||
_0x1c03af[_0x53bf2c] = _0x5e9be8;
|
||
}
|
||
}
|
||
return _0x1c03af;
|
||
}
|
||
}
|
||
["randomString"](_0x98a690, _0x49bf69 = "abcdef0123456789") {
|
||
{
|
||
let _0xd30c = "";
|
||
for (let _0x6bc475 = 0; _0x6bc475 < _0x98a690; _0x6bc475++) {
|
||
_0xd30c += _0x49bf69.charAt(Math.floor(Math.random() * _0x49bf69.length));
|
||
}
|
||
return _0xd30c;
|
||
}
|
||
}
|
||
["randomList"](_0x4c0004) {
|
||
{
|
||
let _0x5b785f = Math.floor(Math.random() * _0x4c0004.length);
|
||
return _0x4c0004[_0x5b785f];
|
||
}
|
||
}
|
||
["wait"](_0x1d4ae6) {
|
||
return new Promise(_0x4197a0 => setTimeout(_0x4197a0, _0x1d4ae6));
|
||
}
|
||
["done"](_0x8da243 = {}) {
|
||
const _0x2d6e02 = new Date().getTime(),
|
||
_0x25f9b3 = (_0x2d6e02 - this.startTime) / 1000;
|
||
console.log("\n" + this.name + " 运行结束,共运行了 " + _0x25f9b3 + " 秒!");
|
||
if (this.isSurge() || this.isQuanX() || this.isLoon()) $done(_0x8da243);
|
||
}
|
||
}(_0x1f9940, _0x1c147f);
|
||
} |