Files
3288588344-toulu/广汽埃安.js
2024-07-03 10:38:23 +08:00

899 lines
25 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
广汽埃安 v1.02
扫码下载注册: https://raw.githubusercontent.com/leafTheFish/DeathNote/main/gqaa.jpg
每天签到和开连签盲盒, 车主有额外的点赞积分任务
积分可以换充电卡等, 毛不大, 自己决定要不要玩
捉 www.gacne.com.cn 域名请求的Cookie, 把PHPSESSID的值(如PHPSESSID=xxxxxxxx;)填到变量 gqaaCookie 里面
嫌麻烦的也可以把整个cookie扔进去
多账号换行或&或@隔开
export PHPSESSID="xxxxxxxx"
有问题联系3288588344
频道https://pd.qq.com/s/672fku8ge
cron: 51 6,16 * * *
const $ = new Env("广汽埃安");
*/
const _0x57726e = _0xafb67f("广汽埃安"),
_0x157252 = require("got"),
{
CookieJar: _0x39b841
} = require("tough-cookie"),
_0x12a3af = "gqaa",
_0x27935e = /[\n\&\@]/,
_0x570313 = [_0x12a3af + "Cookie"],
_0x1f66ac = 8000,
_0x41a616 = 3;
const _0x620eeb = 1.02,
_0x5cb507 = "gqaa",
_0xd58e67 = "https://leafxcy.coding.net/api/user/leafxcy/project/validcode/shared-depot/validCode/git/blob/master/code.json",
_0x571d42 = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 StatusHeight/20 BundleId/com.gacne.www Version/3.3.9",
_0x3a15c9 = "https://www.gacne.com.cn",
_0x223773 = "https://www.gacne.com.cn/web/app/sign_in.html",
_0x79e5b9 = 5,
_0x1a60e5 = 13,
_0x149fb5 = 1000,
_0x5a59fa = 3600000,
_0x2aa689 = 0,
_0x327956 = 3,
_0x3dd66a = ["顶一下", "打卡", "每日打打卡", "嘿嘿", "哈哈", "积分积分", "顶顶顶"];
class _0x1e527a {
constructor() {
this.index = _0x57726e.userIdx++;
this.name = "";
this.valid = false;
const _0x627300 = {
limit: 0
};
const _0x2f158b = {
Connection: "keep-alive"
};
const _0x3d9864 = {
retry: _0x627300,
timeout: _0x1f66ac,
followRedirect: false,
headers: _0x2f158b
};
this.got = _0x157252.extend(_0x3d9864);
}
log(_0x4ff667, _0x55786f = {}) {
let _0x1f3278 = "",
_0x49dff4 = _0x57726e.userCount.toString().length;
if (this.index) {
_0x1f3278 += "账号[" + _0x57726e.padStr(this.index, _0x49dff4) + "]";
}
if (this.name) {
_0x1f3278 += "[" + this.name + "]";
}
_0x57726e.log(_0x1f3278 + _0x4ff667, _0x55786f);
}
async request(_0x43dfdb) {
let _0x463e9e = null,
_0x35402b = 0,
_0x44adfc = _0x43dfdb.fn || _0x43dfdb.url;
_0x43dfdb.method = _0x43dfdb?.["method"]?.["toUpperCase"]() || "GET";
while (_0x35402b++ < _0x41a616) {
try {
await this.got(_0x43dfdb).then(_0x4f51f0 => {
_0x463e9e = _0x4f51f0;
}, _0x2322a7 => {
_0x463e9e = _0x2322a7.response;
});
if ((_0x463e9e?.["statusCode"] / 100 | 0) <= 4) {
break;
}
} catch (_0x4633ef) {
_0x4633ef.name == "TimeoutError" ? this.log("[" + _0x44adfc + "]请求超时,重试第" + _0x35402b + "次") : this.log("[" + _0x44adfc + "]请求错误(" + _0x4633ef.message + "),重试第" + _0x35402b + "次");
}
}
const _0x4beaf6 = {
statusCode: -1,
headers: null,
result: null
};
if (_0x463e9e == null) {
return Promise.resolve(_0x4beaf6);
}
let {
statusCode: _0x21acad,
headers: _0x20212f,
body: _0x5aae68
} = _0x463e9e;
if (_0x5aae68) {
try {
_0x5aae68 = JSON.parse(_0x5aae68);
} catch {}
}
const _0x274316 = {
statusCode: _0x21acad,
headers: _0x20212f,
result: _0x5aae68
};
return Promise.resolve(_0x274316);
}
}
let _0x1c4970 = new _0x1e527a();
class _0x61a68c extends _0x1e527a {
constructor(_0x2e700e) {
super();
this.cookieJar = new _0x39b841();
let _0x2753be = _0x2e700e?.["match"](/PHPSESSID=(\w+)/);
this.PHPSESSID = _0x2753be ? _0x2753be[1] : _0x2e700e;
this.set_cookie("PHPSESSID", this.PHPSESSID);
const _0x1937af = {
"User-Agent": _0x571d42,
Origin: _0x3a15c9,
Referer: _0x223773
};
this.got = this.got.extend({
cookieJar: this.cookieJar,
headers: _0x1937af
});
}
set_cookie(_0x280e6f, _0x2a073f, _0x2cf8a7 = {}) {
let _0x33c9fb = _0x2cf8a7.domain || "gacne.com.cn",
_0x980b19 = _0x2cf8a7.url || "https://www.gacne.com.cn";
this.cookieJar.setCookieSync(_0x280e6f + "=" + _0x2a073f + "; Domain=" + _0x33c9fb + ";", "" + _0x980b19);
}
async checkLogin(_0x2e5a5a = {}) {
let _0x2aa514 = false;
try {
const _0x41dd56 = {
fn: "checkLogin",
method: "post",
url: "https://www.gacne.com.cn/index/Madepost/checkLogin"
};
let {
result: _0x5564ff
} = await this.request(_0x57726e.copy(_0x41dd56)),
_0x3adeb3 = _0x57726e.get(_0x5564ff, "code", -1);
if (_0x3adeb3 == 200) {
this.valid = true;
let {
device_id: _0x5e0723,
tel: _0x1d8c34,
token: _0x3df494
} = _0x5564ff?.["data"];
this.deviceId = _0x5e0723;
this.deviceId && this.set_cookie("deviceId", this.deviceId);
this.name = _0x1d8c34;
this.token = _0x3df494;
_0x2aa514 = await this.refresh();
} else {
let _0x4d294d = _0x57726e.get(_0x5564ff, "msg", "");
this.log("登录失败[" + _0x3adeb3 + "]: " + _0x4d294d);
}
} catch (_0x56cd2f) {
console.log(_0x56cd2f);
} finally {
return _0x2aa514;
}
}
async refresh(_0x37f45f = {}) {
let _0x446dd1 = false;
try {
const _0x3c91b7 = {
fn: "refresh",
method: "post",
url: "https://www.gacne.com.cn/newv1/lifemain/insurance-mapi/order/had-insurance-order"
};
let {
result: _0x58b7f2
} = await this.request(_0x57726e.copy(_0x3c91b7)),
_0x5050a9 = _0x57726e.get(_0x58b7f2, "code", -1);
if (_0x5050a9 == "0000") {
_0x446dd1 = true;
} else {
let _0x1222de = _0x57726e.get(_0x58b7f2, "msg", "");
this.log("刷新CK失败[" + _0x5050a9 + "]: " + _0x1222de);
}
} catch (_0xcde42a) {
console.log(_0xcde42a);
} finally {
return _0x446dd1;
}
}
async sign_in(_0x3918cf = {}) {
try {
const _0x4c2257 = {
taskTypeCode: "TASK-INTEGRAL-SIGN-IN"
};
const _0xa4570a = {
fn: "sign_in",
method: "post",
url: "https://www.gacne.com.cn/newv1/lifemain/task-mapi/sign-in",
json: _0x4c2257
};
{
let {
result: _0x2765ad
} = await this.request(_0x57726e.copy(_0xa4570a)),
_0x43ae24 = _0x57726e.get(_0x2765ad, "code", -1);
if (_0x43ae24 == "0000") {
let {
isFirstSign: _0xada6da
} = _0x2765ad?.["data"];
_0xada6da ? this.log("签到成功") : this.log("今天已签到");
} else {
let _0x405d4e = _0x57726e.get(_0x2765ad, "msg", "");
this.log("查询签到失败[" + _0x43ae24 + "]: " + _0x405d4e);
}
}
{
let {
result: _0x436816
} = await this.request(_0x57726e.copy(_0xa4570a)),
_0x2412e4 = _0x57726e.get(_0x436816, "code", -1);
if (_0x2412e4 == "0000") {
let {
days: _0x2cb92f,
nextBoxTotalDay: _0x5644ae,
boxList: _0x249f7a
} = _0x436816?.["data"];
this.log("盲盒进度: " + _0x2cb92f + "/" + _0x5644ae);
for (let _0x14c86c of (_0x249f7a || []).filter(_0x8bef3 => _0x8bef3.status == 1)) {
for (let _0x4b5bcf = 0; _0x4b5bcf < _0x14c86c.openAmount; _0x4b5bcf++) {
await this.box_draw(_0x14c86c);
}
}
} else {
let _0x3639bf = _0x57726e.get(_0x436816, "msg", "");
this.log("查询盲盒进度失败[" + _0x2412e4 + "]: " + _0x3639bf);
}
}
} catch (_0x578aae) {
console.log(_0x578aae);
}
}
async box_draw(_0x3e3b3c, _0x2ca7ed = {}) {
try {
const _0x16465b = {
boxId: _0x3e3b3c.boxId,
type: 0
};
const _0x1f5e4c = {
fn: "box_draw",
method: "post",
url: "https://www.gacne.com.cn/newv1/lifemain/frontend/box/draw",
json: _0x16465b
};
let {
result: _0x2cb490
} = await this.request(_0x57726e.copy(_0x1f5e4c)),
_0x5f56d2 = _0x57726e.get(_0x2cb490, "code", -1);
if (_0x5f56d2 == "0000") {
let {
prizeName: _0x5c4c9d,
boxName: _0x477b46
} = _0x2cb490?.["data"];
const _0x5805b9 = {
notify: true
};
this.log("开启[" + _0x477b46 + "]: " + _0x5c4c9d, _0x5805b9);
} else {
let _0x1aad43 = _0x57726e.get(_0x2cb490, "msg", "");
this.log("开启[" + _0x3e3b3c.boxName + "]失败[" + _0x5f56d2 + "]: " + _0x1aad43);
}
} catch (_0x3a3ced) {
console.log(_0x3a3ced);
}
}
async check_integral(_0x26a1ff = {}) {
try {
const _0x5bb117 = {
fn: "check_integral",
method: "post",
url: "https://www.gacne.com.cn/newv1/lifemain/task-mapi/sign-in",
json: {}
};
_0x5bb117.json.taskTypeCode = "TASK-INTEGRAL-SIGN-IN";
let {
result: _0x15f240
} = await this.request(_0x57726e.copy(_0x5bb117)),
_0x348985 = _0x57726e.get(_0x15f240, "code", -1);
if (_0x348985 == "0000") {
this.integral = _0x15f240?.["data"]?.["totalIntegral"] || 0;
const _0x5967f7 = {
notify: true
};
this.log("积分: " + this.integral, _0x5967f7);
} else {
let _0x4449e3 = _0x57726e.get(_0x15f240, "msg", "");
this.log("查询积分失败[" + _0x348985 + "]: " + _0x4449e3);
}
} catch (_0xb1012) {
console.log(_0xb1012);
}
}
async detail_new(_0x28fa51 = {}) {
try {
const _0x3cf3e2 = {
fn: "detail_new",
method: "post",
url: "https://www.gacne.com.cn/newv1/lifemain/task-mapi/sign-in/detail-new",
json: {}
};
_0x3cf3e2.json.taskTypeCode = "TASK-INTEGRAL-SIGN-IN";
let {
result: _0xfcaa2d
} = await this.request(_0x57726e.copy(_0x3cf3e2)),
_0x5086a5 = _0x57726e.get(_0xfcaa2d, "code", -1);
if (_0x5086a5 == "0000") {
for (let _0x1b6428 of _0xfcaa2d?.["data"]?.["banners"] || []) {
for (let _0x1d600a of _0x1b6428?.["contents"] || []) {
for (let _0x2fb095 of (_0x1d600a?.["tasks"] || []).filter(_0x1aba03 => _0x1aba03.buttonStatus === 0)) {
await this.process_task(_0x2fb095);
}
}
}
} else {
let _0x1e19c9 = _0x57726e.get(_0xfcaa2d, "msg", "");
this.log("查询任务失败[" + _0x5086a5 + "]: " + _0x1e19c9);
}
} catch (_0x37e189) {
console.log(_0x37e189);
}
}
async process_task(_0x2181b7, _0x543497 = {}) {
try {
switch (_0x2181b7.taskId) {
case 62:
{
let _0x2d9cbd = Math.floor(Math.random() * 10000) + 45000;
for (let _0x19f914 = 0; _0x19f914 < 5; _0x19f914++) {
await this.article_like(_0x2d9cbd + _0x19f914);
}
break;
}
}
} catch (_0x4cd91a) {
console.log(_0x4cd91a);
}
}
async comment_add(_0x4bea91, _0x1ef972 = {}) {
try {
let _0x340015 = _0x57726e.randomList(_0x3dd66a),
_0x2b9f20 = {
fn: "comment_add",
method: "post",
url: "https://www.gacne.com.cn/newv1/cms/frontend/comment/add",
json: {
sourceId: _0x4bea91.toString(),
type: "104",
content: _0x340015,
contentExt: _0x340015,
atFriendsList: []
}
},
{
result: _0x24af06
} = await this.request(_0x57726e.copy(_0x2b9f20)),
_0x377dcc = _0x57726e.get(_0x24af06, "code", -1);
if (_0x377dcc == "0000") {
let _0x376cad = _0x24af06?.["data"]?.["id"] || 0;
this.log("评论文章[" + _0x4bea91 + "]成功: 评论id=" + _0x376cad);
_0x376cad && (await this.comment_delete(_0x376cad));
} else {
let _0x4dd834 = _0x57726e.get(_0x24af06, "msg", "");
this.log("评论失败[" + _0x377dcc + "]: " + _0x4dd834);
}
} catch (_0x33db3f) {
console.log(_0x33db3f);
}
}
async comment_delete(_0x2d86d7, _0x3148a6 = {}) {
try {
let _0x1100b5 = {
fn: "comment_add",
method: "post",
url: "https://www.gacne.com.cn/newv1/cms/frontend/comment/delete",
json: {
commentId: _0x2d86d7.toString(),
version: "3.3.9"
}
},
{
result: _0x47dabf
} = await this.request(_0x57726e.copy(_0x1100b5)),
_0x50c004 = _0x57726e.get(_0x47dabf, "code", -1);
if (_0x50c004 == "0000") {
this.log("删除评论[" + _0x2d86d7 + "]成功");
} else {
let _0x1c1b85 = _0x57726e.get(_0x47dabf, "msg", "");
this.log("删除评论[" + _0x2d86d7 + "]失败[" + _0x50c004 + "]: " + _0x1c1b85);
}
} catch (_0x283137) {
console.log(_0x283137);
}
}
async article_like(_0x3f7a7b, _0x5c0c91 = true, _0x468fdd = 0, _0x2f05f6 = {}) {
try {
const _0x2237b0 = {
fn: "comment_add",
method: "post",
url: "https://www.gacne.com.cn/newv1/cms/frontend/like/like",
json: {}
};
_0x2237b0.json.businessType = "104";
_0x2237b0.json.businessId = _0x3f7a7b;
let {
result: _0x89b536
} = await this.request(_0x57726e.copy(_0x2237b0)),
_0x5bff9e = _0x57726e.get(_0x89b536, "code", -1);
if (_0x5bff9e == "0000") {
_0x89b536?.["data"] == true ? (this.log("点赞文章[" + _0x3f7a7b + "]成功"), await this.article_like(_0x3f7a7b, false)) : _0x5c0c91 ? _0x468fdd < _0x327956 ? await this.article_like(_0x3f7a7b, true, _0x468fdd + 1) : this.log("点赞文章[" + _0x3f7a7b + "]失败") : this.log("取消点赞文章[" + _0x3f7a7b + "]成功");
} else {
let _0x2317e8 = _0x57726e.get(_0x89b536, "msg", "");
this.log("点赞文章[" + _0x3f7a7b + "]失败[" + _0x5bff9e + "]: " + _0x2317e8);
}
} catch (_0x423adf) {
console.log(_0x423adf);
}
}
async userTask(_0x332f3a = {}) {
if (!(await this.checkLogin())) {
return;
}
await this.sign_in();
await this.detail_new();
await this.check_integral();
}
}
!(async () => {
//if (!(await _0x54e8ac())) {
// return;
//}
_0x57726e.read_env(_0x61a68c);
for (let _0x1682e4 of _0x57726e.userList) {
await _0x1682e4.userTask();
}
})().catch(_0x30e3bb => _0x57726e.log(_0x30e3bb)).finally(() => _0x57726e.exitNow());
async function _0x54e8ac(_0x24bc02 = 0) {
let _0xbe6122 = false;
try {
const _0x2bdf7d = {
fn: "auth",
method: "get",
url: _0xd58e67,
timeout: 20000
};
let {
statusCode: _0x3b94f2,
result: _0xccbbf5
} = await _0x1c4970.request(_0x2bdf7d);
if (_0x3b94f2 != 200) {
_0x24bc02++ < _0x79e5b9 && (_0xbe6122 = await _0x54e8ac(_0x24bc02));
return _0xbe6122;
}
if (_0xccbbf5?.["code"] == 0) {
_0xccbbf5 = JSON.parse(_0xccbbf5.data.file.data);
if (_0xccbbf5?.["commonNotify"] && _0xccbbf5.commonNotify.length > 0) {
const _0x2920c3 = {
notify: true
};
_0x57726e.log(_0xccbbf5.commonNotify.join("\n") + "\n", _0x2920c3);
}
_0xccbbf5?.["commonMsg"] && _0xccbbf5.commonMsg.length > 0 && _0x57726e.log(_0xccbbf5.commonMsg.join("\n") + "\n");
if (_0xccbbf5[_0x5cb507]) {
let _0x3e76d7 = _0xccbbf5[_0x5cb507];
_0x3e76d7.status == 0 ? _0x620eeb >= _0x3e76d7.version ? (_0xbe6122 = true, _0x57726e.log(_0x3e76d7.msg[_0x3e76d7.status]), _0x57726e.log(_0x3e76d7.updateMsg), _0x57726e.log("现在运行的脚本版本是:" + _0x620eeb + ",最新脚本版本:" + _0x3e76d7.latestVersion)) : _0x57726e.log(_0x3e76d7.versionMsg) : _0x57726e.log(_0x3e76d7.msg[_0x3e76d7.status]);
} else {
_0x57726e.log(_0xccbbf5.errorMsg);
}
} else {
_0x24bc02++ < _0x79e5b9 && (_0xbe6122 = await _0x54e8ac(_0x24bc02));
}
} catch (_0x3351ef) {
_0x57726e.log(_0x3351ef);
} finally {
return _0xbe6122;
}
}
function _0xafb67f(_0x1769fd) {
return new class {
constructor(_0x256e2d) {
this.name = _0x256e2d;
this.startTime = Date.now();
const _0x5c5246 = {
time: true
};
this.log("[" + this.name + "]开始运行\n", _0x5c5246);
this.notifyStr = [];
this.notifyFlag = true;
this.userIdx = 0;
this.userList = [];
this.userCount = 0;
}
log(_0x3a7bbe, _0x5948a5 = {}) {
const _0x5dcf03 = {
console: true
};
Object.assign(_0x5dcf03, _0x5948a5);
if (_0x5dcf03.time) {
let _0x39f680 = _0x5dcf03.fmt || "hh:mm:ss";
_0x3a7bbe = "[" + this.time(_0x39f680) + "]" + _0x3a7bbe;
}
if (_0x5dcf03.notify) {
this.notifyStr.push(_0x3a7bbe);
}
if (_0x5dcf03.console) {
console.log(_0x3a7bbe);
}
}
get(_0x39951a, _0x25a1a2, _0x4d4fc7 = "") {
let _0x4e7345 = _0x4d4fc7;
_0x39951a?.["hasOwnProperty"](_0x25a1a2) && (_0x4e7345 = _0x39951a[_0x25a1a2]);
return _0x4e7345;
}
pop(_0x2e950f, _0x7c0dad, _0x359351 = "") {
let _0x13a1bb = _0x359351;
_0x2e950f?.["hasOwnProperty"](_0x7c0dad) && (_0x13a1bb = _0x2e950f[_0x7c0dad], delete _0x2e950f[_0x7c0dad]);
return _0x13a1bb;
}
copy(_0x49edda) {
return Object.assign({}, _0x49edda);
}
read_env(_0x10092d) {
let _0x51da5d = _0x570313.map(_0x24b37d => process.env[_0x24b37d]);
for (let _0x29db68 of _0x51da5d.filter(_0x5a7143 => !!_0x5a7143)) {
for (let _0x158a73 of _0x29db68.split(_0x27935e).filter(_0x376b1c => !!_0x376b1c)) {
if (this.userList.includes(_0x158a73)) {
continue;
}
this.userList.push(new _0x10092d(_0x158a73));
}
}
this.userCount = this.userList.length;
if (!this.userCount) {
const _0x222b1f = {
notify: true
};
this.log("未找到变量,请检查变量" + _0x570313.map(_0x271334 => "[" + _0x271334 + "]").join("或"), _0x222b1f);
return false;
}
this.log("共找到" + this.userCount + "个账号");
return true;
}
async threads(_0x4949f6, _0x584e43, _0x5a910f = {}) {
while (_0x584e43.idx < _0x57726e.userList.length) {
let _0x2ac950 = _0x57726e.userList[_0x584e43.idx++];
if (!_0x2ac950.valid) {
continue;
}
await _0x2ac950[_0x4949f6](_0x5a910f);
}
}
async threadTask(_0x2dea71, _0xc5fc20) {
let _0x50bab2 = [];
const _0x57c126 = {
idx: 0
};
while (_0xc5fc20--) {
_0x50bab2.push(this.threads(_0x2dea71, _0x57c126));
}
await Promise.all(_0x50bab2);
}
time(_0xd7b6ec, _0x470f66 = null) {
let _0x1f2c33 = _0x470f66 ? new Date(_0x470f66) : new Date(),
_0x5a2523 = {
"M+": _0x1f2c33.getMonth() + 1,
"d+": _0x1f2c33.getDate(),
"h+": _0x1f2c33.getHours(),
"m+": _0x1f2c33.getMinutes(),
"s+": _0x1f2c33.getSeconds(),
"q+": Math.floor((_0x1f2c33.getMonth() + 3) / 3),
S: this.padStr(_0x1f2c33.getMilliseconds(), 3)
};
/(y+)/.test(_0xd7b6ec) && (_0xd7b6ec = _0xd7b6ec.replace(RegExp.$1, (_0x1f2c33.getFullYear() + "").substr(4 - RegExp.$1.length)));
for (let _0x28cc52 in _0x5a2523) new RegExp("(" + _0x28cc52 + ")").test(_0xd7b6ec) && (_0xd7b6ec = _0xd7b6ec.replace(RegExp.$1, 1 == RegExp.$1.length ? _0x5a2523[_0x28cc52] : ("00" + _0x5a2523[_0x28cc52]).substr(("" + _0x5a2523[_0x28cc52]).length)));
return _0xd7b6ec;
}
async showmsg() {
if (!this.notifyFlag) {
return;
}
if (!this.notifyStr.length) {
return;
}
let _0x1d4fbc = require("./sendNotify");
this.log("\n============== 推送 ==============");
await _0x1d4fbc.sendNotify(this.name, this.notifyStr.join("\n"));
}
padStr(_0x3ad858, _0x529cdd, _0x52f10e = {}) {
let _0x430a77 = _0x52f10e.padding || "0",
_0x2f3ffe = _0x52f10e.mode || "l",
_0x20e6f5 = String(_0x3ad858),
_0x35ef26 = _0x529cdd > _0x20e6f5.length ? _0x529cdd - _0x20e6f5.length : 0,
_0x28c19f = "";
for (let _0x178519 = 0; _0x178519 < _0x35ef26; _0x178519++) {
_0x28c19f += _0x430a77;
}
_0x2f3ffe == "r" ? _0x20e6f5 = _0x20e6f5 + _0x28c19f : _0x20e6f5 = _0x28c19f + _0x20e6f5;
return _0x20e6f5;
}
json2str(_0x359dfc, _0x55e160, _0xe089a1 = false) {
let _0x209a05 = [];
for (let _0x25a87e of Object.keys(_0x359dfc).sort()) {
let _0x490db8 = _0x359dfc[_0x25a87e];
if (_0x490db8 && _0xe089a1) {
_0x490db8 = encodeURIComponent(_0x490db8);
}
_0x209a05.push(_0x25a87e + "=" + _0x490db8);
}
return _0x209a05.join(_0x55e160);
}
str2json(_0x17b2a4, _0x272cec = false) {
let _0x162d31 = {};
for (let _0x3c5246 of _0x17b2a4.split("&")) {
if (!_0x3c5246) {
continue;
}
let _0x2f91c5 = _0x3c5246.indexOf("=");
if (_0x2f91c5 == -1) {
continue;
}
let _0x1ab288 = _0x3c5246.substr(0, _0x2f91c5),
_0x162db1 = _0x3c5246.substr(_0x2f91c5 + 1);
if (_0x272cec) {
_0x162db1 = decodeURIComponent(_0x162db1);
}
_0x162d31[_0x1ab288] = _0x162db1;
}
return _0x162d31;
}
randomPattern(_0x5f3c83, _0x19f9c5 = "abcdef0123456789") {
let _0x4fa6d4 = "";
for (let _0x348d6c of _0x5f3c83) {
if (_0x348d6c == "x") {
_0x4fa6d4 += _0x19f9c5.charAt(Math.floor(Math.random() * _0x19f9c5.length));
} else {
_0x348d6c == "X" ? _0x4fa6d4 += _0x19f9c5.charAt(Math.floor(Math.random() * _0x19f9c5.length)).toUpperCase() : _0x4fa6d4 += _0x348d6c;
}
}
return _0x4fa6d4;
}
randomUuid() {
return this.randomPattern("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
}
randomString(_0x343b03, _0x324233 = "abcdef0123456789") {
let _0x30330 = "";
for (let _0x4135c1 = 0; _0x4135c1 < _0x343b03; _0x4135c1++) {
_0x30330 += _0x324233.charAt(Math.floor(Math.random() * _0x324233.length));
}
return _0x30330;
}
randomList(_0x13e9bb) {
let _0x110f62 = Math.floor(Math.random() * _0x13e9bb.length);
return _0x13e9bb[_0x110f62];
}
wait(_0x24952c) {
return new Promise(_0x34f73f => setTimeout(_0x34f73f, _0x24952c));
}
async exitNow() {
await this.showmsg();
let _0x2d8959 = Date.now(),
_0x46c8c7 = (_0x2d8959 - this.startTime) / 1000;
this.log("");
const _0x4e1a23 = {
time: true
};
this.log("[" + this.name + "]运行结束,共运行了" + _0x46c8c7 + "秒", _0x4e1a23);
process.exit(0);
}
normalize_time(_0x53b538, _0x1faa00 = {}) {
let _0x37b02e = _0x1faa00.len || _0x1a60e5;
_0x53b538 = _0x53b538.toString();
let _0x166c58 = _0x53b538.length;
while (_0x166c58 < _0x37b02e) {
_0x53b538 += "0";
}
_0x166c58 > _0x37b02e && (_0x53b538 = _0x53b538.slice(0, 13));
return parseInt(_0x53b538);
}
async wait_until(_0x218619, _0x55d35f = {}) {
let _0x52ea23 = _0x55d35f.logger || this,
_0x40b0a3 = _0x55d35f.interval || _0x149fb5,
_0x321fe6 = _0x55d35f.limit || _0x5a59fa,
_0x43d134 = _0x55d35f.ahead || _0x2aa689;
if (typeof _0x218619 == "string" && _0x218619.includes(":")) {
if (_0x218619.includes("-")) {
_0x218619 = new Date(_0x218619).getTime();
} else {
let _0x4570db = this.time("yyyy-MM-dd ");
_0x218619 = new Date(_0x4570db + _0x218619).getTime();
}
}
let _0x213726 = this.normalize_time(_0x218619) - _0x43d134,
_0x15f711 = this.time("hh:mm:ss.S", _0x213726),
_0x64038d = Date.now();
_0x64038d > _0x213726 && (_0x213726 += 86400000);
let _0x2300fa = _0x213726 - _0x64038d;
if (_0x2300fa > _0x321fe6) {
const _0x472762 = {
time: true
};
_0x52ea23.log("离目标时间[" + _0x15f711 + "]大于" + _0x321fe6 / 1000 + "秒,不等待", _0x472762);
} else {
const _0x51bb43 = {
time: true
};
_0x52ea23.log("离目标时间[" + _0x15f711 + "]还有" + _0x2300fa / 1000 + "秒,开始等待", _0x51bb43);
while (_0x2300fa > 0) {
let _0x35d2f8 = Math.min(_0x2300fa, _0x40b0a3);
await this.wait(_0x35d2f8);
_0x64038d = Date.now();
_0x2300fa = _0x213726 - _0x64038d;
}
const _0x50a2dc = {
time: true
};
_0x52ea23.log("已完成等待", _0x50a2dc);
}
}
async wait_gap_interval(_0x4b224a, _0x63b7f5) {
let _0x33918a = Date.now() - _0x4b224a;
_0x33918a < _0x63b7f5 && (await this.wait(_0x63b7f5 - _0x33918a));
}
}(_0x1769fd);
}