mirror of
https://github.com/smallfawn/QLScriptPublic.git
synced 2025-12-17 23:35:02 +08:00
脱密
This commit is contained in:
1510
bawangchaji.js
1510
bawangchaji.js
File diff suppressed because one or more lines are too long
1736
shangzhanwangluo.js
1736
shangzhanwangluo.js
File diff suppressed because one or more lines are too long
549
smart汽车+.js
549
smart汽车+.js
File diff suppressed because one or more lines are too long
715
wxapp/bawangchaji.js
Normal file
715
wxapp/bawangchaji.js
Normal file
@@ -0,0 +1,715 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
霸王茶姬 v1.0.3
|
||||||
|
微信小程序-霸王茶姬
|
||||||
|
积分可以换券
|
||||||
|
|
||||||
|
授权注册后, 捉 webapi.qmai.cn 域名请求头里面的 Qm-User-Token, 填到变量 bwcjCookie 里面
|
||||||
|
多账号换行或@或&隔开
|
||||||
|
export bwcjCookie="G3YT33xad2xxxxxxxxxxxxxxxxxx"
|
||||||
|
|
||||||
|
cron: 46 8,20 * * *
|
||||||
|
const $ = new Env("霸王茶姬");
|
||||||
|
*/
|
||||||
|
//Sat Jan 25 2025 08:29:02 GMT+0000 (Coordinated Universal Time)
|
||||||
|
//Base:https://github.com/echo094/decode-js
|
||||||
|
//Modify:https://github.com/smallfawn/decode_action
|
||||||
|
|
||||||
|
const _0x22822c = _0x2fbb6b("霸王茶姬"),
|
||||||
|
_0x30bd4a = require("got"),
|
||||||
|
_0x411cd3 = "bwcj",
|
||||||
|
_0x4e95c6 = /[\n\&\@]/,
|
||||||
|
_0x25b427 = [_0x411cd3 + "Cookie"],
|
||||||
|
_0x182083 = 20000,
|
||||||
|
_0xe9ef74 = 3,
|
||||||
|
_0x34947f = 1.02,
|
||||||
|
_0x5edf7d = "bwcj",
|
||||||
|
_0x3a487f = "https://leafxcy.coding.net/api/user/leafxcy/project/validcode/shared-depot/validCode/git/blob/master/code.json",
|
||||||
|
_0x51003c = "https://leafxcy.coding.net/api/user/leafxcy/project/validcode/shared-depot/validCode/git/blob/master/" + _0x5edf7d + ".json",
|
||||||
|
_0x36a3ce = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.40(0x18002831) NetType/WIFI Language/zh_CN",
|
||||||
|
_0x1adc03 = "https://servicewechat.com/wxafec6f8422cb357b/87/page-frame.html",
|
||||||
|
_0x50be96 = "wxafec6f8422cb357b",
|
||||||
|
_0x1f020e = 5;
|
||||||
|
class _0x4c79d9 {
|
||||||
|
constructor() {
|
||||||
|
this.index = _0x22822c.userIdx++;
|
||||||
|
this.name = "";
|
||||||
|
this.valid = false;
|
||||||
|
const _0x16f1db = {
|
||||||
|
"limit": 0
|
||||||
|
},
|
||||||
|
_0x41e123 = {
|
||||||
|
"Connection": "keep-alive"
|
||||||
|
},
|
||||||
|
_0x24ef82 = {
|
||||||
|
"retry": _0x16f1db,
|
||||||
|
"timeout": _0x182083,
|
||||||
|
"followRedirect": false,
|
||||||
|
"headers": _0x41e123
|
||||||
|
};
|
||||||
|
this.got = _0x30bd4a.extend(_0x24ef82);
|
||||||
|
}
|
||||||
|
["log"](_0x131350, _0x4fad5a = {}) {
|
||||||
|
var _0x196077 = "",
|
||||||
|
_0x45fd52 = _0x22822c.userCount.toString().length;
|
||||||
|
this.index && (_0x196077 += "账号[" + _0x22822c.padStr(this.index, _0x45fd52) + "]");
|
||||||
|
this.name && (_0x196077 += "[" + this.name + "]");
|
||||||
|
_0x22822c.log(_0x196077 + _0x131350, _0x4fad5a);
|
||||||
|
}
|
||||||
|
async ["request"](_0x2c476b) {
|
||||||
|
const _0x15a3b6 = ["ECONNRESET", "EADDRINUSE", "ENOTFOUND", "EAI_AGAIN"],
|
||||||
|
_0x57c026 = ["TimeoutError"];
|
||||||
|
var _0x2d2118 = null,
|
||||||
|
_0x43077e = 0,
|
||||||
|
_0x1692ef = _0x2c476b.fn || _0x2c476b.url;
|
||||||
|
_0x2c476b.method = _0x2c476b?.["method"]?.["toUpperCase"]() || "GET";
|
||||||
|
let _0x15759f;
|
||||||
|
while (_0x43077e < _0xe9ef74) {
|
||||||
|
try {
|
||||||
|
_0x43077e++;
|
||||||
|
_0x15759f = null;
|
||||||
|
let _0x5a4ec4 = null,
|
||||||
|
_0x1952e1 = _0x2c476b?.["timeout"] || this.got?.["defaults"]?.["options"]?.["timeout"]?.["request"] || _0x182083,
|
||||||
|
_0x59ef9f = false;
|
||||||
|
await new Promise(async _0x421556 => {
|
||||||
|
setTimeout(() => {
|
||||||
|
_0x59ef9f = true;
|
||||||
|
_0x421556();
|
||||||
|
}, _0x1952e1);
|
||||||
|
await this.got(_0x2c476b).then(_0x1d84cb => {
|
||||||
|
_0x2d2118 = _0x1d84cb;
|
||||||
|
}, _0x12ec6e => {
|
||||||
|
_0x5a4ec4 = _0x12ec6e;
|
||||||
|
_0x2d2118 = _0x12ec6e.response;
|
||||||
|
_0x15759f = _0x5a4ec4?.["code"];
|
||||||
|
});
|
||||||
|
_0x421556();
|
||||||
|
});
|
||||||
|
if (_0x59ef9f) {
|
||||||
|
this.log("[" + _0x1692ef + "]请求超时(" + _0x1952e1 / 1000 + "秒),重试第" + _0x43077e + "次");
|
||||||
|
} else {
|
||||||
|
{
|
||||||
|
if (_0x57c026.includes(_0x5a4ec4?.["name"])) this.log("[" + _0x1692ef + "]请求超时(" + _0x5a4ec4.code + "),重试第" + _0x43077e + "次");else {
|
||||||
|
if (_0x15a3b6.includes(_0x5a4ec4?.["code"])) {
|
||||||
|
this.log("[" + _0x1692ef + "]请求错误(" + _0x5a4ec4.code + "),重试第" + _0x43077e + "次");
|
||||||
|
} else {
|
||||||
|
let _0x499f44 = _0x2d2118?.["statusCode"] || 999,
|
||||||
|
_0x487bac = _0x499f44 / 100 | 0;
|
||||||
|
_0x487bac > 3 && this.log("请求[" + _0x1692ef + "]返回[" + _0x499f44 + "]");
|
||||||
|
if (_0x487bac <= 4) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (_0x553de8) {
|
||||||
|
_0x553de8.name == "TimeoutError" ? this.log("[" + _0x1692ef + "]请求超时,重试第" + _0x43077e + "次") : this.log("[" + _0x1692ef + "]请求错误(" + _0x553de8.message + "),重试第" + _0x43077e + "次");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (_0x2d2118 == null) return Promise.resolve({
|
||||||
|
"statusCode": _0x15759f || -1,
|
||||||
|
"headers": null,
|
||||||
|
"result": null
|
||||||
|
});
|
||||||
|
let {
|
||||||
|
statusCode: _0x15e772,
|
||||||
|
headers: _0x2501a2,
|
||||||
|
body: _0x204398
|
||||||
|
} = _0x2d2118;
|
||||||
|
if (_0x204398) try {
|
||||||
|
_0x204398 = JSON.parse(_0x204398);
|
||||||
|
} catch {}
|
||||||
|
const _0x21a81f = {
|
||||||
|
"statusCode": _0x15e772,
|
||||||
|
"headers": _0x2501a2,
|
||||||
|
"result": _0x204398
|
||||||
|
};
|
||||||
|
return Promise.resolve(_0x21a81f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let _0x133ad6 = new _0x4c79d9();
|
||||||
|
class _0x5026b8 extends _0x4c79d9 {
|
||||||
|
constructor(_0x23d65b) {
|
||||||
|
super();
|
||||||
|
this.token = _0x23d65b;
|
||||||
|
this.got = this.got.extend({
|
||||||
|
"cookieJar": this.cookieJar,
|
||||||
|
"headers": {
|
||||||
|
"User-Agent": _0x36a3ce,
|
||||||
|
"work-wechat-userid": "",
|
||||||
|
"multi-store-id": "",
|
||||||
|
"gdt-vid": "",
|
||||||
|
"qz-gtd": "",
|
||||||
|
"scene": "1006",
|
||||||
|
"Qm-From": "wechat",
|
||||||
|
"store-id": 49006,
|
||||||
|
"Qm-User-Token": this.token,
|
||||||
|
"channelCode": "",
|
||||||
|
"Qm-From-Type": "catering",
|
||||||
|
"promotion-code": "",
|
||||||
|
"work-staff-name": "",
|
||||||
|
"work-staff-id": "",
|
||||||
|
"Accept": "v=1.0",
|
||||||
|
"Accept-Encoding": "gzip,compress,br,deflate",
|
||||||
|
"Referer": _0x1adc03
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
async ["personal_info"](_0x598608 = {}) {
|
||||||
|
let _0x24397b = false;
|
||||||
|
try {
|
||||||
|
const _0x496d1a = {
|
||||||
|
"appid": _0x50be96
|
||||||
|
},
|
||||||
|
_0x18d4d1 = {
|
||||||
|
"fn": "personal_info",
|
||||||
|
"method": "get",
|
||||||
|
"url": "https://webapi.qmai.cn/web/catering/crm/personal-info",
|
||||||
|
"searchParams": _0x496d1a
|
||||||
|
};
|
||||||
|
let {
|
||||||
|
result: _0x19b336,
|
||||||
|
statusCode: _0xdca021
|
||||||
|
} = await this.request(_0x18d4d1),
|
||||||
|
_0x1de7e8 = _0x22822c.get(_0x19b336, "code", _0xdca021);
|
||||||
|
if (_0x1de7e8 == 0) {
|
||||||
|
{
|
||||||
|
_0x24397b = this.valid = true;
|
||||||
|
let {
|
||||||
|
mobilePhone: _0x419254,
|
||||||
|
name: _0x5ab967
|
||||||
|
} = _0x19b336?.["data"];
|
||||||
|
this.name = _0x419254;
|
||||||
|
this.userName = _0x5ab967;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
let _0x1a9fa8 = _0x22822c.get(_0x19b336, "message", "");
|
||||||
|
this.log("登录失败: " + _0x1a9fa8);
|
||||||
|
}
|
||||||
|
} catch (_0x5cc7a1) {
|
||||||
|
console.log(_0x5cc7a1);
|
||||||
|
} finally {
|
||||||
|
return _0x24397b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["sign_detail"](_0x12d61d = {}) {
|
||||||
|
try {
|
||||||
|
{
|
||||||
|
const _0x4f8226 = {
|
||||||
|
"appid": _0x50be96
|
||||||
|
},
|
||||||
|
_0x5bc0c4 = {
|
||||||
|
"fn": "sign_detail",
|
||||||
|
"method": "post",
|
||||||
|
"url": "https://webapi.qmai.cn/web/catering/integral/sign/detail",
|
||||||
|
"json": _0x4f8226
|
||||||
|
};
|
||||||
|
let {
|
||||||
|
result: _0xdbe43a,
|
||||||
|
statusCode: _0x8c7f96
|
||||||
|
} = await this.request(_0x5bc0c4),
|
||||||
|
_0x57fa7a = _0x22822c.get(_0xdbe43a, "code", _0x8c7f96);
|
||||||
|
if (_0x57fa7a == 0) {
|
||||||
|
{
|
||||||
|
let {
|
||||||
|
continuityTotal: _0x2f384b,
|
||||||
|
signInDateList: _0x5e7d20,
|
||||||
|
activityId: _0x403c0d
|
||||||
|
} = _0xdbe43a?.["data"],
|
||||||
|
_0x5928f0 = false,
|
||||||
|
_0x20dde1 = _0x22822c.time("yyyy-MM-dd");
|
||||||
|
_0x5e7d20?.["includes"](_0x20dde1) && (_0x5928f0 = true);
|
||||||
|
this.log("旧版签到今天" + (_0x5928f0 ? "已" : "未") + "签到, 已连续签到" + _0x2f384b + "天");
|
||||||
|
!_0x5928f0 && (await this.signIn(_0x403c0d));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
let _0x4f3aad = _0x22822c.get(_0xdbe43a, "message", "");
|
||||||
|
this.log("查询旧版签到失败[" + _0x57fa7a + "]: " + _0x4f3aad);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (_0xfd690) {
|
||||||
|
console.log(_0xfd690);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["signIn"](_0xc779dc, _0x4c2bd6 = {}) {
|
||||||
|
try {
|
||||||
|
const _0x36f663 = {
|
||||||
|
"activityId": _0xc779dc,
|
||||||
|
"mobilePhone": this.name,
|
||||||
|
"userName": this.userName,
|
||||||
|
"appid": _0x50be96
|
||||||
|
},
|
||||||
|
_0x4568f1 = {
|
||||||
|
"fn": "signIn",
|
||||||
|
"method": "post",
|
||||||
|
"url": "https://webapi.qmai.cn/web/catering/integral/sign/signIn",
|
||||||
|
"json": _0x36f663
|
||||||
|
};
|
||||||
|
let {
|
||||||
|
result: _0x3d114b,
|
||||||
|
statusCode: _0x48d383
|
||||||
|
} = await this.request(_0x4568f1),
|
||||||
|
_0x568177 = _0x22822c.get(_0x3d114b, "code", _0x48d383);
|
||||||
|
if (_0x568177 == 0) {
|
||||||
|
{
|
||||||
|
const _0x16c8af = {
|
||||||
|
"notify": true
|
||||||
|
};
|
||||||
|
this.log("旧版签到成功", _0x16c8af);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
let _0x27ff9f = _0x22822c.get(_0x3d114b, "message", "");
|
||||||
|
this.log("旧版签到失败[" + _0x568177 + "]: " + _0x27ff9f);
|
||||||
|
}
|
||||||
|
} catch (_0x2ac68e) {
|
||||||
|
console.log(_0x2ac68e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["userSignStatistics"](_0x4bab26 = {}) {
|
||||||
|
try {
|
||||||
|
const _0x3e6e34 = {
|
||||||
|
"activityId": "947079313798000641",
|
||||||
|
"appid": _0x50be96
|
||||||
|
},
|
||||||
|
_0x13122a = {
|
||||||
|
"fn": "userSignStatistics",
|
||||||
|
"method": "post",
|
||||||
|
"url": "https://webapi.qmai.cn/web/cmk-center/sign/userSignStatistics",
|
||||||
|
"json": _0x3e6e34
|
||||||
|
};
|
||||||
|
let {
|
||||||
|
result: _0x594c54,
|
||||||
|
statusCode: _0x27479a
|
||||||
|
} = await this.request(_0x13122a),
|
||||||
|
_0x20ca00 = _0x22822c.get(_0x594c54, "code", _0x27479a);
|
||||||
|
if (_0x20ca00 == 0) {
|
||||||
|
{
|
||||||
|
let {
|
||||||
|
signDays: _0x585f14,
|
||||||
|
signStatus: _0x22aedb
|
||||||
|
} = _0x594c54?.["data"],
|
||||||
|
_0x4fd81b = _0x22aedb == 1;
|
||||||
|
this.log("新版签到今天" + (_0x4fd81b ? "已" : "未") + "签到, 已连续签到" + _0x585f14 + "天");
|
||||||
|
!_0x4fd81b && (await this.takePartInSign());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
let _0x310cbd = _0x22822c.get(_0x594c54, "message", "");
|
||||||
|
this.log("查询新版签到失败[" + _0x20ca00 + "]: " + _0x310cbd);
|
||||||
|
}
|
||||||
|
} catch (_0x20b0e4) {
|
||||||
|
console.log(_0x20b0e4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["takePartInSign"](_0x48efd6 = {}) {
|
||||||
|
try {
|
||||||
|
const _0x44b325 = {
|
||||||
|
"activityId": "947079313798000641",
|
||||||
|
"appid": _0x50be96
|
||||||
|
},
|
||||||
|
_0x2733ab = {
|
||||||
|
"fn": "takePartInSign",
|
||||||
|
"method": "post",
|
||||||
|
"url": "https://webapi.qmai.cn/web/cmk-center/sign/takePartInSign",
|
||||||
|
"json": _0x44b325
|
||||||
|
};
|
||||||
|
let {
|
||||||
|
result: _0x285c82,
|
||||||
|
statusCode: _0x148e52
|
||||||
|
} = await this.request(_0x2733ab),
|
||||||
|
_0x4f6bec = _0x22822c.get(_0x285c82, "code", _0x148e52);
|
||||||
|
if (_0x4f6bec == 0) {
|
||||||
|
{
|
||||||
|
const _0x3a28c6 = {
|
||||||
|
"notify": true
|
||||||
|
};
|
||||||
|
this.log("新版签到成功", _0x3a28c6);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
let _0x439e4a = _0x22822c.get(_0x285c82, "message", "");
|
||||||
|
this.log("新版签到失败[" + _0x4f6bec + "]: " + _0x439e4a);
|
||||||
|
}
|
||||||
|
} catch (_0x57f683) {
|
||||||
|
console.log(_0x57f683);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["points_info"](_0x11c245 = {}) {
|
||||||
|
try {
|
||||||
|
const _0x4418a9 = {
|
||||||
|
"appid": _0x50be96
|
||||||
|
},
|
||||||
|
_0x4a3968 = {
|
||||||
|
"fn": "points_info",
|
||||||
|
"method": "post",
|
||||||
|
"url": "https://webapi.qmai.cn/web/catering/crm/points-info",
|
||||||
|
"json": _0x4418a9
|
||||||
|
};
|
||||||
|
let {
|
||||||
|
result: _0x333894,
|
||||||
|
statusCode: _0x41c61b
|
||||||
|
} = await this.request(_0x4a3968),
|
||||||
|
_0x4ac555 = _0x22822c.get(_0x333894, "code", _0x41c61b);
|
||||||
|
if (_0x4ac555 == 0) {
|
||||||
|
let {
|
||||||
|
soonExpiredPoints: _0x1ee018,
|
||||||
|
totalPoints: _0x5d3ffb,
|
||||||
|
expiredTime: _0x271e92
|
||||||
|
} = _0x333894?.["data"];
|
||||||
|
const _0x36151a = {
|
||||||
|
"notify": true
|
||||||
|
};
|
||||||
|
this.log("积分: " + _0x5d3ffb, _0x36151a);
|
||||||
|
if (_0x1ee018) {
|
||||||
|
const _0x1b318e = {
|
||||||
|
"notify": true
|
||||||
|
};
|
||||||
|
this.log("有" + _0x1ee018 + "积分将于[" + _0x271e92 + "]过期", _0x1b318e);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
{
|
||||||
|
let _0x4f796a = _0x22822c.get(_0x333894, "message", "");
|
||||||
|
this.log("查询积分失败[" + _0x4ac555 + "]: " + _0x4f796a);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (_0x333089) {
|
||||||
|
console.log(_0x333089);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["userTask"](_0x585f25 = {}) {
|
||||||
|
if (!(await this.personal_info())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
await this.sign_detail();
|
||||||
|
await this.userSignStatistics();
|
||||||
|
await this.points_info();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
!(async () => {
|
||||||
|
_0x22822c.read_env(_0x5026b8);
|
||||||
|
for (let _0x481d4c of _0x22822c.userList) {
|
||||||
|
await _0x481d4c.userTask();
|
||||||
|
}
|
||||||
|
})().catch(_0x40193d => _0x22822c.log(_0x40193d)).finally(() => _0x22822c.exitNow());
|
||||||
|
async function _0x1300b9(_0x13b3c8 = 0) {
|
||||||
|
let _0x24ed10 = false;
|
||||||
|
try {
|
||||||
|
const _0x5742b3 = {
|
||||||
|
"fn": "auth",
|
||||||
|
"method": "get",
|
||||||
|
"url": _0x3a487f,
|
||||||
|
"timeout": 20000
|
||||||
|
};
|
||||||
|
let {
|
||||||
|
statusCode: _0xca4918,
|
||||||
|
result: _0x23869e
|
||||||
|
} = await _0x133ad6.request(_0x5742b3);
|
||||||
|
if (_0xca4918 != 200) {
|
||||||
|
_0x13b3c8++ < _0x1f020e && (_0x24ed10 = await _0x1300b9(_0x13b3c8));
|
||||||
|
return _0x24ed10;
|
||||||
|
}
|
||||||
|
if (_0x23869e?.["code"] == 0) {
|
||||||
|
_0x23869e = JSON.parse(_0x23869e.data.file.data);
|
||||||
|
if (_0x23869e?.["commonNotify"] && _0x23869e.commonNotify.length > 0) {
|
||||||
|
const _0x556cf9 = {
|
||||||
|
"notify": true
|
||||||
|
};
|
||||||
|
_0x22822c.log(_0x23869e.commonNotify.join("\n") + "\n", _0x556cf9);
|
||||||
|
}
|
||||||
|
_0x23869e?.["commonMsg"] && _0x23869e.commonMsg.length > 0 && _0x22822c.log(_0x23869e.commonMsg.join("\n") + "\n");
|
||||||
|
if (_0x23869e[_0x5edf7d]) {
|
||||||
|
{
|
||||||
|
let _0xf08380 = _0x23869e[_0x5edf7d];
|
||||||
|
_0xf08380.status == 0 ? _0x34947f >= _0xf08380.version ? (_0x24ed10 = true, _0x22822c.log(_0xf08380.msg[_0xf08380.status]), _0x22822c.log(_0xf08380.updateMsg), _0x22822c.log("现在运行的脚本版本是:" + _0x34947f + ",最新脚本版本:" + _0xf08380.latestVersion)) : _0x22822c.log(_0xf08380.versionMsg) : _0x22822c.log(_0xf08380.msg[_0xf08380.status]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
_0x22822c.log(_0x23869e.errorMsg);
|
||||||
|
}
|
||||||
|
} else _0x13b3c8++ < _0x1f020e && (_0x24ed10 = await _0x1300b9(_0x13b3c8));
|
||||||
|
} catch (_0xcd516c) {
|
||||||
|
_0x22822c.log(_0xcd516c);
|
||||||
|
} finally {
|
||||||
|
return _0x24ed10;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async function _0x449e65() {
|
||||||
|
let _0x2a3f7c = false;
|
||||||
|
try {
|
||||||
|
const _0x289fd7 = {
|
||||||
|
"fn": "auth",
|
||||||
|
"method": "get",
|
||||||
|
"url": _0x51003c
|
||||||
|
};
|
||||||
|
let {
|
||||||
|
statusCode: _0x5b19e8,
|
||||||
|
result: _0x5420a0
|
||||||
|
} = await _0x133ad6.request(_0x289fd7);
|
||||||
|
if (_0x5b19e8 != 200) {
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
if (_0x5420a0?.["code"] == 0) {
|
||||||
|
_0x5420a0 = JSON.parse(_0x5420a0.data.file.data);
|
||||||
|
ownerId = _0x5420a0?.["ownerId"] || ownerId;
|
||||||
|
share_app = _0x5420a0?.["share_app"] || share_app;
|
||||||
|
for (let _0x2a6212 of _0x5420a0.chdTask.simple) {
|
||||||
|
!task_chd_simple_list.filter(_0x2d0f4f => _0x2d0f4f.missionDefId == _0x2a6212.missionDefId && _0x2d0f4f.missionCollectionId == _0x2a6212.missionCollectionId).length && task_chd_simple_list.push(_0x2a6212);
|
||||||
|
}
|
||||||
|
for (let _0x323d3b of _0x5420a0.chdTask.pageview) {
|
||||||
|
!task_chd_pageview_list.filter(_0x5f5151 => _0x5f5151.missionDefId == _0x323d3b.missionDefId && _0x5f5151.missionCollectionId == _0x323d3b.missionCollectionId).length && task_chd_pageview_list.push(_0x323d3b);
|
||||||
|
}
|
||||||
|
for (let _0x55488a of _0x5420a0.tkjTask.simple) {
|
||||||
|
!task_tkj_simple_list.filter(_0x5c1c82 => _0x5c1c82.missionDefId == _0x55488a.missionDefId && _0x5c1c82.missionCollectionId == _0x55488a.missionCollectionId).length && task_tkj_simple_list.push(_0x55488a);
|
||||||
|
}
|
||||||
|
for (let _0x3a0b02 of _0x5420a0.tkjTask.pageview) {
|
||||||
|
!task_tkj_pageview_list.filter(_0x676cd6 => _0x676cd6.missionDefId == _0x3a0b02.missionDefId && _0x676cd6.missionCollectionId == _0x3a0b02.missionCollectionId).length && task_tkj_pageview_list.push(_0x3a0b02);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (_0x2f90c3) {
|
||||||
|
_0x22822c.log(_0x2f90c3);
|
||||||
|
} finally {
|
||||||
|
return Promise.resolve(_0x2a3f7c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function _0x2fbb6b(_0x5a60f2) {
|
||||||
|
return new class {
|
||||||
|
constructor(_0x550e45) {
|
||||||
|
this.name = _0x550e45;
|
||||||
|
this.startTime = Date.now();
|
||||||
|
const _0x5da069 = {
|
||||||
|
"time": true
|
||||||
|
};
|
||||||
|
this.log("[" + this.name + "]开始运行\n", _0x5da069);
|
||||||
|
this.notifyStr = [];
|
||||||
|
this.notifyFlag = true;
|
||||||
|
this.userIdx = 0;
|
||||||
|
this.userList = [];
|
||||||
|
this.userCount = 0;
|
||||||
|
this.default_timestamp_len = 13;
|
||||||
|
this.default_wait_interval = 1000;
|
||||||
|
this.default_wait_limit = 3600000;
|
||||||
|
this.default_wait_ahead = 0;
|
||||||
|
}
|
||||||
|
["log"](_0x5dd587, _0x28ad17 = {}) {
|
||||||
|
const _0xa88ce4 = {
|
||||||
|
"console": true
|
||||||
|
};
|
||||||
|
Object.assign(_0xa88ce4, _0x28ad17);
|
||||||
|
if (_0xa88ce4.time) {
|
||||||
|
let _0x4b5660 = _0xa88ce4.fmt || "hh:mm:ss";
|
||||||
|
_0x5dd587 = "[" + this.time(_0x4b5660) + "]" + _0x5dd587;
|
||||||
|
}
|
||||||
|
_0xa88ce4.notify && this.notifyStr.push(_0x5dd587);
|
||||||
|
_0xa88ce4.console && console.log(_0x5dd587);
|
||||||
|
}
|
||||||
|
["get"](_0xde4086, _0x22838d, _0x2abb13 = "") {
|
||||||
|
{
|
||||||
|
let _0x40cf9a = _0x2abb13;
|
||||||
|
_0xde4086?.["hasOwnProperty"](_0x22838d) && (_0x40cf9a = _0xde4086[_0x22838d]);
|
||||||
|
return _0x40cf9a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["pop"](_0x4b85cf, _0x3962d5, _0x1069d0 = "") {
|
||||||
|
let _0x28a076 = _0x1069d0;
|
||||||
|
_0x4b85cf?.["hasOwnProperty"](_0x3962d5) && (_0x28a076 = _0x4b85cf[_0x3962d5], delete _0x4b85cf[_0x3962d5]);
|
||||||
|
return _0x28a076;
|
||||||
|
}
|
||||||
|
["copy"](_0x396bf8) {
|
||||||
|
return Object.assign({}, _0x396bf8);
|
||||||
|
}
|
||||||
|
["read_env"](_0x2e93f3) {
|
||||||
|
{
|
||||||
|
let _0x381a6b = _0x25b427.map(_0x47ab17 => process.env[_0x47ab17]);
|
||||||
|
for (let _0x43c049 of _0x381a6b.filter(_0x1285c3 => !!_0x1285c3)) {
|
||||||
|
for (let _0x46a19a of _0x43c049.split(_0x4e95c6).filter(_0x1a9a0b => !!_0x1a9a0b)) {
|
||||||
|
if (this.userList.includes(_0x46a19a)) continue;
|
||||||
|
this.userList.push(new _0x2e93f3(_0x46a19a));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.userCount = this.userList.length;
|
||||||
|
if (!this.userCount) {
|
||||||
|
const _0x3608c4 = {
|
||||||
|
"notify": true
|
||||||
|
};
|
||||||
|
this.log("未找到变量,请检查变量" + _0x25b427.map(_0x357aa2 => "[" + _0x357aa2 + "]").join("或"), _0x3608c4);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this.log("共找到" + this.userCount + "个账号");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["time"](_0x3f533b, _0x4227ff = null) {
|
||||||
|
{
|
||||||
|
let _0x2c9a96 = _0x4227ff ? new Date(_0x4227ff) : new Date(),
|
||||||
|
_0x2f82c8 = {
|
||||||
|
"M+": _0x2c9a96.getMonth() + 1,
|
||||||
|
"d+": _0x2c9a96.getDate(),
|
||||||
|
"h+": _0x2c9a96.getHours(),
|
||||||
|
"m+": _0x2c9a96.getMinutes(),
|
||||||
|
"s+": _0x2c9a96.getSeconds(),
|
||||||
|
"q+": Math.floor((_0x2c9a96.getMonth() + 3) / 3),
|
||||||
|
"S": this.padStr(_0x2c9a96.getMilliseconds(), 3)
|
||||||
|
};
|
||||||
|
/(y+)/.test(_0x3f533b) && (_0x3f533b = _0x3f533b.replace(RegExp.$1, (_0x2c9a96.getFullYear() + "").substr(4 - RegExp.$1.length)));
|
||||||
|
for (let _0x58d9a1 in _0x2f82c8) new RegExp("(" + _0x58d9a1 + ")").test(_0x3f533b) && (_0x3f533b = _0x3f533b.replace(RegExp.$1, 1 == RegExp.$1.length ? _0x2f82c8[_0x58d9a1] : ("00" + _0x2f82c8[_0x58d9a1]).substr(("" + _0x2f82c8[_0x58d9a1]).length)));
|
||||||
|
return _0x3f533b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["showmsg"]() {
|
||||||
|
{
|
||||||
|
if (!this.notifyFlag) return;
|
||||||
|
if (!this.notifyStr.length) return;
|
||||||
|
var _0x29aa8f = require("./sendNotify");
|
||||||
|
this.log("\n============== 推送 ==============");
|
||||||
|
await _0x29aa8f.sendNotify(this.name, this.notifyStr.join("\n"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["padStr"](_0x3e358a, _0x3981da, _0x180e22 = {}) {
|
||||||
|
let _0x498d14 = _0x180e22.padding || "0",
|
||||||
|
_0x5623a2 = _0x180e22.mode || "l",
|
||||||
|
_0x6ddb3f = String(_0x3e358a),
|
||||||
|
_0xc35a53 = _0x3981da > _0x6ddb3f.length ? _0x3981da - _0x6ddb3f.length : 0,
|
||||||
|
_0x240fce = "";
|
||||||
|
for (let _0x4d8451 = 0; _0x4d8451 < _0xc35a53; _0x4d8451++) {
|
||||||
|
_0x240fce += _0x498d14;
|
||||||
|
}
|
||||||
|
_0x5623a2 == "r" ? _0x6ddb3f = _0x6ddb3f + _0x240fce : _0x6ddb3f = _0x240fce + _0x6ddb3f;
|
||||||
|
return _0x6ddb3f;
|
||||||
|
}
|
||||||
|
["json2str"](_0x69c92d, _0x3f4b18, _0x5a0d0f = false) {
|
||||||
|
let _0x4db271 = [];
|
||||||
|
for (let _0x1dda5e of Object.keys(_0x69c92d).sort()) {
|
||||||
|
{
|
||||||
|
let _0x428726 = _0x69c92d[_0x1dda5e];
|
||||||
|
_0x428726 && _0x5a0d0f && (_0x428726 = encodeURIComponent(_0x428726));
|
||||||
|
_0x4db271.push(_0x1dda5e + "=" + _0x428726);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return _0x4db271.join(_0x3f4b18);
|
||||||
|
}
|
||||||
|
["str2json"](_0x4ef120, _0x5116b7 = false) {
|
||||||
|
let _0x3ff4b1 = {};
|
||||||
|
for (let _0x2c2c0d of _0x4ef120.split("&")) {
|
||||||
|
if (!_0x2c2c0d) continue;
|
||||||
|
let _0x3f58d7 = _0x2c2c0d.indexOf("=");
|
||||||
|
if (_0x3f58d7 == -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
let _0x5c0461 = _0x2c2c0d.substr(0, _0x3f58d7),
|
||||||
|
_0x324223 = _0x2c2c0d.substr(_0x3f58d7 + 1);
|
||||||
|
_0x5116b7 && (_0x324223 = decodeURIComponent(_0x324223));
|
||||||
|
_0x3ff4b1[_0x5c0461] = _0x324223;
|
||||||
|
}
|
||||||
|
return _0x3ff4b1;
|
||||||
|
}
|
||||||
|
["randomPattern"](_0x16140f, _0x213ac1 = "abcdef0123456789") {
|
||||||
|
let _0x16b674 = "";
|
||||||
|
for (let _0xc4493c of _0x16140f) {
|
||||||
|
{
|
||||||
|
if (_0xc4493c == "x") _0x16b674 += _0x213ac1.charAt(Math.floor(Math.random() * _0x213ac1.length));else {
|
||||||
|
_0xc4493c == "X" ? _0x16b674 += _0x213ac1.charAt(Math.floor(Math.random() * _0x213ac1.length)).toUpperCase() : _0x16b674 += _0xc4493c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return _0x16b674;
|
||||||
|
}
|
||||||
|
["randomUuid"]() {
|
||||||
|
return this.randomPattern("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
|
||||||
|
}
|
||||||
|
["randomString"](_0x3b342b, _0xb68c8b = "abcdef0123456789") {
|
||||||
|
let _0x5555ab = "";
|
||||||
|
for (let _0xcaef55 = 0; _0xcaef55 < _0x3b342b; _0xcaef55++) {
|
||||||
|
_0x5555ab += _0xb68c8b.charAt(Math.floor(Math.random() * _0xb68c8b.length));
|
||||||
|
}
|
||||||
|
return _0x5555ab;
|
||||||
|
}
|
||||||
|
["randomList"](_0x470a5f) {
|
||||||
|
let _0x411d03 = Math.floor(Math.random() * _0x470a5f.length);
|
||||||
|
return _0x470a5f[_0x411d03];
|
||||||
|
}
|
||||||
|
["wait"](_0x5c7c0c) {
|
||||||
|
return new Promise(_0x3351a0 => setTimeout(_0x3351a0, _0x5c7c0c));
|
||||||
|
}
|
||||||
|
async ["exitNow"]() {
|
||||||
|
await this.showmsg();
|
||||||
|
let _0x18decd = Date.now(),
|
||||||
|
_0x430aef = (_0x18decd - this.startTime) / 1000;
|
||||||
|
this.log("");
|
||||||
|
const _0xd410dc = {
|
||||||
|
"time": true
|
||||||
|
};
|
||||||
|
this.log("[" + this.name + "]运行结束,共运行了" + _0x430aef + "秒", _0xd410dc);
|
||||||
|
console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<=");
|
||||||
|
console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<=");
|
||||||
|
console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<=");
|
||||||
|
console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<=");
|
||||||
|
console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<=");
|
||||||
|
console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<=");
|
||||||
|
console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<=");
|
||||||
|
console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<=");
|
||||||
|
console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<=");
|
||||||
|
console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<=");
|
||||||
|
process.exit(0);
|
||||||
|
}
|
||||||
|
["normalize_time"](_0x22f45c, _0x55a4f8 = {}) {
|
||||||
|
{
|
||||||
|
let _0x264a22 = _0x55a4f8.len || this.default_timestamp_len;
|
||||||
|
_0x22f45c = _0x22f45c.toString();
|
||||||
|
let _0x552842 = _0x22f45c.length;
|
||||||
|
while (_0x552842 < _0x264a22) {
|
||||||
|
_0x22f45c += "0";
|
||||||
|
}
|
||||||
|
_0x552842 > _0x264a22 && (_0x22f45c = _0x22f45c.slice(0, 13));
|
||||||
|
return parseInt(_0x22f45c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["wait_until"](_0xe30940, _0x5833a2 = {}) {
|
||||||
|
let _0x417d24 = _0x5833a2.logger || this,
|
||||||
|
_0x4d19f9 = _0x5833a2.interval || this.default_wait_interval,
|
||||||
|
_0x126ddf = _0x5833a2.limit || this.default_wait_limit,
|
||||||
|
_0x852c0e = _0x5833a2.ahead || this.default_wait_ahead;
|
||||||
|
if (typeof _0xe30940 == "string" && _0xe30940.includes(":")) {
|
||||||
|
{
|
||||||
|
if (_0xe30940.includes("-")) _0xe30940 = new Date(_0xe30940).getTime();else {
|
||||||
|
let _0x4bd7fc = this.time("yyyy-MM-dd ");
|
||||||
|
_0xe30940 = new Date(_0x4bd7fc + _0xe30940).getTime();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let _0x5de99b = this.normalize_time(_0xe30940) - _0x852c0e,
|
||||||
|
_0x2a58dd = this.time("hh:mm:ss.S", _0x5de99b),
|
||||||
|
_0x3d2ee4 = Date.now();
|
||||||
|
_0x3d2ee4 > _0x5de99b && (_0x5de99b += 86400000);
|
||||||
|
let _0x5f0c85 = _0x5de99b - _0x3d2ee4;
|
||||||
|
if (_0x5f0c85 > _0x126ddf) {
|
||||||
|
const _0x48e0d9 = {
|
||||||
|
"time": true
|
||||||
|
};
|
||||||
|
_0x417d24.log("离目标时间[" + _0x2a58dd + "]大于" + _0x126ddf / 1000 + "秒,不等待", _0x48e0d9);
|
||||||
|
} else {
|
||||||
|
{
|
||||||
|
const _0x2536f0 = {
|
||||||
|
"time": true
|
||||||
|
};
|
||||||
|
_0x417d24.log("离目标时间[" + _0x2a58dd + "]还有" + _0x5f0c85 / 1000 + "秒,开始等待", _0x2536f0);
|
||||||
|
while (_0x5f0c85 > 0) {
|
||||||
|
{
|
||||||
|
let _0x138b1c = Math.min(_0x5f0c85, _0x4d19f9);
|
||||||
|
await this.wait(_0x138b1c);
|
||||||
|
_0x3d2ee4 = Date.now();
|
||||||
|
_0x5f0c85 = _0x5de99b - _0x3d2ee4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const _0x6e1051 = {
|
||||||
|
"time": true
|
||||||
|
};
|
||||||
|
_0x417d24.log("已完成等待", _0x6e1051);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["wait_gap_interval"](_0x5f35a4, _0x3c7f4a) {
|
||||||
|
{
|
||||||
|
let _0x52cef1 = Date.now() - _0x5f35a4;
|
||||||
|
_0x52cef1 < _0x3c7f4a && (await this.wait(_0x3c7f4a - _0x52cef1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}(_0x5a60f2);
|
||||||
|
}
|
||||||
481
wxapp/植白说.js
Normal file
481
wxapp/植白说.js
Normal file
@@ -0,0 +1,481 @@
|
|||||||
|
/**
|
||||||
|
* 植白说v1.0
|
||||||
|
* const $ = new Env("植白说");
|
||||||
|
* cron 10 6,15 * * * 植白说.js
|
||||||
|
*
|
||||||
|
* ========= 青龙--配置文件 ===========
|
||||||
|
* # 项目名称
|
||||||
|
* export zbsxcx='X-Dts-Token'
|
||||||
|
|
||||||
|
* 抓包请求 https://zbs.20171026.com/demo/取出X-Dts-Token
|
||||||
|
|
||||||
|
* 多账号换行、@ 或 & 隔开
|
||||||
|
* 说明:根据群友Maric提示恢复脚本,貌似是随着时间token有效期会越来越长
|
||||||
|
* 奖励:签到/分享 牛奶活动
|
||||||
|
* 注册入口:#小程序://植白说/cIiT4iMItmJ1EZi
|
||||||
|
* ====================================
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//Sat Jan 25 2025 08:30:22 GMT+0000 (Coordinated Universal Time)
|
||||||
|
//Base:https://github.com/echo094/decode-js
|
||||||
|
//Modify:https://github.com/smallfawn/decode_action
|
||||||
|
const _0x3065e9 = new _0x14a79b("植白说");
|
||||||
|
let _0x594a0a = "zbsxcx",
|
||||||
|
_0x1ad327 = ["\n", "&", "@"],
|
||||||
|
_0x5d9ea2 = (_0x3065e9.isNode() ? process.env[_0x594a0a] : _0x3065e9.getdata(_0x594a0a)) || "",
|
||||||
|
_0x23139a = [],
|
||||||
|
_0x5845aa = 0;
|
||||||
|
class _0x4f7def {
|
||||||
|
constructor(_0x44f7e1) {
|
||||||
|
this.index = ++_0x5845aa;
|
||||||
|
this.valid = false;
|
||||||
|
this.activedAuthToken = _0x44f7e1;
|
||||||
|
}
|
||||||
|
async ["taskApi"](_0x8df8fd, _0x52db04, _0x5ede90, _0x1961e6) {
|
||||||
|
let _0x11a1db = null;
|
||||||
|
try {
|
||||||
|
let _0x19ca83 = {
|
||||||
|
"url": _0x5ede90,
|
||||||
|
"headers": {
|
||||||
|
"X-DTS-Token": this.activedAuthToken,
|
||||||
|
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF XWEB/8237",
|
||||||
|
"xweb_xhr": "1"
|
||||||
|
},
|
||||||
|
"timeout": 60000,
|
||||||
|
"rejectUnauthorized": false
|
||||||
|
};
|
||||||
|
if (_0x1961e6) {
|
||||||
|
_0x19ca83.body = _0x1961e6;
|
||||||
|
_0x19ca83.headers["Content-Length"] = _0x1961e6?.["length"];
|
||||||
|
}
|
||||||
|
await _0x2ef80e(_0x52db04, _0x19ca83).then(async _0xe0f650 => {
|
||||||
|
{
|
||||||
|
if (_0xe0f650.resp?.["statusCode"] == 200) {
|
||||||
|
if (_0xe0f650.resp?.["body"]) _0x11a1db = JSON.parse(_0xe0f650.resp.body);else {}
|
||||||
|
} else console.log("账号[" + this.index + "]调用" + _0x52db04 + "[" + _0x8df8fd + "]出错,返回状态码[" + (_0xe0f650.resp?.["statusCode"] || "") + "]", "返回结果:", _0xe0f650.resp?.["body"]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (_0x4fad44) {
|
||||||
|
console.log(_0x4fad44);
|
||||||
|
} finally {
|
||||||
|
return Promise.resolve(_0x11a1db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["Sign"]() {
|
||||||
|
try {
|
||||||
|
{
|
||||||
|
let _0x4a533a = "Sign",
|
||||||
|
_0x420ae1 = "get",
|
||||||
|
_0x1fbcef = "https://zbs.20171026.com/demo/wx/home/signDay",
|
||||||
|
_0x1c108f = "";
|
||||||
|
return await this.taskApi(_0x4a533a, _0x420ae1, _0x1fbcef, _0x1c108f).then(async _0x136d6b => {
|
||||||
|
{
|
||||||
|
if (_0x136d6b?.["errno"] === 0) return console.log("账号[" + this.index + "] 签到成功,签到次数:" + _0x136d6b?.["data"]?.["signCount"] + ",积分余额: " + _0x136d6b?.["data"]?.["integral"]), this.valid = true, true;else _0x3065e9.logAndNotify("账号[" + this.index + "] - 积分签到失败:" + (_0x136d6b?.["errmsg"] || JSON.stringify(_0x136d6b))), this.valid = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (_0x396548) {
|
||||||
|
console.log(_0x396548);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["Share"]() {
|
||||||
|
try {
|
||||||
|
let _0x33e5b6 = "Share",
|
||||||
|
_0x2bff16 = "get",
|
||||||
|
_0x3f4521 = "https://zbs.20171026.com/demo/wx/user/addIntegralByShare",
|
||||||
|
_0x4d3189 = "";
|
||||||
|
return await this.taskApi(_0x33e5b6, _0x2bff16, _0x3f4521, _0x4d3189).then(async _0x5d0bf3 => {
|
||||||
|
{
|
||||||
|
if (_0x5d0bf3?.["errno"] === 0) {
|
||||||
|
console.log("账号[" + this.index + "] 分享成功,增加 1 积分");
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
_0x3065e9.logAndNotify("账号[" + this.index + "] - 分享失败:" + (_0x5d0bf3?.["errmsg"] || JSON.stringify(_0x5d0bf3)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (_0x1f98fa) {
|
||||||
|
console.log(_0x1f98fa);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["doTask"]() {
|
||||||
|
try {
|
||||||
|
console.log("\n============= 账号[" + this.index + "] 开始执行 分享任务=============");
|
||||||
|
await _0x3065e9.wait(Math.random() * 200);
|
||||||
|
for (let _0x50253a = 0; _0x50253a < 3; _0x50253a++) {
|
||||||
|
await this.Share();
|
||||||
|
await _0x3065e9.wait(Math.random() * 1000);
|
||||||
|
}
|
||||||
|
} catch (_0x2b25f0) {
|
||||||
|
console.log(_0x2b25f0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
!(async () => {
|
||||||
|
if (typeof $request !== "undefined") await _0x1b91d9();else {
|
||||||
|
if (!(await _0x2f2542())) return;
|
||||||
|
console.log("\n================ 开始执行 ================");
|
||||||
|
for (let _0x19ed95 of _0x23139a) {
|
||||||
|
console.log("----------- 执行 第 [" + _0x19ed95.index + "] 个账号 -----------");
|
||||||
|
await _0x19ed95.Sign();
|
||||||
|
await _0x3065e9.wait(Math.random() * 200);
|
||||||
|
}
|
||||||
|
let _0x7fb3c1 = _0x23139a.filter(_0x2bd556 => _0x2bd556.valid);
|
||||||
|
if (_0x7fb3c1.length > 0) {
|
||||||
|
console.log("\n================ 任务队列构建完毕 ================");
|
||||||
|
for (let _0x249a61 of _0x7fb3c1) {
|
||||||
|
console.log("----------- 账号[" + _0x249a61.index + "] -----------");
|
||||||
|
await _0x249a61.doTask();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log("\n====幻生提示:无可用账号,请检查配置============ 任务结束 ================");
|
||||||
|
}
|
||||||
|
await _0x3065e9.showmsg();
|
||||||
|
}
|
||||||
|
})().catch(_0x3de5ae => console.log(_0x3de5ae)).finally(() => _0x3065e9.done());
|
||||||
|
async function _0x1b91d9() {}
|
||||||
|
async function _0x2f2542() {
|
||||||
|
if (_0x5d9ea2) {
|
||||||
|
{
|
||||||
|
let _0x506c52 = _0x1ad327[0];
|
||||||
|
for (let _0x16a0d0 of _0x1ad327) {
|
||||||
|
if (_0x5d9ea2.indexOf(_0x16a0d0) > -1) {
|
||||||
|
{
|
||||||
|
_0x506c52 = _0x16a0d0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (let _0x2460f4 of _0x5d9ea2.split(_0x506c52)) {
|
||||||
|
{
|
||||||
|
if (_0x2460f4) _0x23139a.push(new _0x4f7def(_0x2460f4));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
userCount = _0x23139a.length;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log("未找到 配置信息,请检查是否配置 变量:", _0x594a0a);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log("共找到" + userCount + "个账号");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
async function _0x2ef80e(_0x22e525, _0xf7da77) {
|
||||||
|
httpErr = null;
|
||||||
|
httpReq = null;
|
||||||
|
httpResp = null;
|
||||||
|
return new Promise(_0x1e7c15 => {
|
||||||
|
_0x3065e9.send(_0x22e525, _0xf7da77, async (_0x1a63ab, _0x304b42, _0x47c7a2) => {
|
||||||
|
httpErr = _0x1a63ab;
|
||||||
|
httpReq = _0x304b42;
|
||||||
|
httpResp = _0x47c7a2;
|
||||||
|
_0x1e7c15({
|
||||||
|
"err": _0x1a63ab,
|
||||||
|
"req": _0x304b42,
|
||||||
|
"resp": _0x47c7a2
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function _0x14a79b(_0x4038d3, _0x4c648e) {
|
||||||
|
"undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0);
|
||||||
|
return new class {
|
||||||
|
constructor(_0xc41156, _0x297ded) {
|
||||||
|
this.name = _0xc41156;
|
||||||
|
this.notifyStr = "";
|
||||||
|
this.startTime = new Date().getTime();
|
||||||
|
Object.assign(this, _0x297ded);
|
||||||
|
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"](_0x1c89dc) {
|
||||||
|
let _0x5f3c83 = this.getval(_0x1c89dc);
|
||||||
|
if (/^@/.test(_0x1c89dc)) {
|
||||||
|
const [, _0x4b7142, _0x5ba969] = /^@(.*?)\.(.*?)$/.exec(_0x1c89dc),
|
||||||
|
_0x45f3e6 = _0x4b7142 ? this.getval(_0x4b7142) : "";
|
||||||
|
if (_0x45f3e6) try {
|
||||||
|
const _0x1de99b = JSON.parse(_0x45f3e6);
|
||||||
|
_0x5f3c83 = _0x1de99b ? this.lodash_get(_0x1de99b, _0x5ba969, "") : _0x5f3c83;
|
||||||
|
} catch (_0xb8b62e) {
|
||||||
|
_0x5f3c83 = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return _0x5f3c83;
|
||||||
|
}
|
||||||
|
["setdata"](_0x90cff, _0x59643e) {
|
||||||
|
{
|
||||||
|
let _0x28ca60 = false;
|
||||||
|
if (/^@/.test(_0x59643e)) {
|
||||||
|
const [, _0x38c422, _0x26c375] = /^@(.*?)\.(.*?)$/.exec(_0x59643e),
|
||||||
|
_0x14a0cc = this.getval(_0x38c422),
|
||||||
|
_0x10f203 = _0x38c422 ? "null" === _0x14a0cc ? null : _0x14a0cc || "{}" : "{}";
|
||||||
|
try {
|
||||||
|
const _0x1b9f14 = JSON.parse(_0x10f203);
|
||||||
|
this.lodash_set(_0x1b9f14, _0x26c375, _0x90cff);
|
||||||
|
_0x28ca60 = this.setval(JSON.stringify(_0x1b9f14), _0x38c422);
|
||||||
|
} catch (_0x4ce4bd) {
|
||||||
|
const _0x4defda = {};
|
||||||
|
this.lodash_set(_0x4defda, _0x26c375, _0x90cff);
|
||||||
|
_0x28ca60 = this.setval(JSON.stringify(_0x4defda), _0x38c422);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
_0x28ca60 = this.setval(_0x90cff, _0x59643e);
|
||||||
|
}
|
||||||
|
return _0x28ca60;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["getval"](_0x4e2aac) {
|
||||||
|
return this.isSurge() || this.isLoon() ? $persistentStore.read(_0x4e2aac) : this.isQuanX() ? $prefs.valueForKey(_0x4e2aac) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x4e2aac]) : this.data && this.data[_0x4e2aac] || null;
|
||||||
|
}
|
||||||
|
["setval"](_0x4901e5, _0xdb3502) {
|
||||||
|
return this.isSurge() || this.isLoon() ? $persistentStore.write(_0x4901e5, _0xdb3502) : this.isQuanX() ? $prefs.setValueForKey(_0x4901e5, _0xdb3502) : this.isNode() ? (this.data = this.loaddata(), this.data[_0xdb3502] = _0x4901e5, this.writedata(), true) : this.data && this.data[_0xdb3502] || null;
|
||||||
|
}
|
||||||
|
["send"](_0x528a53, _0x1062b7, _0x3a681d = () => {}) {
|
||||||
|
{
|
||||||
|
if (_0x528a53 != "get" && _0x528a53 != "post" && _0x528a53 != "put" && _0x528a53 != "delete") {
|
||||||
|
console.log("无效的http方法:" + _0x528a53);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (_0x528a53 == "get" && _0x1062b7.headers) delete _0x1062b7.headers["Content-Type"], delete _0x1062b7.headers["Content-Length"];else {
|
||||||
|
if (_0x1062b7.body && _0x1062b7.headers) {
|
||||||
|
{
|
||||||
|
if (!_0x1062b7.headers["Content-Type"]) _0x1062b7.headers["Content-Type"] = "application/x-www-form-urlencoded";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.isSurge() || this.isLoon()) {
|
||||||
|
this.isSurge() && this.isNeedRewrite && (_0x1062b7.headers = _0x1062b7.headers || {}, Object.assign(_0x1062b7.headers, {
|
||||||
|
"X-Surge-Skip-Scripting": false
|
||||||
|
}));
|
||||||
|
let _0x55f76d = {
|
||||||
|
"method": _0x528a53,
|
||||||
|
"url": _0x1062b7.url,
|
||||||
|
"headers": _0x1062b7.headers,
|
||||||
|
"timeout": _0x1062b7.timeout,
|
||||||
|
"data": _0x1062b7.body
|
||||||
|
};
|
||||||
|
if (_0x528a53 == "get") delete _0x55f76d.data;
|
||||||
|
$axios(_0x55f76d).then(_0x3f3966 => {
|
||||||
|
const {
|
||||||
|
status: _0x29a846,
|
||||||
|
request: _0x2ad2aa,
|
||||||
|
headers: _0x5cc4bd,
|
||||||
|
data: _0x161f35
|
||||||
|
} = _0x3f3966;
|
||||||
|
_0x3a681d(null, _0x2ad2aa, {
|
||||||
|
"statusCode": _0x29a846,
|
||||||
|
"headers": _0x5cc4bd,
|
||||||
|
"body": _0x161f35
|
||||||
|
});
|
||||||
|
}).catch(_0x238377 => console.log(_0x238377));
|
||||||
|
} else {
|
||||||
|
if (this.isQuanX()) _0x1062b7.method = _0x528a53.toUpperCase(), this.isNeedRewrite && (_0x1062b7.opts = _0x1062b7.opts || {}, Object.assign(_0x1062b7.opts, {
|
||||||
|
"hints": false
|
||||||
|
})), $task.fetch(_0x1062b7).then(_0x3b8bbe => {
|
||||||
|
const {
|
||||||
|
statusCode: _0x2fc1ac,
|
||||||
|
request: _0x5f6740,
|
||||||
|
headers: _0x34d4ad,
|
||||||
|
body: _0x37fbc7
|
||||||
|
} = _0x3b8bbe;
|
||||||
|
_0x3a681d(null, _0x5f6740, {
|
||||||
|
"statusCode": _0x2fc1ac,
|
||||||
|
"headers": _0x34d4ad,
|
||||||
|
"body": _0x37fbc7
|
||||||
|
});
|
||||||
|
}, _0x361920 => _0x3a681d(_0x361920));else {
|
||||||
|
if (this.isNode()) {
|
||||||
|
this.got = this.got ? this.got : require("got");
|
||||||
|
const {
|
||||||
|
url: _0x325d9c,
|
||||||
|
..._0xf7af76
|
||||||
|
} = _0x1062b7;
|
||||||
|
this.instance = this.got.extend({
|
||||||
|
"followRedirect": false
|
||||||
|
});
|
||||||
|
this.instance[_0x528a53](_0x325d9c, _0xf7af76).then(_0x18383d => {
|
||||||
|
const {
|
||||||
|
statusCode: _0xf07db0,
|
||||||
|
request: _0x532d1a,
|
||||||
|
headers: _0x1dc0d4,
|
||||||
|
body: _0x4984e8
|
||||||
|
} = _0x18383d;
|
||||||
|
_0x3a681d(null, _0x532d1a, {
|
||||||
|
"statusCode": _0xf07db0,
|
||||||
|
"headers": _0x1dc0d4,
|
||||||
|
"body": _0x4984e8
|
||||||
|
});
|
||||||
|
}, _0x2e49ed => {
|
||||||
|
const {
|
||||||
|
message: _0x2df36f,
|
||||||
|
request: _0x5340cf,
|
||||||
|
response: _0xdeebdf
|
||||||
|
} = _0x2e49ed;
|
||||||
|
_0x3a681d(_0x2df36f, _0x5340cf, _0xdeebdf);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["time"](_0x4ddd19, _0x3d004a = null) {
|
||||||
|
{
|
||||||
|
let _0x3d0303 = _0x3d004a ? new Date(_0x3d004a) : new Date(),
|
||||||
|
_0x1c5845 = {
|
||||||
|
"M+": _0x3d0303.getMonth() + 1,
|
||||||
|
"d+": _0x3d0303.getDate(),
|
||||||
|
"h+": _0x3d0303.getHours(),
|
||||||
|
"m+": _0x3d0303.getMinutes(),
|
||||||
|
"s+": _0x3d0303.getSeconds(),
|
||||||
|
"q+": Math.floor((_0x3d0303.getMonth() + 3) / 3),
|
||||||
|
"S": _0x3d0303.getMilliseconds()
|
||||||
|
};
|
||||||
|
/(y+)/.test(_0x4ddd19) && (_0x4ddd19 = _0x4ddd19.replace(RegExp.$1, (_0x3d0303.getFullYear() + "").substr(4 - RegExp.$1.length)));
|
||||||
|
for (let _0x4df8e7 in _0x1c5845) new RegExp("(" + _0x4df8e7 + ")").test(_0x4ddd19) && (_0x4ddd19 = _0x4ddd19.replace(RegExp.$1, 1 == RegExp.$1.length ? _0x1c5845[_0x4df8e7] : ("00" + _0x1c5845[_0x4df8e7]).substr(("" + _0x1c5845[_0x4df8e7]).length)));
|
||||||
|
return _0x4ddd19;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["showmsg"]() {
|
||||||
|
{
|
||||||
|
if (!this.notifyStr) return;
|
||||||
|
let _0x3d3a83 = this.name + " 运行通知\n\n" + this.notifyStr;
|
||||||
|
if (_0x3065e9.isNode()) {
|
||||||
|
{
|
||||||
|
var _0x3a245e = require("./sendNotify");
|
||||||
|
console.log("\n============== 推送 ==============");
|
||||||
|
await _0x3a245e.sendNotify(this.name, _0x3d3a83);
|
||||||
|
}
|
||||||
|
} else this.msg(_0x3d3a83);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["logAndNotify"](_0x58012f) {
|
||||||
|
console.log(_0x58012f);
|
||||||
|
this.notifyStr += _0x58012f;
|
||||||
|
this.notifyStr += "\n";
|
||||||
|
}
|
||||||
|
["logAndNotifyWithTime"](_0xeaf4b1) {
|
||||||
|
let _0x414567 = "[" + this.time("hh:mm:ss.S") + "]" + _0xeaf4b1;
|
||||||
|
console.log(_0x414567);
|
||||||
|
this.notifyStr += _0x414567;
|
||||||
|
this.notifyStr += "\n";
|
||||||
|
}
|
||||||
|
["logWithTime"](_0x5291da) {
|
||||||
|
console.log("[" + this.time("hh:mm:ss.S") + "]" + _0x5291da);
|
||||||
|
}
|
||||||
|
["msg"](_0x51fea4 = t, _0x215cb5 = "", _0x474402 = "", _0x42a5dd) {
|
||||||
|
const _0x3d6f7a = _0x163e67 => {
|
||||||
|
{
|
||||||
|
if (!_0x163e67) return _0x163e67;
|
||||||
|
if ("string" == typeof _0x163e67) return this.isLoon() ? _0x163e67 : this.isQuanX() ? {
|
||||||
|
"open-url": _0x163e67
|
||||||
|
} : this.isSurge() ? {
|
||||||
|
"url": _0x163e67
|
||||||
|
} : undefined;
|
||||||
|
if ("object" == typeof _0x163e67) {
|
||||||
|
if (this.isLoon()) {
|
||||||
|
let _0x2d5c4a = _0x163e67.openUrl || _0x163e67.url || _0x163e67["open-url"],
|
||||||
|
_0x12a18e = _0x163e67.mediaUrl || _0x163e67["media-url"];
|
||||||
|
return {
|
||||||
|
"openUrl": _0x2d5c4a,
|
||||||
|
"mediaUrl": _0x12a18e
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (this.isQuanX()) {
|
||||||
|
let _0x1e62a6 = _0x163e67["open-url"] || _0x163e67.url || _0x163e67.openUrl,
|
||||||
|
_0x5c34e8 = _0x163e67["media-url"] || _0x163e67.mediaUrl;
|
||||||
|
return {
|
||||||
|
"open-url": _0x1e62a6,
|
||||||
|
"media-url": _0x5c34e8
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (this.isSurge()) {
|
||||||
|
let _0x178770 = _0x163e67.url || _0x163e67.openUrl || _0x163e67["open-url"];
|
||||||
|
return {
|
||||||
|
"url": _0x178770
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(_0x51fea4, _0x215cb5, _0x474402, _0x3d6f7a(_0x42a5dd)) : this.isQuanX() && $notify(_0x51fea4, _0x215cb5, _0x474402, _0x3d6f7a(_0x42a5dd)));
|
||||||
|
let _0x15ca2e = ["", "============== 系统通知 =============="];
|
||||||
|
_0x15ca2e.push(_0x51fea4);
|
||||||
|
_0x215cb5 && _0x15ca2e.push(_0x215cb5);
|
||||||
|
_0x474402 && _0x15ca2e.push(_0x474402);
|
||||||
|
console.log(_0x15ca2e.join("\n"));
|
||||||
|
}
|
||||||
|
["getMin"](_0x434bc7, _0x32c083) {
|
||||||
|
return _0x434bc7 < _0x32c083 ? _0x434bc7 : _0x32c083;
|
||||||
|
}
|
||||||
|
["getMax"](_0x4d3798, _0x166dff) {
|
||||||
|
return _0x4d3798 < _0x166dff ? _0x166dff : _0x4d3798;
|
||||||
|
}
|
||||||
|
["padStr"](_0x163393, _0x4fb87b, _0x56aecc = "0") {
|
||||||
|
{
|
||||||
|
let _0x5cdeb2 = String(_0x163393),
|
||||||
|
_0xd26033 = _0x4fb87b > _0x5cdeb2.length ? _0x4fb87b - _0x5cdeb2.length : 0,
|
||||||
|
_0x111cf7 = "";
|
||||||
|
for (let _0x5ebe0b = 0; _0x5ebe0b < _0xd26033; _0x5ebe0b++) {
|
||||||
|
_0x111cf7 += _0x56aecc;
|
||||||
|
}
|
||||||
|
_0x111cf7 += _0x5cdeb2;
|
||||||
|
return _0x111cf7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["json2str"](_0x5eff15, _0x47bb6a, _0x2a6962 = false) {
|
||||||
|
let _0x59e08a = [];
|
||||||
|
for (let _0x4817da of Object.keys(_0x5eff15).sort()) {
|
||||||
|
{
|
||||||
|
let _0xf5e3d8 = _0x5eff15[_0x4817da];
|
||||||
|
if (_0xf5e3d8 && _0x2a6962) _0xf5e3d8 = encodeURIComponent(_0xf5e3d8);
|
||||||
|
_0x59e08a.push(_0x4817da + "=" + _0xf5e3d8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return _0x59e08a.join(_0x47bb6a);
|
||||||
|
}
|
||||||
|
["str2json"](_0x31a48d, _0x36c2e8 = false) {
|
||||||
|
let _0x2cde0e = {};
|
||||||
|
for (let _0x5b6e8d of _0x31a48d.split("&")) {
|
||||||
|
if (!_0x5b6e8d) continue;
|
||||||
|
let _0x5742d9 = _0x5b6e8d.indexOf("=");
|
||||||
|
if (_0x5742d9 == -1) continue;
|
||||||
|
let _0x2f6ff9 = _0x5b6e8d.substr(0, _0x5742d9),
|
||||||
|
_0x2f8540 = _0x5b6e8d.substr(_0x5742d9 + 1);
|
||||||
|
if (_0x36c2e8) _0x2f8540 = decodeURIComponent(_0x2f8540);
|
||||||
|
_0x2cde0e[_0x2f6ff9] = _0x2f8540;
|
||||||
|
}
|
||||||
|
return _0x2cde0e;
|
||||||
|
}
|
||||||
|
["randomString"](_0x1826b2, _0x2926dc = "abcdef0123456789") {
|
||||||
|
let _0x11a90c = "";
|
||||||
|
for (let _0x1ed771 = 0; _0x1ed771 < _0x1826b2; _0x1ed771++) {
|
||||||
|
_0x11a90c += _0x2926dc.charAt(Math.floor(Math.random() * _0x2926dc.length));
|
||||||
|
}
|
||||||
|
return _0x11a90c;
|
||||||
|
}
|
||||||
|
["randomList"](_0x3808ec) {
|
||||||
|
let _0x129ec9 = Math.floor(Math.random() * _0x3808ec.length);
|
||||||
|
return _0x3808ec[_0x129ec9];
|
||||||
|
}
|
||||||
|
["wait"](_0x41414e) {
|
||||||
|
return new Promise(_0x310013 => setTimeout(_0x310013, _0x41414e));
|
||||||
|
}
|
||||||
|
["done"](_0x5aad77 = {}) {
|
||||||
|
const _0x2634cb = new Date().getTime(),
|
||||||
|
_0x53d433 = (_0x2634cb - this.startTime) / 1000;
|
||||||
|
console.log("\n" + this.name + " 运行结束,共运行了 " + _0x53d433 + " 秒!");
|
||||||
|
if (this.isSurge() || this.isQuanX() || this.isLoon()) $done(_0x5aad77);
|
||||||
|
}
|
||||||
|
}(_0x4038d3, _0x4c648e);
|
||||||
|
}
|
||||||
570
wxapp/海尔-卡萨帝.js
Normal file
570
wxapp/海尔-卡萨帝.js
Normal file
@@ -0,0 +1,570 @@
|
|||||||
|
/**
|
||||||
|
* 海尔 - 卡萨帝小程序 签到、抽奖
|
||||||
|
* cron 10 8 * * * 海尔-卡萨帝.js
|
||||||
|
*
|
||||||
|
* ========= 青龙--配置文件 ===========
|
||||||
|
* # 项目名称
|
||||||
|
* export ksd='你抓包的UserToken#请求Body里的openId'
|
||||||
|
|
||||||
|
* 自己抓包 /user/userCenter/saveUserSource请求协议头上的MK-U-User-Token
|
||||||
|
* 请求数据里的 openId
|
||||||
|
* 用 # 连接
|
||||||
|
|
||||||
|
* 多账号换行或&隔开
|
||||||
|
|
||||||
|
* 奖励:现金红包
|
||||||
|
*
|
||||||
|
* ====================================
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//Sat Jan 25 2025 08:32:06 GMT+0000 (Coordinated Universal Time)
|
||||||
|
//Base:https://github.com/echo094/decode-js
|
||||||
|
//Modify:https://github.com/smallfawn/decode_action
|
||||||
|
const $ = new Env("卡萨帝小程序");
|
||||||
|
let envParams = "ksd",
|
||||||
|
envSplitor = ["\n", "&"],
|
||||||
|
authorizationToken = ($.isNode() ? process.env[envParams] : $.getdata(envParams)) || "",
|
||||||
|
initedJobForTokens = [],
|
||||||
|
currentUserIndex = 0,
|
||||||
|
contentType = "application/json;charset=UTF-8",
|
||||||
|
defaultUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF XWEB/6945",
|
||||||
|
Referer = "https://yx.jsh.com/game/signInIndex?employeeId=&playId=20";
|
||||||
|
const https = require("https");
|
||||||
|
class JobTask {
|
||||||
|
constructor(_0x55d5be) {
|
||||||
|
this.index = ++currentUserIndex;
|
||||||
|
this.points = 0;
|
||||||
|
this.valid = false;
|
||||||
|
try {
|
||||||
|
[this.activedAuthToken, this.openId] = _0x55d5be?.["split"]("#");
|
||||||
|
} catch (_0x5cde09) {
|
||||||
|
this.activedAuthToken = _0x55d5be;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["taskApi"](_0x53ede5, _0x2127bc, _0x2c79b5, _0x31d84a, _0x232dd9 = {}) {
|
||||||
|
let _0x41e367 = null;
|
||||||
|
try {
|
||||||
|
let _0x235e01 = _0x2c79b5.replace("//", "/").split("/")[1],
|
||||||
|
_0x49cb17 = {
|
||||||
|
"url": _0x2c79b5,
|
||||||
|
"headers": {
|
||||||
|
"Accept": "application/json, text/plain, */*",
|
||||||
|
"Authorization": this.activedAuthToken,
|
||||||
|
"Host": _0x235e01,
|
||||||
|
"Connection": "keep-alive",
|
||||||
|
"Content-Type": contentType,
|
||||||
|
"User-Agent": defaultUA,
|
||||||
|
"Referer": Referer,
|
||||||
|
"MK-Source-Code": "casarte",
|
||||||
|
"MK-U-App-Code": "gUsb9sx0eXEdMuc",
|
||||||
|
"MK-U-User-Token": this.activedAuthToken,
|
||||||
|
..._0x232dd9
|
||||||
|
},
|
||||||
|
"timeout": 60000
|
||||||
|
};
|
||||||
|
if (_0x31d84a) {
|
||||||
|
_0x49cb17.body = _0x31d84a;
|
||||||
|
}
|
||||||
|
await httpRequest(_0x2127bc, _0x49cb17).then(async _0x591ac9 => {
|
||||||
|
if (_0x591ac9.resp?.["statusCode"] == 200) {
|
||||||
|
_0x591ac9.resp?.["body"] ? _0x41e367 = JSON.parse(_0x591ac9.resp.body) : console.log("账号[" + this.index + "]调用" + _0x2127bc + "[" + _0x53ede5 + "]出错,返回为空");
|
||||||
|
} else console.log("账号[" + this.index + "]调用" + _0x2127bc + "[" + _0x53ede5 + "]出错,返回状态码[" + (_0x591ac9.resp?.["statusCode"] || "") + "]");
|
||||||
|
});
|
||||||
|
} catch (_0x38b370) {
|
||||||
|
console.log(_0x38b370);
|
||||||
|
} finally {
|
||||||
|
return Promise.resolve(_0x41e367);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["GetUserInfo"]() {
|
||||||
|
try {
|
||||||
|
{
|
||||||
|
let _0x1ed441 = "GetUserInfo",
|
||||||
|
_0x201f80 = "post",
|
||||||
|
_0x5e3710 = "https://mk-gift.haier.net/qy/customer/api/redEnvelope/queryRedEnvelopeWallet",
|
||||||
|
_0x5ade36 = "{\"redSource\":\"\"}";
|
||||||
|
await this.taskApi(_0x1ed441, _0x201f80, _0x5e3710, _0x5ade36, {
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}).then(async _0x29ca70 => {
|
||||||
|
console.log("result:", _0x29ca70);
|
||||||
|
_0x29ca70.code === 200 ? (this.valid = true, this.points = Number(_0x29ca70.data.cash_available), console.log("账号[" + this.index + "] 登录成功"), console.log("账号[" + this.index + "] 当前余额: " + this.points)) : $.logAndNotify("账号[" + this.index + "]查询余额失败,可能帐号无效");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (_0x670981) {
|
||||||
|
console.log(_0x670981);
|
||||||
|
} finally {
|
||||||
|
return Promise.resolve(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["SignInDaily"]() {
|
||||||
|
try {
|
||||||
|
{
|
||||||
|
let _0x226da3 = "SignInDaily",
|
||||||
|
_0x79792e = "post",
|
||||||
|
_0xb36903 = "https://yx.jsh.com/customer/api/user/playingMethod/game/saveClockInInfoByUserId",
|
||||||
|
_0x541af5 = "{\"playId\":\"20\",\"employeeId\":\"\",\"mobile\":\"\",\"openId\":\"" + this.openId + "\",\"parentUserId\":\"\",\"userId\":\"\"}";
|
||||||
|
await this.taskApi(_0x226da3, _0x79792e, _0xb36903, _0x541af5).then(async _0x25b135 => {
|
||||||
|
console.log("result:", _0x25b135);
|
||||||
|
_0x25b135.code === 200 ? (console.log("账号[" + this.index + "] 签到成功,获得" + _0x25b135.data / 100 + "元"), _0x25b135.data && (this.points += _0x25b135.data / 100)) : console.log("账号[" + this.index + "] 签到失败:" + _0x25b135?.["message"]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (_0x1aa259) {
|
||||||
|
console.log(_0x1aa259);
|
||||||
|
} finally {
|
||||||
|
return Promise.resolve(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["LuckDraw"]() {
|
||||||
|
try {
|
||||||
|
let _0x1bb47d = "LuckDraw",
|
||||||
|
_0x343437 = "post",
|
||||||
|
_0x46ba8d = "https://yx.jsh.com/customer/api/user/client/luckDraw",
|
||||||
|
_0x13a4ce = "{\"gameId\":\"174464962928279552\"}";
|
||||||
|
await this.taskApi(_0x1bb47d, _0x343437, _0x46ba8d, _0x13a4ce).then(async _0x108d75 => {
|
||||||
|
{
|
||||||
|
console.log("result:", _0x108d75);
|
||||||
|
if (_0x108d75.code === 200) console.log("账号[" + this.index + "] 抽奖成功,获得" + _0x108d75.data?.["prizeName"] + "积分");else {
|
||||||
|
console.log("账号[" + this.index + "] 抽奖失败:" + _0x108d75?.["message"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (_0x5f4c99) {
|
||||||
|
console.log(_0x5f4c99);
|
||||||
|
} finally {
|
||||||
|
return Promise.resolve(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["TiXian"]() {
|
||||||
|
try {
|
||||||
|
{
|
||||||
|
let _0x5a32ee = "TiXian",
|
||||||
|
_0x46df13 = "post",
|
||||||
|
_0x4bbbc6 = "https://marketing-api.haier.net/api/marketing-assemble/api/cashcenter/user/wallet/withdrawalCash",
|
||||||
|
_0x3e492d = encodeURIComponent("data={\"type\":\"1\",\"withdrawFee\":\"" + this.points + "\"}&signData={\"key\":\"userRed100000003\",\"secret\":\"88800de360b7308cdba924b865507a92\"}");
|
||||||
|
await this.taskApi(_0x5a32ee, _0x46df13, _0x4bbbc6, _0x3e492d, {
|
||||||
|
"Authorization": "Bearer " + this.activedAuthToken,
|
||||||
|
"Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7",
|
||||||
|
"Content-Type": "application/x-www-form-urlencoded",
|
||||||
|
"X-Requested-With": "com.tencent.mm",
|
||||||
|
"plantform-channel": "PLAT_FORM_WECHAT"
|
||||||
|
}).then(async _0x48a4c5 => {
|
||||||
|
_0x48a4c5.code === 200 ? console.log("账号[" + this.index + "] 提现成功,获得" + _0x48a4c5.data?.["prizeName"] + "现金") : console.log("账号[" + this.index + "] 提现失败:" + JSON.parse(_0x48a4c5));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (_0x5dcea4) {
|
||||||
|
console.log(_0x5dcea4);
|
||||||
|
} finally {
|
||||||
|
return Promise.resolve(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["doTask"]() {
|
||||||
|
try {
|
||||||
|
console.log("\n============= 账号[" + this.index + "] 开始签到=============");
|
||||||
|
await this.SignInDaily();
|
||||||
|
await waitSomeTime();
|
||||||
|
await this.LuckDraw();
|
||||||
|
console.log("\n----待提现的金额:", this.points);
|
||||||
|
this.points && !Number.isNaN(this.points) && this.points >= 1 && (await waitSomeTime(), await this.TiXian());
|
||||||
|
} catch (_0x3b27c2) {
|
||||||
|
console.log(_0x3b27c2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
!(async () => {
|
||||||
|
if (typeof $request !== "undefined") {
|
||||||
|
await GetRewrite();
|
||||||
|
} else {
|
||||||
|
{
|
||||||
|
if (!(await checkEnv())) return;
|
||||||
|
console.log("\n================ 开始执行 ================");
|
||||||
|
for (let _0x37bc9f of initedJobForTokens) {
|
||||||
|
console.log("----------- 执行 第 [" + _0x37bc9f.index + "] 个账号 -----------");
|
||||||
|
await _0x37bc9f.GetUserInfo();
|
||||||
|
}
|
||||||
|
let _0x56f6f9 = initedJobForTokens.filter(_0x308e9f => _0x308e9f.valid);
|
||||||
|
if (initedJobForTokens.length > 0) {
|
||||||
|
console.log("\n================ 任务队列构建完毕 ================");
|
||||||
|
for (let _0x22bb86 of _0x56f6f9) {
|
||||||
|
console.log("----------- 账号[" + _0x22bb86.index + "] -----------");
|
||||||
|
await _0x22bb86.doTask();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await $.showmsg();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})().catch(_0x570c59 => console.log(_0x570c59)).finally(() => $.done());
|
||||||
|
async function waitSomeTime(_0x395b52 = 3000) {
|
||||||
|
console.log("----------- 延迟 " + _0x395b52 / 1000 + " s,请稍等 -----------");
|
||||||
|
return await new Promise(_0x203071 => setTimeout(_0x203071, _0x395b52));
|
||||||
|
}
|
||||||
|
async function GetRewrite() {}
|
||||||
|
async function checkEnv() {
|
||||||
|
if (authorizationToken) {
|
||||||
|
{
|
||||||
|
let _0x15962f = envSplitor[0];
|
||||||
|
for (let _0x3a119f of envSplitor) {
|
||||||
|
{
|
||||||
|
if (authorizationToken.indexOf(_0x3a119f) > -1) {
|
||||||
|
_0x15962f = _0x3a119f;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (let _0x167f1c of authorizationToken.split(_0x15962f)) {
|
||||||
|
{
|
||||||
|
if (_0x167f1c) initedJobForTokens.push(new JobTask(_0x167f1c));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
userCount = initedJobForTokens.length;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log("未找到 配置信息,请检查是否配置 变量:", envParams);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log("共找到" + userCount + "个账号");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
async function httpRequest(_0x315fde, _0x43498a) {
|
||||||
|
httpErr = null;
|
||||||
|
httpReq = null;
|
||||||
|
httpResp = null;
|
||||||
|
return new Promise(_0x15e577 => {
|
||||||
|
$.send(_0x315fde, _0x43498a, async (_0x46ab79, _0x54af7f, _0x326c5c) => {
|
||||||
|
httpErr = _0x46ab79;
|
||||||
|
httpReq = _0x54af7f;
|
||||||
|
httpResp = _0x326c5c;
|
||||||
|
_0x15e577({
|
||||||
|
"err": _0x46ab79,
|
||||||
|
"req": _0x54af7f,
|
||||||
|
"resp": _0x326c5c
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function Env(_0x145f6d, _0x2ad434) {
|
||||||
|
"undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0);
|
||||||
|
return new class {
|
||||||
|
constructor(_0x2c6ae3, _0x15c3de) {
|
||||||
|
{
|
||||||
|
this.name = _0x2c6ae3;
|
||||||
|
this.notifyStr = "";
|
||||||
|
this.startTime = new Date().getTime();
|
||||||
|
Object.assign(this, _0x15c3de);
|
||||||
|
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"](_0x4fac12) {
|
||||||
|
let _0x34b166 = this.getval(_0x4fac12);
|
||||||
|
if (/^@/.test(_0x4fac12)) {
|
||||||
|
{
|
||||||
|
const [, _0x4a384a, _0x163012] = /^@(.*?)\.(.*?)$/.exec(_0x4fac12),
|
||||||
|
_0x4d5996 = _0x4a384a ? this.getval(_0x4a384a) : "";
|
||||||
|
if (_0x4d5996) try {
|
||||||
|
const _0xea2094 = JSON.parse(_0x4d5996);
|
||||||
|
_0x34b166 = _0xea2094 ? this.lodash_get(_0xea2094, _0x163012, "") : _0x34b166;
|
||||||
|
} catch (_0x178f4b) {
|
||||||
|
_0x34b166 = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return _0x34b166;
|
||||||
|
}
|
||||||
|
["setdata"](_0x2f9735, _0x5a4907) {
|
||||||
|
{
|
||||||
|
let _0x1da6cb = false;
|
||||||
|
if (/^@/.test(_0x5a4907)) {
|
||||||
|
const [, _0x8150c9, _0x441dcb] = /^@(.*?)\.(.*?)$/.exec(_0x5a4907),
|
||||||
|
_0x31d092 = this.getval(_0x8150c9),
|
||||||
|
_0x2dc4c1 = _0x8150c9 ? "null" === _0x31d092 ? null : _0x31d092 || "{}" : "{}";
|
||||||
|
try {
|
||||||
|
const _0x4cde78 = JSON.parse(_0x2dc4c1);
|
||||||
|
this.lodash_set(_0x4cde78, _0x441dcb, _0x2f9735);
|
||||||
|
_0x1da6cb = this.setval(JSON.stringify(_0x4cde78), _0x8150c9);
|
||||||
|
} catch (_0x39e26e) {
|
||||||
|
{
|
||||||
|
const _0x302ef5 = {};
|
||||||
|
this.lodash_set(_0x302ef5, _0x441dcb, _0x2f9735);
|
||||||
|
_0x1da6cb = this.setval(JSON.stringify(_0x302ef5), _0x8150c9);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else _0x1da6cb = this.setval(_0x2f9735, _0x5a4907);
|
||||||
|
return _0x1da6cb;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["getval"](_0x17b0b5) {
|
||||||
|
return this.isSurge() || this.isLoon() ? $persistentStore.read(_0x17b0b5) : this.isQuanX() ? $prefs.valueForKey(_0x17b0b5) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x17b0b5]) : this.data && this.data[_0x17b0b5] || null;
|
||||||
|
}
|
||||||
|
["setval"](_0x1a4b9a, _0x5989f1) {
|
||||||
|
return this.isSurge() || this.isLoon() ? $persistentStore.write(_0x1a4b9a, _0x5989f1) : this.isQuanX() ? $prefs.setValueForKey(_0x1a4b9a, _0x5989f1) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x5989f1] = _0x1a4b9a, this.writedata(), true) : this.data && this.data[_0x5989f1] || null;
|
||||||
|
}
|
||||||
|
["send"](_0x390a5f, _0x55dfcf, _0x53ea18 = () => {}) {
|
||||||
|
{
|
||||||
|
if (_0x390a5f != "get" && _0x390a5f != "post" && _0x390a5f != "put" && _0x390a5f != "delete") {
|
||||||
|
{
|
||||||
|
console.log("无效的http方法:" + _0x390a5f);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (_0x390a5f == "get" && _0x55dfcf.headers) delete _0x55dfcf.headers["Content-Type"], delete _0x55dfcf.headers["Content-Length"];else {
|
||||||
|
if (_0x55dfcf.body && _0x55dfcf.headers) {
|
||||||
|
{
|
||||||
|
if (!_0x55dfcf.headers["Content-Type"]) _0x55dfcf.headers["Content-Type"] = "application/x-www-form-urlencoded";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.isSurge() || this.isLoon()) {
|
||||||
|
{
|
||||||
|
if (this.isSurge() && this.isNeedRewrite) {
|
||||||
|
_0x55dfcf.headers = _0x55dfcf.headers || {};
|
||||||
|
Object.assign(_0x55dfcf.headers, {
|
||||||
|
"X-Surge-Skip-Scripting": false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
let _0x41a6ce = {
|
||||||
|
"method": _0x390a5f,
|
||||||
|
"url": _0x55dfcf.url,
|
||||||
|
"headers": _0x55dfcf.headers,
|
||||||
|
"timeout": _0x55dfcf.timeout,
|
||||||
|
"data": _0x55dfcf.body
|
||||||
|
};
|
||||||
|
if (_0x390a5f == "get") delete _0x41a6ce.data;
|
||||||
|
$axios(_0x41a6ce).then(_0x33377e => {
|
||||||
|
{
|
||||||
|
const {
|
||||||
|
status: _0x2065f2,
|
||||||
|
request: _0x23f3a5,
|
||||||
|
headers: _0x4e5d89,
|
||||||
|
data: _0xd40200
|
||||||
|
} = _0x33377e;
|
||||||
|
_0x53ea18(null, _0x23f3a5, {
|
||||||
|
"statusCode": _0x2065f2,
|
||||||
|
"headers": _0x4e5d89,
|
||||||
|
"body": _0xd40200
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}).catch(_0x30a337 => console.log(_0x30a337));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this.isQuanX()) {
|
||||||
|
_0x55dfcf.method = _0x390a5f.toUpperCase();
|
||||||
|
this.isNeedRewrite && (_0x55dfcf.opts = _0x55dfcf.opts || {}, Object.assign(_0x55dfcf.opts, {
|
||||||
|
"hints": false
|
||||||
|
}));
|
||||||
|
$task.fetch(_0x55dfcf).then(_0x4fc46b => {
|
||||||
|
{
|
||||||
|
const {
|
||||||
|
statusCode: _0x3adacc,
|
||||||
|
request: _0x4c9fac,
|
||||||
|
headers: _0x465d4c,
|
||||||
|
body: _0x1c0160
|
||||||
|
} = _0x4fc46b;
|
||||||
|
_0x53ea18(null, _0x4c9fac, {
|
||||||
|
"statusCode": _0x3adacc,
|
||||||
|
"headers": _0x465d4c,
|
||||||
|
"body": _0x1c0160
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, _0x39ac1f => _0x53ea18(_0x39ac1f));
|
||||||
|
} else {
|
||||||
|
if (this.isNode()) {
|
||||||
|
this.got = this.got ? this.got : require("got");
|
||||||
|
const {
|
||||||
|
url: _0x17922a,
|
||||||
|
..._0x2092f9
|
||||||
|
} = _0x55dfcf;
|
||||||
|
this.instance = this.got.extend({
|
||||||
|
"followRedirect": false
|
||||||
|
});
|
||||||
|
this.instance[_0x390a5f](_0x17922a, _0x2092f9).then(_0x36703e => {
|
||||||
|
const {
|
||||||
|
statusCode: _0x23a6f5,
|
||||||
|
request: _0xc061b3,
|
||||||
|
headers: _0x1e25f8,
|
||||||
|
body: _0x15c804
|
||||||
|
} = _0x36703e;
|
||||||
|
_0x53ea18(null, _0xc061b3, {
|
||||||
|
"statusCode": _0x23a6f5,
|
||||||
|
"headers": _0x1e25f8,
|
||||||
|
"body": _0x15c804
|
||||||
|
});
|
||||||
|
}, _0x2b4fca => {
|
||||||
|
{
|
||||||
|
const {
|
||||||
|
message: _0x5baa3b,
|
||||||
|
request: _0x1400de,
|
||||||
|
response: _0x20be40
|
||||||
|
} = _0x2b4fca;
|
||||||
|
_0x53ea18(_0x5baa3b, _0x1400de, _0x20be40);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["time"](_0x518b14, _0x4cec02 = null) {
|
||||||
|
let _0x91d015 = _0x4cec02 ? new Date(_0x4cec02) : new Date(),
|
||||||
|
_0xc32e0 = {
|
||||||
|
"M+": _0x91d015.getMonth() + 1,
|
||||||
|
"d+": _0x91d015.getDate(),
|
||||||
|
"h+": _0x91d015.getHours(),
|
||||||
|
"m+": _0x91d015.getMinutes(),
|
||||||
|
"s+": _0x91d015.getSeconds(),
|
||||||
|
"q+": Math.floor((_0x91d015.getMonth() + 3) / 3),
|
||||||
|
"S": _0x91d015.getMilliseconds()
|
||||||
|
};
|
||||||
|
/(y+)/.test(_0x518b14) && (_0x518b14 = _0x518b14.replace(RegExp.$1, (_0x91d015.getFullYear() + "").substr(4 - RegExp.$1.length)));
|
||||||
|
for (let _0x74d676 in _0xc32e0) new RegExp("(" + _0x74d676 + ")").test(_0x518b14) && (_0x518b14 = _0x518b14.replace(RegExp.$1, 1 == RegExp.$1.length ? _0xc32e0[_0x74d676] : ("00" + _0xc32e0[_0x74d676]).substr(("" + _0xc32e0[_0x74d676]).length)));
|
||||||
|
return _0x518b14;
|
||||||
|
}
|
||||||
|
async ["showmsg"]() {
|
||||||
|
if (!this.notifyStr) return;
|
||||||
|
let _0x49b71e = this.name + " 运行通知\n\n" + this.notifyStr;
|
||||||
|
if ($.isNode()) {
|
||||||
|
var _0x15c32f = require("./sendNotify");
|
||||||
|
console.log("\n============== 推送 ==============");
|
||||||
|
await _0x15c32f.sendNotify(this.name, _0x49b71e);
|
||||||
|
} else this.msg(_0x49b71e);
|
||||||
|
}
|
||||||
|
["logAndNotify"](_0x411ee5) {
|
||||||
|
console.log(_0x411ee5);
|
||||||
|
this.notifyStr += _0x411ee5;
|
||||||
|
this.notifyStr += "\n";
|
||||||
|
}
|
||||||
|
["logAndNotifyWithTime"](_0x265752) {
|
||||||
|
{
|
||||||
|
let _0x29cff9 = "[" + this.time("hh:mm:ss.S") + "]" + _0x265752;
|
||||||
|
console.log(_0x29cff9);
|
||||||
|
this.notifyStr += _0x29cff9;
|
||||||
|
this.notifyStr += "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["logWithTime"](_0x35d90e) {
|
||||||
|
console.log("[" + this.time("hh:mm:ss.S") + "]" + _0x35d90e);
|
||||||
|
}
|
||||||
|
["msg"](_0x36b3bc = t, _0x277707 = "", _0x416e8b = "", _0x487038) {
|
||||||
|
const _0x1a3fa6 = _0x4e2159 => {
|
||||||
|
{
|
||||||
|
if (!_0x4e2159) return _0x4e2159;
|
||||||
|
if ("string" == typeof _0x4e2159) return this.isLoon() ? _0x4e2159 : this.isQuanX() ? {
|
||||||
|
"open-url": _0x4e2159
|
||||||
|
} : this.isSurge() ? {
|
||||||
|
"url": _0x4e2159
|
||||||
|
} : undefined;
|
||||||
|
if ("object" == typeof _0x4e2159) {
|
||||||
|
{
|
||||||
|
if (this.isLoon()) {
|
||||||
|
{
|
||||||
|
let _0x1d32d6 = _0x4e2159.openUrl || _0x4e2159.url || _0x4e2159["open-url"],
|
||||||
|
_0x1c6203 = _0x4e2159.mediaUrl || _0x4e2159["media-url"];
|
||||||
|
return {
|
||||||
|
"openUrl": _0x1d32d6,
|
||||||
|
"mediaUrl": _0x1c6203
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.isQuanX()) {
|
||||||
|
let _0x5a7300 = _0x4e2159["open-url"] || _0x4e2159.url || _0x4e2159.openUrl,
|
||||||
|
_0x425900 = _0x4e2159["media-url"] || _0x4e2159.mediaUrl;
|
||||||
|
return {
|
||||||
|
"open-url": _0x5a7300,
|
||||||
|
"media-url": _0x425900
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (this.isSurge()) {
|
||||||
|
let _0x40d0df = _0x4e2159.url || _0x4e2159.openUrl || _0x4e2159["open-url"];
|
||||||
|
return {
|
||||||
|
"url": _0x40d0df
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(_0x36b3bc, _0x277707, _0x416e8b, _0x1a3fa6(_0x487038)) : this.isQuanX() && $notify(_0x36b3bc, _0x277707, _0x416e8b, _0x1a3fa6(_0x487038)));
|
||||||
|
let _0x32161e = ["", "============== 系统通知 =============="];
|
||||||
|
_0x32161e.push(_0x36b3bc);
|
||||||
|
_0x277707 && _0x32161e.push(_0x277707);
|
||||||
|
_0x416e8b && _0x32161e.push(_0x416e8b);
|
||||||
|
console.log(_0x32161e.join("\n"));
|
||||||
|
}
|
||||||
|
["getMin"](_0x3e6cad, _0x1ce183) {
|
||||||
|
return _0x3e6cad < _0x1ce183 ? _0x3e6cad : _0x1ce183;
|
||||||
|
}
|
||||||
|
["getMax"](_0x939b39, _0xc0287e) {
|
||||||
|
return _0x939b39 < _0xc0287e ? _0xc0287e : _0x939b39;
|
||||||
|
}
|
||||||
|
["padStr"](_0x371ca0, _0x558a10, _0x50b7d9 = "0") {
|
||||||
|
let _0x23ddbe = String(_0x371ca0),
|
||||||
|
_0x5c77da = _0x558a10 > _0x23ddbe.length ? _0x558a10 - _0x23ddbe.length : 0,
|
||||||
|
_0x41ed35 = "";
|
||||||
|
for (let _0x232913 = 0; _0x232913 < _0x5c77da; _0x232913++) {
|
||||||
|
_0x41ed35 += _0x50b7d9;
|
||||||
|
}
|
||||||
|
_0x41ed35 += _0x23ddbe;
|
||||||
|
return _0x41ed35;
|
||||||
|
}
|
||||||
|
["json2str"](_0x3344e, _0x14c262, _0x39f0d1 = false) {
|
||||||
|
let _0x41049d = [];
|
||||||
|
for (let _0x59f8b1 of Object.keys(_0x3344e).sort()) {
|
||||||
|
let _0x492abf = _0x3344e[_0x59f8b1];
|
||||||
|
if (_0x492abf && _0x39f0d1) _0x492abf = encodeURIComponent(_0x492abf);
|
||||||
|
_0x41049d.push(_0x59f8b1 + "=" + _0x492abf);
|
||||||
|
}
|
||||||
|
return _0x41049d.join(_0x14c262);
|
||||||
|
}
|
||||||
|
["str2json"](_0x27a7e5, _0x562ec0 = false) {
|
||||||
|
{
|
||||||
|
let _0x21bc24 = {};
|
||||||
|
for (let _0x5a43be of _0x27a7e5.split("&")) {
|
||||||
|
if (!_0x5a43be) continue;
|
||||||
|
let _0x16b706 = _0x5a43be.indexOf("=");
|
||||||
|
if (_0x16b706 == -1) continue;
|
||||||
|
let _0x5c1005 = _0x5a43be.substr(0, _0x16b706),
|
||||||
|
_0x5bd991 = _0x5a43be.substr(_0x16b706 + 1);
|
||||||
|
if (_0x562ec0) _0x5bd991 = decodeURIComponent(_0x5bd991);
|
||||||
|
_0x21bc24[_0x5c1005] = _0x5bd991;
|
||||||
|
}
|
||||||
|
return _0x21bc24;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["randomString"](_0x3fd6b4, _0x227d42 = "abcdef0123456789") {
|
||||||
|
{
|
||||||
|
let _0x4a0db9 = "";
|
||||||
|
for (let _0x11b627 = 0; _0x11b627 < _0x3fd6b4; _0x11b627++) {
|
||||||
|
_0x4a0db9 += _0x227d42.charAt(Math.floor(Math.random() * _0x227d42.length));
|
||||||
|
}
|
||||||
|
return _0x4a0db9;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["randomList"](_0x3ac336) {
|
||||||
|
{
|
||||||
|
let _0x5b9b88 = Math.floor(Math.random() * _0x3ac336.length);
|
||||||
|
return _0x3ac336[_0x5b9b88];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["wait"](_0x3e1e6c) {
|
||||||
|
return new Promise(_0x342340 => setTimeout(_0x342340, _0x3e1e6c));
|
||||||
|
}
|
||||||
|
["done"](_0x39fc39 = {}) {
|
||||||
|
{
|
||||||
|
const _0x43cece = new Date().getTime(),
|
||||||
|
_0x11ce01 = (_0x43cece - this.startTime) / 1000;
|
||||||
|
console.log("\n" + this.name + " 运行结束,共运行了 " + _0x11ce01 + " 秒!");
|
||||||
|
if (this.isSurge() || this.isQuanX() || this.isLoon()) $done(_0x39fc39);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}(_0x145f6d, _0x2ad434);
|
||||||
|
}
|
||||||
516
wxapp/草莓台.js
Normal file
516
wxapp/草莓台.js
Normal file
@@ -0,0 +1,516 @@
|
|||||||
|
/**
|
||||||
|
* 草莓台小程序签到v0.03
|
||||||
|
* cron 10 12 * * * 草莓台.js
|
||||||
|
*
|
||||||
|
* ========= 青龙--配置文件 ===========
|
||||||
|
* # 项目名称
|
||||||
|
* export caomeitai_token='你抓包的openid#你的userId'
|
||||||
|
|
||||||
|
* 自己抓包协议头上的Cookie
|
||||||
|
|
||||||
|
* 多账号换行或&隔开
|
||||||
|
|
||||||
|
* 奖励:签到草莓币
|
||||||
|
* const $ = new Env("草莓台")
|
||||||
|
* ====================================
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//Sat Jan 25 2025 08:33:12 GMT+0000 (Coordinated Universal Time)
|
||||||
|
//Base:https://github.com/echo094/decode-js
|
||||||
|
//Modify:https://github.com/smallfawn/decode_action
|
||||||
|
const $ = new Env("草莓台小程序签到");
|
||||||
|
let envParams = "caomeitai_token",
|
||||||
|
envSplitor = ["\n", "&"],
|
||||||
|
authorizationToken = ($.isNode() ? process.env[envParams] : $.getdata(envParams)) || "",
|
||||||
|
initedJobForTokens = [],
|
||||||
|
currentUserIndex = 0;
|
||||||
|
class JobTask {
|
||||||
|
constructor(_0x2a8b2b) {
|
||||||
|
this.index = ++currentUserIndex;
|
||||||
|
this.points = 0;
|
||||||
|
this.valid = false;
|
||||||
|
this.userId = "";
|
||||||
|
[this.openid, this.userId] = _0x2a8b2b?.["split"]("#");
|
||||||
|
this.activedAuthToken = "";
|
||||||
|
}
|
||||||
|
async ["taskApi"](_0x47ec4f, _0x4e5aeb, _0x574064, _0x2d47eb) {
|
||||||
|
let _0x4541cc = null;
|
||||||
|
try {
|
||||||
|
{
|
||||||
|
let _0x12da9e = {
|
||||||
|
"url": _0x574064,
|
||||||
|
"headers": {
|
||||||
|
"Accept": "*/*",
|
||||||
|
"Accept-Language": "zh-CN,zh",
|
||||||
|
"Connection": "keep-alive",
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"Host": "cmtv.xmay.cc",
|
||||||
|
"Sec-Fetch-Dest": "empty",
|
||||||
|
"Sec-Fetch-Mode": "cors",
|
||||||
|
"Sec-Fetch-Site": "cross-site",
|
||||||
|
"referer": "https://servicewechat.com/wxc2a56f3a7492b8c4/145/page-frame.html",
|
||||||
|
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF XWEB/6945",
|
||||||
|
"xweb_xhr": "1"
|
||||||
|
},
|
||||||
|
"timeout": 60000
|
||||||
|
};
|
||||||
|
this.activedAuthToken && (_0x12da9e.headers.Authorization = "Bearer " + this.activedAuthToken);
|
||||||
|
if (_0x2d47eb) {
|
||||||
|
_0x12da9e.body = _0x2d47eb;
|
||||||
|
_0x12da9e.headers["Content-Length"] = _0x2d47eb?.["length"];
|
||||||
|
}
|
||||||
|
await httpRequest(_0x4e5aeb, _0x12da9e).then(async _0x5cd31a => {
|
||||||
|
{
|
||||||
|
if (_0x5cd31a.resp?.["statusCode"] == 200) {
|
||||||
|
if (_0x5cd31a.resp?.["body"]) _0x4541cc = JSON.parse(_0x5cd31a.resp.body);else {}
|
||||||
|
} else console.log("账号[" + this.index + "]调用" + _0x4e5aeb + "[" + _0x47ec4f + "]出错,返回状态码[" + (_0x5cd31a.resp?.["statusCode"] || "") + "]", "返回结果:", _0x5cd31a.resp?.["body"]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (_0x24afeb) {
|
||||||
|
console.log(_0x24afeb);
|
||||||
|
} finally {
|
||||||
|
return Promise.resolve(_0x4541cc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["LoginIn"]() {
|
||||||
|
try {
|
||||||
|
let _0x329bf1 = "LoginIn",
|
||||||
|
_0x168fa7 = "post",
|
||||||
|
_0x13d94a = "https://cmtv.xmay.cc/api/WX/login2",
|
||||||
|
_0x444be0 = "{\"id\":\"" + this.userId + "\",\"openid\":\"" + this.openid + "\"}";
|
||||||
|
await this.taskApi(_0x329bf1, _0x168fa7, _0x13d94a, _0x444be0).then(async _0x257d58 => {
|
||||||
|
{
|
||||||
|
if (_0x257d58?.["token"]) {
|
||||||
|
this.activedAuthToken = _0x257d58?.["token"];
|
||||||
|
this.valid = true;
|
||||||
|
this.points = _0x257d58?.["user"]["chbeanNum"] / 100;
|
||||||
|
this.userId = _0x257d58?.["user"]["id"];
|
||||||
|
console.log("账号[" + this.index + "] 登录成功,昵称:" + _0x257d58?.["user"]["nickname"] + ",草莓币:" + _0x257d58?.["user"]["chbeanNum"] / 100);
|
||||||
|
} else console.log("账号[" + this.index + "] 登录失败", _0x257d58), this.valid = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (_0x28cd9b) {
|
||||||
|
console.log(_0x28cd9b);
|
||||||
|
} finally {
|
||||||
|
return Promise.resolve(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["GetUserTask"]() {
|
||||||
|
try {
|
||||||
|
{
|
||||||
|
let _0x45d636 = "GetUserTask",
|
||||||
|
_0x413c1c = "get",
|
||||||
|
_0x1e2fea = "https://cmtv.xmay.cc/api/registerInfo/checkRegister?userId=" + this.userId,
|
||||||
|
_0x29a6c7 = "";
|
||||||
|
return await this.taskApi(_0x45d636, _0x413c1c, _0x1e2fea, _0x29a6c7).then(async _0x335edf => {
|
||||||
|
if (_0x335edf) {
|
||||||
|
if (!_0x335edf.isAfter) return console.log("账号[" + this.index + "] " + this.userId + " - 已经签到了,无需签到"), false;
|
||||||
|
console.log("账号[" + this.index + "] " + this.userId + " - 检测到还未签到");
|
||||||
|
return true;
|
||||||
|
} else $.logAndNotify("账号[" + this.index + "] " + this.userId + " - 查询草莓币失败,可能帐号无效:" + JSON.stringify(_0x335edf));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (_0x519874) {
|
||||||
|
console.log(_0x519874);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["SignInDaily"]() {
|
||||||
|
try {
|
||||||
|
let _0x3c8847 = "SignInDaily",
|
||||||
|
_0x43fe4c = "post",
|
||||||
|
_0x27aa7e = "https://cmtv.xmay.cc/api/registerInfo",
|
||||||
|
_0x20f926 = "{\"userId\":\"" + this.userId + "\"}";
|
||||||
|
await this.taskApi(_0x3c8847, _0x43fe4c, _0x27aa7e, _0x20f926).then(async _0x3bb44f => {
|
||||||
|
{
|
||||||
|
if (_0x3bb44f?.["id"]) console.log("账号[" + this.index + "] 签到成功,获得" + _0x3bb44f.cmb + "草莓币,当前草莓币:" + (this.points + _0x3bb44f.cmb));else {
|
||||||
|
console.log("账号[" + this.index + "] 签到失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (_0xe65438) {
|
||||||
|
console.log(_0xe65438);
|
||||||
|
} finally {
|
||||||
|
return Promise.resolve(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async ["doTask"]() {
|
||||||
|
try {
|
||||||
|
console.log("\n============= 账号[" + this.index + "] 开始签到=============");
|
||||||
|
(await this.GetUserTask()) && (await this.SignInDaily());
|
||||||
|
} catch (_0x208f28) {
|
||||||
|
console.log(_0x208f28);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
!(async () => {
|
||||||
|
if (typeof $request !== "undefined") await GetRewrite();else {
|
||||||
|
if (!(await checkEnv())) return;
|
||||||
|
console.log("\n================ 开始执行 ================");
|
||||||
|
for (let _0x13b5ec of initedJobForTokens) {
|
||||||
|
console.log("----------- 执行 第 [" + _0x13b5ec.index + "] 个账号 -----------");
|
||||||
|
await _0x13b5ec.LoginIn();
|
||||||
|
}
|
||||||
|
let _0x183d17 = initedJobForTokens.filter(_0x57aa60 => _0x57aa60.valid);
|
||||||
|
if (_0x183d17.length > 0) {
|
||||||
|
{
|
||||||
|
console.log("\n================ 任务队列构建完毕 ================");
|
||||||
|
for (let _0x50ca01 of _0x183d17) {
|
||||||
|
console.log("----------- 账号[" + _0x50ca01.index + "] -----------");
|
||||||
|
await _0x50ca01.doTask();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log("\n====幻生提示:无可用账号,请检查配置============ 任务结束 ================");
|
||||||
|
}
|
||||||
|
await $.showmsg();
|
||||||
|
}
|
||||||
|
})().catch(_0x337032 => console.log(_0x337032)).finally(() => $.done());
|
||||||
|
async function GetRewrite() {}
|
||||||
|
async function checkEnv() {
|
||||||
|
if (authorizationToken) {
|
||||||
|
let _0x1a5c2c = envSplitor[0];
|
||||||
|
for (let _0x3bab5c of envSplitor) {
|
||||||
|
if (authorizationToken.indexOf(_0x3bab5c) > -1) {
|
||||||
|
_0x1a5c2c = _0x3bab5c;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (let _0x2df51d of authorizationToken.split(_0x1a5c2c)) {
|
||||||
|
{
|
||||||
|
if (_0x2df51d) initedJobForTokens.push(new JobTask(_0x2df51d));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
userCount = initedJobForTokens.length;
|
||||||
|
} else {
|
||||||
|
console.log("未找到 配置信息,请检查是否配置 变量:", envParams);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log("共找到" + userCount + "个账号");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
async function httpRequest(_0xc08f76, _0x506aa0) {
|
||||||
|
httpErr = null;
|
||||||
|
httpReq = null;
|
||||||
|
httpResp = null;
|
||||||
|
return new Promise(_0x31994f => {
|
||||||
|
$.send(_0xc08f76, _0x506aa0, async (_0x22f513, _0x1d7338, _0x2845eb) => {
|
||||||
|
httpErr = _0x22f513;
|
||||||
|
httpReq = _0x1d7338;
|
||||||
|
httpResp = _0x2845eb;
|
||||||
|
_0x31994f({
|
||||||
|
"err": _0x22f513,
|
||||||
|
"req": _0x1d7338,
|
||||||
|
"resp": _0x2845eb
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function Env(_0x513ce9, _0x3f5b80) {
|
||||||
|
"undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0);
|
||||||
|
return new class {
|
||||||
|
constructor(_0xe1e102, _0x737bae) {
|
||||||
|
this.name = _0xe1e102;
|
||||||
|
this.notifyStr = "";
|
||||||
|
this.startTime = new Date().getTime();
|
||||||
|
Object.assign(this, _0x737bae);
|
||||||
|
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"](_0x4af141) {
|
||||||
|
let _0xf083dc = this.getval(_0x4af141);
|
||||||
|
if (/^@/.test(_0x4af141)) {
|
||||||
|
const [, _0x40f7e0, _0x1886d5] = /^@(.*?)\.(.*?)$/.exec(_0x4af141),
|
||||||
|
_0x13b49e = _0x40f7e0 ? this.getval(_0x40f7e0) : "";
|
||||||
|
if (_0x13b49e) try {
|
||||||
|
const _0x3fbd1c = JSON.parse(_0x13b49e);
|
||||||
|
_0xf083dc = _0x3fbd1c ? this.lodash_get(_0x3fbd1c, _0x1886d5, "") : _0xf083dc;
|
||||||
|
} catch (_0x35b1b7) {
|
||||||
|
_0xf083dc = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return _0xf083dc;
|
||||||
|
}
|
||||||
|
["setdata"](_0x28bfb3, _0x322236) {
|
||||||
|
let _0x1d16d8 = false;
|
||||||
|
if (/^@/.test(_0x322236)) {
|
||||||
|
{
|
||||||
|
const [, _0x1d300b, _0x4d0d99] = /^@(.*?)\.(.*?)$/.exec(_0x322236),
|
||||||
|
_0x201be5 = this.getval(_0x1d300b),
|
||||||
|
_0x549465 = _0x1d300b ? "null" === _0x201be5 ? null : _0x201be5 || "{}" : "{}";
|
||||||
|
try {
|
||||||
|
const _0x76924e = JSON.parse(_0x549465);
|
||||||
|
this.lodash_set(_0x76924e, _0x4d0d99, _0x28bfb3);
|
||||||
|
_0x1d16d8 = this.setval(JSON.stringify(_0x76924e), _0x1d300b);
|
||||||
|
} catch (_0x463f8b) {
|
||||||
|
const _0x4c1fab = {};
|
||||||
|
this.lodash_set(_0x4c1fab, _0x4d0d99, _0x28bfb3);
|
||||||
|
_0x1d16d8 = this.setval(JSON.stringify(_0x4c1fab), _0x1d300b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
_0x1d16d8 = this.setval(_0x28bfb3, _0x322236);
|
||||||
|
}
|
||||||
|
return _0x1d16d8;
|
||||||
|
}
|
||||||
|
["getval"](_0x57c252) {
|
||||||
|
return this.isSurge() || this.isLoon() ? $persistentStore.read(_0x57c252) : this.isQuanX() ? $prefs.valueForKey(_0x57c252) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x57c252]) : this.data && this.data[_0x57c252] || null;
|
||||||
|
}
|
||||||
|
["setval"](_0x134051, _0x4faa57) {
|
||||||
|
return this.isSurge() || this.isLoon() ? $persistentStore.write(_0x134051, _0x4faa57) : this.isQuanX() ? $prefs.setValueForKey(_0x134051, _0x4faa57) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x4faa57] = _0x134051, this.writedata(), true) : this.data && this.data[_0x4faa57] || null;
|
||||||
|
}
|
||||||
|
["send"](_0x1c870b, _0x5a3c06, _0x42ea8e = () => {}) {
|
||||||
|
{
|
||||||
|
if (_0x1c870b != "get" && _0x1c870b != "post" && _0x1c870b != "put" && _0x1c870b != "delete") {
|
||||||
|
console.log("无效的http方法:" + _0x1c870b);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (_0x1c870b == "get" && _0x5a3c06.headers) delete _0x5a3c06.headers["Content-Type"], delete _0x5a3c06.headers["Content-Length"];else {
|
||||||
|
if (_0x5a3c06.body && _0x5a3c06.headers) {
|
||||||
|
{
|
||||||
|
if (!_0x5a3c06.headers["Content-Type"]) _0x5a3c06.headers["Content-Type"] = "application/x-www-form-urlencoded";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.isSurge() || this.isLoon()) {
|
||||||
|
this.isSurge() && this.isNeedRewrite && (_0x5a3c06.headers = _0x5a3c06.headers || {}, Object.assign(_0x5a3c06.headers, {
|
||||||
|
"X-Surge-Skip-Scripting": false
|
||||||
|
}));
|
||||||
|
let _0x4a58cf = {
|
||||||
|
"method": _0x1c870b,
|
||||||
|
"url": _0x5a3c06.url,
|
||||||
|
"headers": _0x5a3c06.headers,
|
||||||
|
"timeout": _0x5a3c06.timeout,
|
||||||
|
"data": _0x5a3c06.body
|
||||||
|
};
|
||||||
|
if (_0x1c870b == "get") delete _0x4a58cf.data;
|
||||||
|
$axios(_0x4a58cf).then(_0x376e23 => {
|
||||||
|
{
|
||||||
|
const {
|
||||||
|
status: _0x2633d7,
|
||||||
|
request: _0x1ee9f,
|
||||||
|
headers: _0x5588d1,
|
||||||
|
data: _0x56dfa3
|
||||||
|
} = _0x376e23;
|
||||||
|
_0x42ea8e(null, _0x1ee9f, {
|
||||||
|
"statusCode": _0x2633d7,
|
||||||
|
"headers": _0x5588d1,
|
||||||
|
"body": _0x56dfa3
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}).catch(_0x48f466 => console.log(_0x48f466));
|
||||||
|
} else {
|
||||||
|
if (this.isQuanX()) _0x5a3c06.method = _0x1c870b.toUpperCase(), this.isNeedRewrite && (_0x5a3c06.opts = _0x5a3c06.opts || {}, Object.assign(_0x5a3c06.opts, {
|
||||||
|
"hints": false
|
||||||
|
})), $task.fetch(_0x5a3c06).then(_0x24a32b => {
|
||||||
|
{
|
||||||
|
const {
|
||||||
|
statusCode: _0x2ce309,
|
||||||
|
request: _0x553dee,
|
||||||
|
headers: _0x47ad1d,
|
||||||
|
body: _0x1d51d4
|
||||||
|
} = _0x24a32b;
|
||||||
|
_0x42ea8e(null, _0x553dee, {
|
||||||
|
"statusCode": _0x2ce309,
|
||||||
|
"headers": _0x47ad1d,
|
||||||
|
"body": _0x1d51d4
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, _0x2b68b9 => _0x42ea8e(_0x2b68b9));else {
|
||||||
|
if (this.isNode()) {
|
||||||
|
{
|
||||||
|
this.got = this.got ? this.got : require("got");
|
||||||
|
const {
|
||||||
|
url: _0x535b9e,
|
||||||
|
..._0x16a812
|
||||||
|
} = _0x5a3c06;
|
||||||
|
this.instance = this.got.extend({
|
||||||
|
"followRedirect": false
|
||||||
|
});
|
||||||
|
this.instance[_0x1c870b](_0x535b9e, _0x16a812).then(_0x1b5a14 => {
|
||||||
|
{
|
||||||
|
const {
|
||||||
|
statusCode: _0x2b7984,
|
||||||
|
request: _0x24596f,
|
||||||
|
headers: _0x17cbfd,
|
||||||
|
body: _0x18ca69
|
||||||
|
} = _0x1b5a14;
|
||||||
|
_0x42ea8e(null, _0x24596f, {
|
||||||
|
"statusCode": _0x2b7984,
|
||||||
|
"headers": _0x17cbfd,
|
||||||
|
"body": _0x18ca69
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, _0x56154e => {
|
||||||
|
{
|
||||||
|
const {
|
||||||
|
message: _0x88f437,
|
||||||
|
request: _0x261d64,
|
||||||
|
response: _0x2cc23c
|
||||||
|
} = _0x56154e;
|
||||||
|
_0x42ea8e(_0x88f437, _0x261d64, _0x2cc23c);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["time"](_0x1b4234, _0x2e33d8 = null) {
|
||||||
|
let _0x13f44e = _0x2e33d8 ? new Date(_0x2e33d8) : new Date(),
|
||||||
|
_0xd1abb3 = {
|
||||||
|
"M+": _0x13f44e.getMonth() + 1,
|
||||||
|
"d+": _0x13f44e.getDate(),
|
||||||
|
"h+": _0x13f44e.getHours(),
|
||||||
|
"m+": _0x13f44e.getMinutes(),
|
||||||
|
"s+": _0x13f44e.getSeconds(),
|
||||||
|
"q+": Math.floor((_0x13f44e.getMonth() + 3) / 3),
|
||||||
|
"S": _0x13f44e.getMilliseconds()
|
||||||
|
};
|
||||||
|
/(y+)/.test(_0x1b4234) && (_0x1b4234 = _0x1b4234.replace(RegExp.$1, (_0x13f44e.getFullYear() + "").substr(4 - RegExp.$1.length)));
|
||||||
|
for (let _0x12593f in _0xd1abb3) new RegExp("(" + _0x12593f + ")").test(_0x1b4234) && (_0x1b4234 = _0x1b4234.replace(RegExp.$1, 1 == RegExp.$1.length ? _0xd1abb3[_0x12593f] : ("00" + _0xd1abb3[_0x12593f]).substr(("" + _0xd1abb3[_0x12593f]).length)));
|
||||||
|
return _0x1b4234;
|
||||||
|
}
|
||||||
|
async ["showmsg"]() {
|
||||||
|
if (!this.notifyStr) return;
|
||||||
|
let _0x44fa77 = this.name + " 运行通知\n\n" + this.notifyStr;
|
||||||
|
if ($.isNode()) {
|
||||||
|
var _0x2a2ac8 = require("./sendNotify");
|
||||||
|
console.log("\n============== 推送 ==============");
|
||||||
|
await _0x2a2ac8.sendNotify(this.name, _0x44fa77);
|
||||||
|
} else this.msg(_0x44fa77);
|
||||||
|
}
|
||||||
|
["logAndNotify"](_0x147484) {
|
||||||
|
console.log(_0x147484);
|
||||||
|
this.notifyStr += _0x147484;
|
||||||
|
this.notifyStr += "\n";
|
||||||
|
}
|
||||||
|
["logAndNotifyWithTime"](_0x445549) {
|
||||||
|
{
|
||||||
|
let _0xb8cb7b = "[" + this.time("hh:mm:ss.S") + "]" + _0x445549;
|
||||||
|
console.log(_0xb8cb7b);
|
||||||
|
this.notifyStr += _0xb8cb7b;
|
||||||
|
this.notifyStr += "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["logWithTime"](_0x3ee709) {
|
||||||
|
console.log("[" + this.time("hh:mm:ss.S") + "]" + _0x3ee709);
|
||||||
|
}
|
||||||
|
["msg"](_0x2fbece = t, _0x54b688 = "", _0x3bcc34 = "", _0x224c9d) {
|
||||||
|
const _0x1a3f75 = _0x250b42 => {
|
||||||
|
{
|
||||||
|
if (!_0x250b42) return _0x250b42;
|
||||||
|
if ("string" == typeof _0x250b42) return this.isLoon() ? _0x250b42 : this.isQuanX() ? {
|
||||||
|
"open-url": _0x250b42
|
||||||
|
} : this.isSurge() ? {
|
||||||
|
"url": _0x250b42
|
||||||
|
} : undefined;
|
||||||
|
if ("object" == typeof _0x250b42) {
|
||||||
|
if (this.isLoon()) {
|
||||||
|
let _0x207cc8 = _0x250b42.openUrl || _0x250b42.url || _0x250b42["open-url"],
|
||||||
|
_0x5139ba = _0x250b42.mediaUrl || _0x250b42["media-url"];
|
||||||
|
return {
|
||||||
|
"openUrl": _0x207cc8,
|
||||||
|
"mediaUrl": _0x5139ba
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (this.isQuanX()) {
|
||||||
|
let _0x49efdc = _0x250b42["open-url"] || _0x250b42.url || _0x250b42.openUrl,
|
||||||
|
_0x3e3764 = _0x250b42["media-url"] || _0x250b42.mediaUrl;
|
||||||
|
return {
|
||||||
|
"open-url": _0x49efdc,
|
||||||
|
"media-url": _0x3e3764
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (this.isSurge()) {
|
||||||
|
let _0x260a6d = _0x250b42.url || _0x250b42.openUrl || _0x250b42["open-url"];
|
||||||
|
return {
|
||||||
|
"url": _0x260a6d
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(_0x2fbece, _0x54b688, _0x3bcc34, _0x1a3f75(_0x224c9d)) : this.isQuanX() && $notify(_0x2fbece, _0x54b688, _0x3bcc34, _0x1a3f75(_0x224c9d)));
|
||||||
|
let _0x1ab4e9 = ["", "============== 系统通知 =============="];
|
||||||
|
_0x1ab4e9.push(_0x2fbece);
|
||||||
|
_0x54b688 && _0x1ab4e9.push(_0x54b688);
|
||||||
|
_0x3bcc34 && _0x1ab4e9.push(_0x3bcc34);
|
||||||
|
console.log(_0x1ab4e9.join("\n"));
|
||||||
|
}
|
||||||
|
["getMin"](_0x111e23, _0x5d49a3) {
|
||||||
|
return _0x111e23 < _0x5d49a3 ? _0x111e23 : _0x5d49a3;
|
||||||
|
}
|
||||||
|
["getMax"](_0x57a5cf, _0x4b6479) {
|
||||||
|
return _0x57a5cf < _0x4b6479 ? _0x4b6479 : _0x57a5cf;
|
||||||
|
}
|
||||||
|
["padStr"](_0x1330d0, _0x447e5a, _0x1ce3d8 = "0") {
|
||||||
|
let _0x74cf55 = String(_0x1330d0),
|
||||||
|
_0x475acb = _0x447e5a > _0x74cf55.length ? _0x447e5a - _0x74cf55.length : 0,
|
||||||
|
_0x5dc5de = "";
|
||||||
|
for (let _0x3735bb = 0; _0x3735bb < _0x475acb; _0x3735bb++) {
|
||||||
|
_0x5dc5de += _0x1ce3d8;
|
||||||
|
}
|
||||||
|
_0x5dc5de += _0x74cf55;
|
||||||
|
return _0x5dc5de;
|
||||||
|
}
|
||||||
|
["json2str"](_0x2e906e, _0x548b9d, _0x156871 = false) {
|
||||||
|
let _0x485825 = [];
|
||||||
|
for (let _0xafaf11 of Object.keys(_0x2e906e).sort()) {
|
||||||
|
let _0x593dc4 = _0x2e906e[_0xafaf11];
|
||||||
|
if (_0x593dc4 && _0x156871) _0x593dc4 = encodeURIComponent(_0x593dc4);
|
||||||
|
_0x485825.push(_0xafaf11 + "=" + _0x593dc4);
|
||||||
|
}
|
||||||
|
return _0x485825.join(_0x548b9d);
|
||||||
|
}
|
||||||
|
["str2json"](_0x55e93e, _0x170529 = false) {
|
||||||
|
{
|
||||||
|
let _0x806c53 = {};
|
||||||
|
for (let _0x5bc7b3 of _0x55e93e.split("&")) {
|
||||||
|
if (!_0x5bc7b3) continue;
|
||||||
|
let _0x2887cc = _0x5bc7b3.indexOf("=");
|
||||||
|
if (_0x2887cc == -1) continue;
|
||||||
|
let _0x4fc7f5 = _0x5bc7b3.substr(0, _0x2887cc),
|
||||||
|
_0x33ebe3 = _0x5bc7b3.substr(_0x2887cc + 1);
|
||||||
|
if (_0x170529) _0x33ebe3 = decodeURIComponent(_0x33ebe3);
|
||||||
|
_0x806c53[_0x4fc7f5] = _0x33ebe3;
|
||||||
|
}
|
||||||
|
return _0x806c53;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["randomString"](_0xc6b621, _0x555c1b = "abcdef0123456789") {
|
||||||
|
let _0x447945 = "";
|
||||||
|
for (let _0x5b26e3 = 0; _0x5b26e3 < _0xc6b621; _0x5b26e3++) {
|
||||||
|
_0x447945 += _0x555c1b.charAt(Math.floor(Math.random() * _0x555c1b.length));
|
||||||
|
}
|
||||||
|
return _0x447945;
|
||||||
|
}
|
||||||
|
["randomList"](_0x39e14e) {
|
||||||
|
{
|
||||||
|
let _0x30db5e = Math.floor(Math.random() * _0x39e14e.length);
|
||||||
|
return _0x39e14e[_0x30db5e];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
["wait"](_0x39530a) {
|
||||||
|
return new Promise(_0x40404a => setTimeout(_0x40404a, _0x39530a));
|
||||||
|
}
|
||||||
|
["done"](_0x38e142 = {}) {
|
||||||
|
const _0x3168b5 = new Date().getTime(),
|
||||||
|
_0xd54e2e = (_0x3168b5 - this.startTime) / 1000;
|
||||||
|
console.log("\n" + this.name + " 运行结束,共运行了 " + _0xd54e2e + " 秒!");
|
||||||
|
if (this.isSurge() || this.isQuanX() || this.isLoon()) $done(_0x38e142);
|
||||||
|
}
|
||||||
|
}(_0x513ce9, _0x3f5b80);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user