Files
3288588344-toulu/电信营业厅任务.js
2025-02-15 12:21:04 +08:00

2229 lines
79 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
/*电信营业厅 v6.02
签到和完成部分金豆任务, 喂宠物
7天,15天,28天连签抽奖, 宠物等级权益兑换
自己设置电信的服务密码, 把 手机号#服务密码 填到变量里, 多账号换行或&或@隔开:
export chinaTelecomAccount="138000000#111111"
每天运行多次
cron: 5 0,6,12,20 * * *
const $ = new Env("电信营业厅并发");
#TL库:https://github.com/3288588344/toulu.git
#tg频道:https://t.me/TLtoulu
#QQ频道:https://pd.qq.com/s/672fku8ge
#微信机器人kckl6688
#公众号:哆啦A梦的藏宝箱
*/
const _0x49dfef = _0x5370a4("电信营业厅"),
_0x8e0885 = require("got"),
_0x203c4a = require("path"),
{
exec: _0x3898d1
} = require("child_process"),
{
CookieJar: _0x4f58d7
} = require("tough-cookie"),
_0x5336b3 = require("fs"),
_0x5e650c = require("crypto-js"),
_0x22f09c = "chinaTelecom",
_0x1876a7 = /[\n\&\@]/,
_0x4aec53 = [_0x22f09c + "Account"],
_0x128624 = 30000,
_0x5a04a9 = 3;
const _0x1736e2 = _0x22f09c + "Rpc",
_0x16d3ea = process.env[_0x1736e2],
_0xf4231c = 6.02,
_0x14f289 = "chinaTelecom",
_0x100b57 = "https://leafxcy.coding.net/api/user/leafxcy/project/validcode/shared-depot/validCode/git/blob/master/code.json",
_0x344953 = "JinDouMall";
let _0x1d3d6d = {};
const _0x5370da = "./chinaTelecom_cache.json",
_0x3ed712 = "Mozilla/5.0 (Linux; U; Android 12; zh-cn; ONEPLUS A9000 Build/QKQ1.190716.003) AppleWebKit/533.1 (KHTML, like Gecko) Version/5.0 Mobile Safari/533.1",
_0x75a069 = "34d7cb0bcdf07523",
_0x2304b1 = "1234567`90koiuyhgtfrdewsaqaqsqde",
_0x1110eb = "\0\0\0\0\0\0\0\0",
_0x3c561e = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBkLT15ThVgz6/NOl6s8GNPofdWzWbCkWnkaAm7O2LjkM1H7dMvzkiqdxU02jamGRHLX/ZNMCXHnPcW/sDhiFCBN18qFvy8g6VYb9QtroI09e176s+ZCtiv7hbin2cCTj99iUpnEloZm19lwHyo69u5UMiPMpq0/XKBO8lYhN/gwIDAQAB",
_0x1e9565 = "-----BEGIN PUBLIC KEY-----\n" + _0x3c561e + "\n-----END PUBLIC KEY-----",
_0x516f15 = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+ugG5A8cZ3FqUKDwM57GM4io6JGcStivT8UdGt67PEOihLZTw3P7371+N47PrmsCpnTRzbTgcupKtUv8ImZalYk65dU8rjC/ridwhw9ffW2LBwvkEnDkkKKRi2liWIItDftJVBiWOh17o6gfbPoNrWORcAdcbpk2L+udld5kZNwIDAQAB",
_0x4995b7 = "-----BEGIN PUBLIC KEY-----\n" + _0x516f15 + "\n-----END PUBLIC KEY-----",
_0x51cf70 = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIPOHtjs6p4sTlpFvrx+ESsYkEvyT4JB/dcEbU6C8+yclpcmWEvwZFymqlKQq89laSH4IxUsPJHKIOiYAMzNibhED1swzecH5XLKEAJclopJqoO95o8W63Euq6K+AKMzyZt1SEqtZ0mXsN8UPnuN/5aoB3kbPLYpfEwBbhto6yrwIDAQAB",
_0x2e5ddf = "-----BEGIN PUBLIC KEY-----\n" + _0x51cf70 + "\n-----END PUBLIC KEY-----",
_0xc38e90 = require("node-rsa");
let _0x13a631 = new _0xc38e90(_0x1e9565);
const _0x4386dc = {
encryptionScheme: "pkcs1"
};
_0x13a631.setOptions(_0x4386dc);
let _0x47bb4b = new _0xc38e90(_0x4995b7);
const _0xe2cacf = {
encryptionScheme: "pkcs1"
};
_0x47bb4b.setOptions(_0xe2cacf);
let _0x5b4189 = new _0xc38e90(_0x2e5ddf);
const _0x3ab892 = {
encryptionScheme: "pkcs1"
};
_0x5b4189.setOptions(_0x3ab892);
const _0x131d2d = [202201, 202202, 202203],
_0x3c685e = 5;
function _0x1519a6(_0xa8ae5c, _0x459aac, _0x58d61f, _0xa81bc3, _0x5af061, _0x3eaf32) {
return _0x5e650c[_0xa8ae5c].encrypt(_0x5e650c.enc.Utf8.parse(_0xa81bc3), _0x5e650c.enc.Utf8.parse(_0x5af061), {
mode: _0x5e650c.mode[_0x459aac],
padding: _0x5e650c.pad[_0x58d61f],
iv: _0x5e650c.enc.Utf8.parse(_0x3eaf32)
}).ciphertext.toString(_0x5e650c.enc.Hex);
}
function _0x436a1e(_0x5007ed, _0x18814d, _0x38ebb6, _0x4281ff, _0x1bafc9, _0x3aac70) {
return _0x5e650c[_0x5007ed].decrypt({
ciphertext: _0x5e650c.enc.Hex.parse(_0x4281ff)
}, _0x5e650c.enc.Utf8.parse(_0x1bafc9), {
mode: _0x5e650c.mode[_0x18814d],
padding: _0x5e650c.pad[_0x38ebb6],
iv: _0x5e650c.enc.Utf8.parse(_0x3aac70)
}).toString(_0x5e650c.enc.Utf8);
}
function _0x4e4355() {
try {
_0x5336b3.writeFileSync(_0x5370da, JSON.stringify(_0x1d3d6d, null, 4), "utf-8");
} catch (_0x1c3791) {
console.log("保存缓存出错");
}
}
function _0xa0ff1b() {
try {
_0x1d3d6d = JSON.parse(_0x5336b3.readFileSync(_0x5370da, "utf-8"));
} catch (_0x125821) {
console.log("读取缓存出错, 新建一个token缓存");
_0x4e4355();
}
}
let _0x300c8e = 0,
_0xdb6efe = 0;
function _0x11cae0() {
_0xdb6efe = 1;
process.on("SIGTERM", () => {
_0xdb6efe = 2;
process.exit(0);
});
const _0x377b8a = _0x203c4a.basename(process.argv[1]),
_0x39bc5b = ["bash", "timeout", "grep"];
let _0x4fe84e = ["ps afx"];
_0x4fe84e.push("grep " + _0x377b8a);
_0x4fe84e = _0x4fe84e.concat(_0x39bc5b.map(_0x425dac => "grep -v \"" + _0x425dac + " \""));
_0x4fe84e.push("wc -l");
const _0x401932 = _0x4fe84e.join("|"),
_0x134226 = () => {
_0x3898d1(_0x401932, (_0x26b41f, _0x817890, _0x4eca1a) => {
if (_0x26b41f || _0x4eca1a) {
return;
}
_0x300c8e = parseInt(_0x817890.trim(), 10);
});
if (_0xdb6efe == 1) {
setTimeout(_0x134226, 2000);
}
};
_0x134226();
}
class _0x9d1851 {
constructor() {
this.index = _0x49dfef.userIdx++;
this.name = "";
this.valid = false;
const _0x46f57a = {
limit: 0
};
const _0x42e66e = {
Connection: "keep-alive"
};
const _0x1612bd = {
retry: _0x46f57a,
timeout: _0x128624,
followRedirect: false,
ignoreInvalidCookies: true,
headers: _0x42e66e
};
this.got = _0x8e0885.extend(_0x1612bd);
if (_0xdb6efe == 0) {
_0x11cae0();
}
}
log(_0x42a357, _0x32d0cc = {}, _0x4e4355 = false) {
var _0x58117c = "",
_0x9ca0e2 = _0x49dfef.userCount.toString().length;
if (this.index) {
_0x58117c += "账号[" + _0x49dfef.padStr(this.index, _0x9ca0e2) + "]";
}
if (this.name) {
_0x58117c += "[" + this.name + "]";
}
let logEntry = _0x58117c + _0x42a357;
this.logs.push(logEntry); // 将日志存储到 logs 数组中
if (_0x4e4355) {
_0x49dfef.log(logEntry, _0x32d0cc);
}
}
set_cookie(_0x309397, _0x3ab012, _0x4a8547, _0x1320cb, _0x482400 = {}) {
this.cookieJar.setCookieSync(_0x309397 + "=" + _0x3ab012 + "; Domain=" + _0x4a8547 + ";", "" + _0x1320cb);
}
async request(_0x29ad8a) {
const _0x58b4a1 = ["ECONNRESET", "EADDRINUSE", "ENOTFOUND", "EAI_AGAIN"],
_0x497c09 = ["TimeoutError"],
_0x54807f = ["EPROTO"],
_0x30eee7 = [];
var _0x208a74 = null,
_0x3a35d0 = 0,
_0x1684d3 = _0x29ad8a.fn || _0x29ad8a.url;
let _0x25d788 = _0x49dfef.get(_0x29ad8a, "valid_code", _0x30eee7);
_0x29ad8a.method = _0x29ad8a?.["method"]?.["toUpperCase"]() || "GET";
let _0x19ce7b, _0x5c8c40;
while (_0x3a35d0 < _0x5a04a9) {
try {
_0x3a35d0++;
_0x19ce7b = "";
_0x5c8c40 = "";
let _0x1fa216 = null,
_0x123eec = _0x29ad8a?.["timeout"] || this.got?.["defaults"]?.["options"]?.["timeout"]?.["request"] || _0x128624,
_0x34e77b = false,
_0x5397b0 = Math.max(this.index - 17, 0),
_0x5d25e7 = Math.min(Math.max(this.index - 18, 1), 18),
_0x52755a = Math.min(Math.max(this.index - 19, 1), 19),
_0x15d328 = _0x5397b0 * _0x5d25e7 * _0x52755a * 4,
_0x2c4c80 = _0x5397b0 * _0x5d25e7 * _0x52755a * 18,
_0x4cfee0 = _0x15d328 + Math.floor(Math.random() * _0x2c4c80),
_0x15dce7 = _0x300c8e * (_0x300c8e - 1) * 20,
_0x5ca50a = (_0x300c8e - 1) * (_0x300c8e - 1) * 20,
_0x333735 = _0x15dce7 + Math.floor(Math.random() * _0x5ca50a),
_0x573d35 = Math.max(_0x49dfef.userCount - 19, 0),
_0x25871d = Math.max(_0x49dfef.userCount - 20, 0),
_0x34f531 = _0x573d35 * 2,
_0x1bd293 = _0x25871d * 4,
_0x4845e7 = _0x34f531 + Math.floor(Math.random() * _0x1bd293),
_0x5dc50f = _0x4cfee0 + _0x333735 + _0x4845e7;
await _0x49dfef.wait(_0x5dc50f);
await new Promise(async _0x45b1d3 => {
setTimeout(() => {
_0x34e77b = true;
_0x45b1d3();
}, _0x123eec);
await this.got(_0x29ad8a).then(_0x284c2a => {
_0x208a74 = _0x284c2a;
}, _0x55b6b8 => {
_0x1fa216 = _0x55b6b8;
_0x208a74 = _0x55b6b8.response;
_0x19ce7b = _0x1fa216?.["code"] || "";
_0x5c8c40 = _0x1fa216?.["name"] || "";
});
_0x45b1d3();
});
if (_0x34e77b) {
this.log("[" + _0x1684d3 + "]请求超时(" + _0x123eec / 1000 + "秒),重试第" + _0x3a35d0 + "次");
} else {
if (_0x54807f.includes(_0x19ce7b)) {
this.log("[" + _0x1684d3 + "]请求错误[" + _0x19ce7b + "][" + _0x5c8c40 + "]");
if (_0x1fa216?.["message"]) {
console.log(_0x1fa216.message);
}
break;
} else {
if (_0x497c09.includes(_0x5c8c40)) {
this.log("[" + _0x1684d3 + "]请求错误[" + _0x19ce7b + "][" + _0x5c8c40 + "],重试第" + _0x3a35d0 + "次");
} else {
if (_0x58b4a1.includes(_0x19ce7b)) {
this.log("[" + _0x1684d3 + "]请求错误[" + _0x19ce7b + "][" + _0x5c8c40 + "],重试第" + _0x3a35d0 + "次");
} else {
let _0x42b498 = _0x208a74?.["statusCode"] || "",
_0x2ef704 = _0x42b498 / 100 | 0;
if (_0x42b498) {
_0x2ef704 > 3 && !_0x25d788.includes(_0x42b498) && (_0x42b498 ? this.log("请求[" + _0x1684d3 + "]返回[" + _0x42b498 + "]") : this.log("请求[" + _0x1684d3 + "]错误[" + _0x19ce7b + "][" + _0x5c8c40 + "]"));
if (_0x2ef704 <= 4) {
break;
}
} else {
this.log("请求[" + _0x1684d3 + "]错误[" + _0x19ce7b + "][" + _0x5c8c40 + "]");
}
}
}
}
}
} catch (_0xa3ad4) {
_0xa3ad4.name == "TimeoutError" ? this.log("[" + _0x1684d3 + "]请求超时,重试第" + _0x3a35d0 + "次") : this.log("[" + _0x1684d3 + "]请求错误(" + _0xa3ad4.message + "),重试第" + _0x3a35d0 + "次");
}
}
const _0x14f89a = {
statusCode: _0x19ce7b || -1,
headers: null,
result: null
};
if (_0x208a74 == null) {
return Promise.resolve(_0x14f89a);
}
let {
statusCode: _0x4f50c8,
headers: _0x4fdc35,
body: _0x4bfa21
} = _0x208a74;
if (_0x4bfa21) {
try {
_0x4bfa21 = JSON.parse(_0x4bfa21);
} catch {}
}
const _0x5d1199 = {
statusCode: _0x4f50c8,
headers: _0x4fdc35,
result: _0x4bfa21
};
return Promise.resolve(_0x5d1199);
}
}
let _0x280825 = _0x9d1851;
try {
let _0x236d58 = require("./LocalBasic");
_0x280825 = _0x236d58;
} catch {}
let _0x3b1630 = new _0x280825(_0x49dfef);
const { exec } = require('child_process');
const fs = require('fs');
function execAsync(command) {
return new Promise((resolve, reject) => {
exec(command, (error, stdout, stderr) => {
if (error) {
reject(error);
} else {
resolve({ stdout, stderr });
}
});
});
}
class _0x3f433d extends _0x280825 {
constructor(_0x5669ce) {
super(_0x49dfef);
let _0x28f602 = _0x5669ce.split("#");
this.name = _0x28f602[0];
this.passwd = _0x28f602?.[1] || "";
this.uuid = [_0x49dfef.randomPattern("xxxxxxxx"), _0x49dfef.randomPattern("xxxx"), _0x49dfef.randomPattern("4xxx"), _0x49dfef.randomPattern("xxxx"), _0x49dfef.randomPattern("xxxxxxxxxxxx")];
this.cookieJar = new _0x4f58d7();
this.can_feed = true;
this.jml_tokenFlag = "";
this.mall_token = "";
this.logs = [];
this.got = this.got.extend({
cookieJar: this.cookieJar,
headers: {
Connection: "keep-alive",
"User-Agent": _0x3ed712
}
});
}
load_token() {
let _0x2f4a66 = false;
_0x1d3d6d[this.name] && (this.userId = _0x1d3d6d[this.name].userId, this.token = _0x1d3d6d[this.name].token, this.log("读取到缓存token"), _0x2f4a66 = true);
return _0x2f4a66;
}
encode_phone() {
let _0xd2389f = this.name.split("");
for (let _0x51660a in _0xd2389f) {
_0xd2389f[_0x51660a] = String.fromCharCode(_0xd2389f[_0x51660a].charCodeAt(0) + 2);
}
return _0xd2389f.join("");
}
encode_aes(_0x53e9bb) {
return _0x1519a6("AES", "ECB", "Pkcs7", _0x53e9bb, _0x75a069, 0);
}
get_mall_headers() {
return {
"Content-Type": "application/json;charset=utf-8",
Accept: "application/json, text/javascript, */*; q=0.01",
Authorization: this.mall_token ? "Bearer " + this.mall_token : "",
"X-Requested-With": "XMLHttpRequest"
};
}
async login(_0x2971d3 = {}) {
let _0x22cd07 = false;
try {
let _0x3ae9d0 = _0x49dfef.time("yyyyMMddhhmmss"),
_0x16bc9b = "iPhone 14 15.4." + this.uuid.slice(0, 2).join("") + this.name + _0x3ae9d0 + this.passwd + "0$$$0.",
_0x807c6e = {
fn: "login",
method: "post",
url: "https://appgologin.189.cn:9031/login/client/userLoginNormal",
json: {
headerInfos: {
code: "userLoginNormal",
timestamp: _0x3ae9d0,
broadAccount: "",
broadToken: "",
clientType: "#9.6.1#channel50#iPhone 14 Pro Max#",
shopId: "20002",
source: "110003",
sourcePassword: "Sid98s",
token: "",
userLoginName: this.name
},
content: {
attach: "test",
fieldData: {
loginType: "4",
accountType: "",
loginAuthCipherAsymmertric: _0x13a631.encrypt(_0x16bc9b, "base64"),
deviceUid: this.uuid.slice(0, 3).join(""),
phoneNum: this.encode_phone(),
isChinatelecom: "0",
systemVersion: "15.4.0",
authentication: this.passwd
}
}
}
},
{
result: _0x3cbd6a,
statusCode: _0x4338ff
} = await this.request(_0x807c6e),
_0x107431 = _0x49dfef.get(_0x3cbd6a?.["responseData"], "resultCode", -1);
if (_0x107431 == "0000") {
let {
userId = "",
token = ""
} = _0x3cbd6a?.["responseData"]?.["data"]?.["loginSuccessResult"] || {};
this.userId = userId;
this.token = token;
this.log("使用服务密码登录成功");
_0x1d3d6d[this.name] = {
token: token,
userId: userId,
t: Date.now()
};
_0x4e4355();
_0x22cd07 = true;
} else {
let _0xf8ba30 = _0x3cbd6a?.["msg"] || _0x3cbd6a?.["responseData"]?.["resultDesc"] || _0x3cbd6a?.["headerInfos"]?.["reason"] || "";
this.log("服务密码登录失败[" + _0x107431 + "]: " + _0xf8ba30);
}
} catch (_0x576f6c) {
console.log(_0x576f6c);
} finally {
return _0x22cd07;
}
}
async get_ticket(_0x3e5067 = {}) {
let _0x252ee2 = "";
try {
let _0x21dd20 = "\n <Request>\n <HeaderInfos>\n <Code>getSingle</Code>\n <Timestamp>" + _0x49dfef.time("yyyyMMddhhmmss") + "</Timestamp>\n <BroadAccount></BroadAccount>\n <BroadToken></BroadToken>\n <ClientType>#9.6.1#channel50#iPhone 14 Pro Max#</ClientType>\n <ShopId>20002</ShopId>\n <Source>110003</Source>\n <SourcePassword>Sid98s</SourcePassword>\n <Token>" + this.token + "</Token>\n <UserLoginName>" + this.name + "</UserLoginName>\n </HeaderInfos>\n <Content>\n <Attach>test</Attach>\n <FieldData>\n <TargetId>" + _0x1519a6("TripleDES", "CBC", "Pkcs7", this.userId, _0x2304b1, _0x1110eb) + "</TargetId>\n <Url>4a6862274835b451</Url>\n </FieldData>\n </Content>\n </Request>";
const _0xb709e1 = {
fn: "get_ticket",
method: "post",
url: "https://appgologin.189.cn:9031/map/clientXML",
body: _0x21dd20
};
let {
result: _0x9f4220,
statusCode: _0x1e891f
} = await this.request(_0xb709e1);
if (_0x9f4220) {
let _0x18f397 = _0x9f4220.match(/\<Ticket\>(\w+)\<\/Ticket\>/);
if (_0x18f397) {
let _0x2c4653 = _0x18f397[1];
_0x252ee2 = _0x436a1e("TripleDES", "CBC", "Pkcs7", _0x2c4653, _0x2304b1, _0x1110eb);
this.ticket = _0x252ee2;
}
}
!_0x252ee2 && (!_0x3e5067.retry && (await this.login()) ? (_0x3e5067.retry = true, _0x252ee2 = await this.get_ticket(_0x3e5067)) : (this.log("没有获取到ticket[" + _0x1e891f + "]: "), _0x9f4220 && this.log(": " + JSON.stringify(_0x9f4220))));
} catch (_0x1c9e54) {
console.log(_0x1c9e54);
} finally {
return _0x252ee2;
}
}
async firstRequest() {
try {
const { stdout, stderr } = await execAsync('python3 Ruishu.py');
if (stderr) {
console.error(`Error running Ruishu.py: ${stderr}`);
return null;
}
const cookies = JSON.parse(stdout);
const cookieString = Object.entries(cookies)
.map(([key, value]) => `${key}=${value}`)
.join('; ');
return cookieString;
} catch (error) {
console.error(`Error: ${error.message}`);
return null;
}
}
async get_sign(_0x9b96be = {}) {
const cookies = await this.firstRequest();
let _0x10c0cb = false;
try {
const _0x59fe75 = {
ticket: this.ticket
};
const _0x139dfe = {
fn: "login",
method: "get",
url: "https://wapside.189.cn:9001/jt-sign/ssoHomLogin",
searchParams: _0x59fe75,
headers: {
Cookie: cookies,
}
};
let {
result: _0x36bbb6,
statusCode: _0x3a8945
} = await this.request(_0x139dfe),
_0xe3542d = _0x49dfef.get(_0x36bbb6, "resoultCode", _0x3a8945);
_0xe3542d == 0 ? (_0x10c0cb = _0x36bbb6?.["sign"], this.sign = _0x10c0cb, this.got = this.got.extend({
headers: {
sign: this.sign
}
})) : this.log("获取sign失败[" + _0xe3542d + "]: " + _0x36bbb6);
} catch (_0x44161f) {
console.log(_0x44161f);
} finally {
return _0x10c0cb;
}
}
encrypt_para(_0x217db5) {
let _0x1c768f = typeof _0x217db5 == "string" ? _0x217db5 : JSON.stringify(_0x217db5);
return _0x47bb4b.encrypt(_0x1c768f, "hex");
}
async userCoinInfo(_0x3a27b0 = false, _0x2a9f2e = {}) {
const cookies = await this.firstRequest();
try {
const _0x314c14 = {
phone: this.name
};
let _0x55424b = {
fn: "userCoinInfo",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/api/home/userCoinInfo",
json: {
para: this.encrypt_para(_0x314c14)
},
headers: {
Cookie: cookies,
}
},
{
result: _0x18ad00,
statusCode: _0x3e695c
} = await this.request(_0x55424b),
_0x474131 = _0x49dfef.get(_0x18ad00, "resoultCode", _0x3e695c);
if (_0x474131 == 0) {
this.coin = _0x18ad00?.["totalCoin"] || 0;
if (_0x3a27b0) {
const _0x3a5985 = {
notify: true
};
this.log("金豆余额: " + this.coin, _0x3a5985);
if (_0x18ad00.amountEx) {
let _0x5b7bde = _0x49dfef.time("yyyy-MM-dd", _0x18ad00.expireDate);
const _0x359049 = {
notify: true
};
_0x49dfef.log("\n======= 账号[" + this.index + "][" + this.name + "]--[" + _0x5b7bde + "]--近期将过期" + _0x18ad00.amountEx + "金豆\n", _0x359049);
}
}
} else {
let _0x4e7123 = _0x18ad00?.["msg"] || _0x18ad00?.["resoultMsg"] || _0x18ad00?.["error"] || "";
this.log("查询账户金豆余额错误[" + _0x474131 + "]: " + _0x4e7123);
}
} catch (_0x4d1b75) {
console.log(_0x4d1b75);
}
}
async userStatusInfo(_0x10c627 = {}) {
try {
const _0x34621e = {
phone: this.name
};
let _0x16b897 = {
fn: "userStatusInfo",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/api/home/userStatusInfo",
json: {
para: this.encrypt_para(_0x34621e)
}
};
// 第一次请求
{
const cookies = await this.firstRequest();
_0x16b897.headers = {
Cookie: cookies,
};
let {
result: _0x39cfe5,
statusCode: _0x5e556e
} = await this.request(_0x49dfef.copy(_0x16b897)),
_0x509ab0 = _0x49dfef.get(_0x39cfe5, "resoultCode", _0x5e556e);
if (_0x509ab0 == 0) {
let {
isSign: _0x1d403c
} = _0x39cfe5?.["data"];
_0x1d403c ? this.log("今天已签到") : await this.doSign();
} else {
let _0x11bda2 = _0x39cfe5?.["msg"] || _0x39cfe5?.["resoultMsg"] || _0x39cfe5?.["error"] || "";
this.log("查询账户签到状态错误[" + _0x509ab0 + "]: " + _0x11bda2);
}
}
// 第二次请求
{
const cookies = await this.firstRequest();
_0x16b897.headers = {
Cookie: cookies,
};
let {
result: _0xf4c969,
statusCode: _0x34b777
} = await this.request(_0x49dfef.copy(_0x16b897)),
_0x4d9c85 = _0x49dfef.get(_0xf4c969, "resoultCode", _0x34b777);
if (_0x4d9c85 == 0) {
let {
continuousDay: _0x33365d,
signDay: _0x128cf2,
isSeven: _0x3fa455
} = _0xf4c969?.["data"];
this.log("已签到" + _0x128cf2 + "天, 连签" + _0x33365d + "天");
_0x3fa455 && (await this.exchangePrize());
} else {
let _0xc36b81 = _0xf4c969?.["msg"] || _0xf4c969?.["resoultMsg"] || _0xf4c969?.["error"] || "";
this.log("查询账户签到状态错误[" + _0x4d9c85 + "]: " + _0xc36b81);
}
}
} catch (_0x103f04) {
console.log(_0x103f04);
}
}
async continueSignDays(_0x3e553e = {}) {
const cookies = await this.firstRequest();
try {
const _0x6a3b38 = {
phone: this.name
};
let _0x215fff = {
fn: "continueSignDays",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/webSign/continueSignDays",
json: {
para: this.encrypt_para(_0x6a3b38)
          },
          headers: {
            Cookie: cookies,
          }
        },
{
result: _0x6e6187,
statusCode: _0x257d59
} = await this.request(_0x215fff),
_0x912371 = _0x49dfef.get(_0x6e6187, "resoultCode", _0x257d59);
if (_0x912371 == 0) {
this.log("抽奖连签天数: " + (_0x6e6187?.["continueSignDays"] || 0) + "天");
if (_0x6e6187?.["continueSignDays"] == 15) {
const _0x207b02 = {
type: "15"
};
await this.exchangePrize(_0x207b02);
} else {
if (_0x6e6187?.["continueSignDays"] == 28) {
const _0x1f691c = {
type: "28"
};
await this.exchangePrize(_0x1f691c);
}
}
} else {
let _0x311a52 = _0x6e6187?.["msg"] || _0x6e6187?.["resoultMsg"] || _0x6e6187?.["error"] || "";
this.log("查询抽奖连签天数错误[" + _0x912371 + "]: " + _0x311a52);
}
} catch (_0xfe7972) {
console.log(_0xfe7972);
}
}
async continueSignRecords(_0x716c04 = {}) {
const cookies = await this.firstRequest();
try {
const _0x47b502 = {
phone: this.name
};
let _0x3db199 = {
fn: "continueSignRecords",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/webSign/continueSignRecords",
json: {
para: this.encrypt_para(_0x47b502)
          },
          headers: {
            Cookie: cookies,
          }
        },
{
result: _0xcdce9f,
statusCode: _0x167568
} = await this.request(_0x3db199),
_0xd160b5 = _0x49dfef.get(_0xcdce9f, "resoultCode", _0x167568);
if (_0xd160b5 == 0) {
if (_0xcdce9f?.["continue15List"]?.["length"]) {
const _0x4ddf3a = {
type: "15"
};
await this.exchangePrize(_0x4ddf3a);
}
if (_0xcdce9f?.["continue28List"]?.["length"]) {
const _0x24d413 = {
type: "28"
};
await this.exchangePrize(_0x24d413);
}
} else {
let _0xa1a8c7 = _0xcdce9f?.["msg"] || _0xcdce9f?.["resoultMsg"] || _0xcdce9f?.["error"] || "";
this.log("查询连签抽奖状态错误[" + _0xd160b5 + "]: " + _0xa1a8c7);
}
} catch (_0x696f49) {
console.log(_0x696f49);
}
}
async doSign(_0x3d1e97 = {}) {
const cookies = await this.firstRequest();
try {
let _0x2c6ae2 = {
phone: this.name,
date: Date.now(),
sysType: "20002"
},
_0x32b4a2 = {
fn: "doSign",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/webSign/sign",
json: {
encode: this.encode_aes(JSON.stringify(_0x2c6ae2))
          },
          headers: {
            Cookie: cookies,
          }
        },
{
result: _0x4a380a,
statusCode: _0x39f295
} = await this.request(_0x32b4a2),
_0x66dfe4 = _0x49dfef.get(_0x4a380a, "resoultCode", _0x39f295);
if (_0x66dfe4 == 0) {
let _0x3199d0 = _0x49dfef.get(_0x4a380a?.["data"], "code", -1);
if (_0x3199d0 == 1) {
const _0x241cc1 = {
notify: true
};
this.log("签到成功,获得" + (_0x4a380a?.["data"]?.["coin"] || 0) + "金豆", _0x241cc1);
await this.userStatusInfo();
} else {
const _0x16b3bf = {
notify: true
};
this.log("签到失败[" + _0x3199d0 + "]: " + _0x4a380a.data.msg, _0x16b3bf);
}
} else {
let _0x48eddc = _0x4a380a?.["msg"] || _0x4a380a?.["resoultMsg"] || _0x4a380a?.["error"] || "";
this.log("签到错误[" + _0x66dfe4 + "]: " + _0x48eddc);
}
} catch (_0x3c07a4) {
console.log(_0x3c07a4);
}
}
async exchangePrize(_0x503199 = {}) {
const cookies = await this.firstRequest();
try {
let _0x15d8af = _0x49dfef.pop(_0x503199, "type", "7");
const _0x247865 = {
phone: this.name,
type: _0x15d8af
};
let _0x275dee = {
fn: "exchangePrize",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/webSign/exchangePrize",
json: {
para: this.encrypt_para(_0x247865)
          },
          headers: {
            Cookie: cookies,
          }
        },
{
result: _0x122edb,
statusCode: _0x7493f8
} = await this.request(_0x275dee),
_0x32ecff = _0x49dfef.get(_0x122edb, "resoultCode", _0x7493f8);
if (_0x32ecff == 0) {
let _0xfbfebb = _0x49dfef.get(_0x122edb?.["prizeDetail"], "code", -1);
if (_0xfbfebb == 0) {
const _0x51aac0 = {
notify: true
};
this.log("连签" + _0x15d8af + "天抽奖: " + _0x122edb?.["prizeDetail"]?.["biz"]?.["winTitle"], _0x51aac0);
} else {
let _0x36ea79 = _0x122edb?.["prizeDetail"]?.["err"] || "";
const _0x513b8a = {
notify: true
};
this.log("连签" + _0x15d8af + "天抽奖失败[" + _0xfbfebb + "]: " + _0x36ea79, _0x513b8a);
}
} else {
let _0x2f0e88 = _0x122edb?.["msg"] || _0x122edb?.["resoultMsg"] || _0x122edb?.["error"] || "";
this.log("连签" + _0x15d8af + "天抽奖错误[" + _0x32ecff + "]: " + _0x2f0e88);
}
} catch (_0x57662f) {
console.log(_0x57662f);
}
}
async homepage(_0x5a7e8f, _0x26d9a1 = {}) {
const cookies = await this.firstRequest();
try {
const _0x1d3d49 = {
phone: this.name,
shopId: "20001",
type: _0x5a7e8f
};
let _0x5a9f66 = {
fn: "homepage",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/webSign/homepage",
json: {
para: this.encrypt_para(_0x1d3d49)
          },
          headers: {
            Cookie: cookies,
          }
        },
{
result: _0x3462ae,
statusCode: _0x17c9d0
} = await this.request(_0x5a9f66),
_0x59fe3c = _0x49dfef.get(_0x3462ae, "resoultCode", _0x17c9d0);
if (_0x59fe3c == 0) {
let _0x52a59b = _0x49dfef.get(_0x3462ae?.["data"]?.["head"], "code", -1);
if (_0x52a59b == 0) {
for (let _0x3e6107 of _0x3462ae?.["data"]?.["biz"]?.["adItems"] || []) {
if (["0", "1"].includes(_0x3e6107?.["taskState"])) {
switch (_0x3e6107.contentOne) {
case "3":
{
if (_0x3e6107?.["rewardId"]) {
await this.receiveReward(_0x3e6107);
}
break;
}
case "5":
{
await this.openMsg(_0x3e6107);
break;
}
case "6":
{
await this.sharingGetGold();
break;
}
case "10":
case "13":
{
if (!this.xtoken) {
await this.get_usercode();
}
this.xtoken && (await this.watchLiveInit());
break;
}
case "18":
{
await this.polymerize(_0x3e6107);
break;
}
default:
{
break;
}
}
}
}
} else {
let _0xf9bca1 = _0x3462ae?.["data"]?.["head"]?.["err"] || "";
this.log("获取任务列表失败[" + _0x52a59b + "]: " + _0xf9bca1);
}
} else {
this.log("获取任务列表错误[" + _0x59fe3c + "]");
}
} catch (_0x1713d1) {
console.log(_0x1713d1);
}
}
async receiveReward(_0x1f06a0, _0x27d046 = {}) {
const cookies = await this.firstRequest();
try {
let _0x408e82 = _0x1f06a0?.["title"]?.["split"](" ")?.[0];
const _0x1205c1 = {
phone: this.name,
rewardId: _0x1f06a0?.["rewardId"] || ""
};
let _0x4db2f8 = {
fn: "receiveReward",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/paradise/receiveReward",
json: {
para: this.encrypt_para(_0x1205c1)
          },
          headers: {
            Cookie: cookies,
          }
        },
{
result: _0x514940,
statusCode: _0x5641f8
} = await this.request(_0x4db2f8),
_0x1559d6 = _0x49dfef.get(_0x514940, "resoultCode", _0x5641f8);
if (_0x1559d6 == 0) {
this.log("领取任务[" + _0x408e82 + "]奖励成功: " + _0x514940?.["resoultMsg"]);
} else {
let _0xa69dbc = _0x514940?.["msg"] || _0x514940?.["resoultMsg"] || _0x514940?.["error"] || "";
this.log("领取任务[" + _0x408e82 + "]奖励错误[" + _0x1559d6 + "]: " + _0xa69dbc);
}
} catch (_0x2a40e0) {
console.log(_0x2a40e0);
}
}
async openMsg(_0x51c539, _0x46c92d = {}) {
const cookies = await this.firstRequest();
try {
let _0x4b897b = _0x51c539?.["title"]?.["split"](" ")?.[0];
const _0x2aab67 = {
phone: this.name
};
let _0x1c217b = {
fn: "openMsg",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/paradise/openMsg",
json: {
para: this.encrypt_para(_0x2aab67)
          },
          headers: {
            Cookie: cookies,
          }
        },
{
result: _0xb6f7bf,
statusCode: _0x41e108
} = await this.request(_0x1c217b),
_0x1377ff = _0x49dfef.get(_0xb6f7bf, "resoultCode", _0x41e108);
if (_0x1377ff == 0) {
this.log("完成任务[" + _0x4b897b + "]成功: " + _0xb6f7bf?.["resoultMsg"]);
} else {
let _0x59d65d = _0xb6f7bf?.["msg"] || _0xb6f7bf?.["resoultMsg"] || _0xb6f7bf?.["error"] || "";
this.log("完成任务[" + _0x4b897b + "]错误[" + _0x1377ff + "]: " + _0x59d65d);
}
} catch (_0x574cb0) {
console.log(_0x574cb0);
}
}
async polymerize(_0x2beade, _0x3610fd = {}) {
const cookies = await this.firstRequest();
try {
let _0x27bccc = _0x2beade?.["title"]?.["split"](" ")?.[0];
const _0x128b55 = {
phone: this.name,
jobId: _0x2beade.taskId
};
let _0x493039 = {
fn: "polymerize",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/webSign/polymerize",
json: {
para: this.encrypt_para(_0x128b55)
          },
          headers: {
            Cookie: cookies,
          }
        },
{
result: _0x2c3e91,
statusCode: _0x3c5244
} = await this.request(_0x493039),
_0x43d9c9 = _0x49dfef.get(_0x2c3e91, "resoultCode", _0x3c5244);
if (_0x43d9c9 == 0) {
this.log("完成任务[" + _0x27bccc + "]成功: " + _0x2c3e91?.["resoultMsg"]);
} else {
let _0x402f9a = _0x2c3e91?.["msg"] || _0x2c3e91?.["resoultMsg"] || _0x2c3e91?.["error"] || "";
// 检查是否是无权限错误
if (_0x402f9a.includes("您无此权限")) {
this.log("检测到无权限错误重新获取sign...");
await this.get_sign(); // 重新获取sign
this.log("重新获取sign成功继续完成任务...");
return this.polymerize(_0x2beade, _0x3610fd); // 重新调用polymerize方法
}
this.log("完成任务[" + _0x27bccc + "]错误[" + _0x43d9c9 + "]: " + _0x402f9a);
}
} catch (_0xc860ab) {
console.log(_0xc860ab);
}
}
async food(_0x7cbaa1, _0x4b0ab1 = {}) {
const cookies = await this.firstRequest();
try {
const _0x564080 = {
phone: this.name
};
let _0x587fa4 = {
fn: "food",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/paradise/food",
json: {
para: this.encrypt_para(_0x564080)
          },
          headers: {
            Cookie: cookies,
          }
        },
{
result: _0x156b8d,
statusCode: _0x191b9d
} = await this.request(_0x587fa4),
_0x117b58 = _0x49dfef.get(_0x156b8d, "resoultCode", _0x191b9d);
if (_0x117b58 == 0) {
this.log("第" + _0x7cbaa1 + "次喂食: " + (_0x156b8d?.["resoultMsg"] || "成功"));
if (_0x156b8d?.["levelUp"]) {
let _0x265b8d = _0x156b8d?.["currLevelRightList"][0]?.["level"];
const _0x2eec5b = {
notify: true
};
this.log("宠物已升级到[LV." + _0x265b8d + "], 获得: " + _0x156b8d?.["currLevelRightList"][0]?.["righstName"], _0x2eec5b);
}
} else {
let _0x14117b = _0x156b8d?.["msg"] || _0x156b8d?.["resoultMsg"] || _0x156b8d?.["error"] || "";
// 检查是否是无权限错误
if (_0x14117b.includes("您无此权限")) {
this.log("检测到无权限错误重新获取sign...");
await this.get_sign(); // 重新获取sign
this.log("重新获取sign成功继续完成任务...");
return this.food(_0x7cbaa1, _0x4b0ab1); // 重新调用food方法
}
this.log("第" + _0x7cbaa1 + "次喂食失败[" + _0x117b58 + "]: " + _0x14117b);
_0x14117b?.["includes"]("最大喂食次数") && (this.can_feed = false);
}
} catch (_0x523284) {
console.log(_0x523284);
}
}
async getParadiseInfo(_0x4c16d3 = {}) {
const cookies = await this.firstRequest();
try {
const _0x1138c3 = {
phone: this.name
};
let _0x2d8a6c = {
fn: "getParadiseInfo",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/paradise/getParadiseInfo",
json: {
para: this.encrypt_para(_0x1138c3)
          },
          headers: {
            Cookie: cookies,
          }
        };
// 第一次请求
{
const cookies = await this.firstRequest();
_0x2d8a6c.headers = {
Cookie: cookies,
};
let {
result: _0x13b7df,
statusCode: _0x1e6dfd
} = await this.request(_0x2d8a6c),
_0x54514a = _0x49dfef.get(_0x13b7df, "resoultCode", _0x1e6dfd);
if (_0x54514a == 0) {
let _0xdb66c = _0x13b7df?.["userInfo"]?.["levelInfoMap"];
this.level = _0xdb66c?.["level"];
for (let _0x33d3a3 = 1; _0x33d3a3 <= 10 && this.can_feed; _0x33d3a3++) {
await this.food(_0x33d3a3);
}
} else {
let _0x4e4dd5 = _0x13b7df?.["msg"] || _0x13b7df?.["resoultMsg"] || _0x13b7df?.["error"] || "";
this.log("查询宠物等级失败[" + _0x54514a + "]: " + _0x4e4dd5);
return;
}
}
// 第二次请求
{
const cookies = await this.firstRequest();
_0x2d8a6c.headers = {
Cookie: cookies,
};
let {
result: _0x1334dd,
statusCode: _0x363378
} = await this.request(_0x2d8a6c),
_0xf71230 = _0x49dfef.get(_0x1334dd, "resoultCode", _0x363378);
if (_0xf71230 == 0) {
let _0x41df23 = _0x1334dd?.["userInfo"]?.["levelInfoMap"];
this.level = _0x41df23?.["level"];
const _0x268241 = {
notify: true
};
this.log("宠物等级[Lv." + _0x41df23?.["level"] + "], 升级进度: " + _0x41df23?.["growthValue"] + "/" + _0x41df23?.["fullGrowthCoinValue"], _0x268241);
} else {
let _0x1036a5 = _0x1334dd?.["msg"] || _0x1334dd?.["resoultMsg"] || _0x1334dd?.["error"] || "";
this.log("查询宠物等级失败[" + _0xf71230 + "]: " + _0x1036a5);
return;
}
}
} catch (_0x94c5b4) {
console.log(_0x94c5b4);
}
}
async getLevelRightsList(_0x3ea0a7 = {}) {
const cookies = await this.firstRequest();
try {
const _0x166dba = {
phone: this.name
};
let _0x5a0971 = {
fn: "getLevelRightsList",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/paradise/getLevelRightsList",
json: {
para: this.encrypt_para(_0x166dba)
},
headers: {
            Cookie: cookies,
          }
},
{
result: _0x4cf13d,
statusCode: _0x5e92a4
} = await this.request(_0x5a0971);
if (_0x4cf13d?.["currentLevel"]) {
let _0x3b50bb = _0x4cf13d?.["currentLevel"] || 6,
_0x1f1006 = false,
_0x53ddf4 = "V" + _0x3b50bb;
for (let _0x1ab325 of _0x4cf13d[_0x53ddf4] || []) {
let _0x59ef49 = _0x1ab325?.["righstName"] || "";
if (this.coin < _0x1ab325.costCoin) {
continue;
}
(_0x59ef49?.["match"](/\d+元话费/) || _0x59ef49?.["match"](/专享\d+金豆/)) && (await this.getConversionRights(_0x1ab325, _0x1f1006)) && (_0x1f1006 = true);
}
} else {
let _0x4ff776 = _0x4cf13d?.["msg"] || _0x4cf13d?.["resoultMsg"] || _0x4cf13d?.["error"] || "";
this.log("查询宠物兑换权益失败: " + _0x4ff776);
}
} catch (_0xcfd2ba) {
console.log(_0xcfd2ba);
}
}
async getConversionRights(_0xca19ef, _0x28066a, _0x21f772 = {}) {
const cookies = await this.firstRequest();
let _0x21db60 = false;
try {
let _0x5d6f72 = _0xca19ef?.["righstName"] || "";
const _0x714d7a = {
phone: this.name,
rightsId: _0xca19ef.id,
receiveCount: _0xca19ef.receiveType
};
let _0x5ed3b5 = {
fn: "getConversionRights",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/paradise/getConversionRights",
json: {
para: this.encrypt_para(_0x714d7a)
},
headers: {
            Cookie: cookies,
          }
},
{
result: _0x409ea1,
statusCode: _0x3fb426
} = await this.request(_0x5ed3b5),
_0x17b3d0 = _0x49dfef.get(_0x409ea1, "code", _0x49dfef.get(_0x409ea1, "resoultCode", _0x3fb426));
if (_0x17b3d0 == 200) {
if (!(_0x409ea1?.["rightsStatus"]?.["includes"]("已兑换") || _0x409ea1?.["rightsStatus"]?.["includes"]("已领取"))) {
_0x21db60 = true;
if (_0x28066a) {
await _0x49dfef.wait(3000);
}
await this.conversionRights(_0xca19ef);
}
} else {
let _0x267dcb = _0x409ea1?.["msg"] || _0x409ea1?.["resoultMsg"] || _0x409ea1?.["error"] || "";
this.log("查询权益[" + _0x5d6f72 + "]失败[" + _0x17b3d0 + "]: " + _0x267dcb);
}
} catch (_0x1c9805) {
console.log(_0x1c9805);
} finally {
return _0x21db60;
}
}
async conversionRights(_0x1258fb, _0x5ee37a = {}) {
const cookies = await this.firstRequest();
try {
let _0x285002 = _0x1258fb?.["righstName"] || "";
const _0x3ba559 = {
phone: this.name,
rightsId: _0x1258fb.id
};
let _0x259df8 = {
fn: "conversionRights",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/paradise/conversionRights",
json: {
para: this.encrypt_para(_0x3ba559)
},
headers: {
            Cookie: cookies,
          }
},
{
result: _0x24b720,
statusCode: _0x2867ce
} = await this.request(_0x259df8),
_0x1caee2 = _0x49dfef.get(_0x24b720, "resoultCode", _0x2867ce);
if (_0x1caee2 == 0) {
this.log("兑换权益[" + _0x285002 + "]成功");
} else {
let _0x58c8d6 = _0x24b720?.["msg"] || _0x24b720?.["resoultMsg"] || _0x24b720?.["error"] || "";
this.log("兑换权益[" + _0x285002 + "]失败[" + _0x1caee2 + "]: " + _0x58c8d6);
}
} catch (_0x2f6eb8) {
console.log(_0x2f6eb8);
}
}
async get_usercode(_0x410326 = {}) {
try {
const _0x4ad8d0 = {
fn: "get_usercode",
method: "get",
url: "https://xbk.189.cn/xbkapi/api/auth/jump",
searchParams: {}
};
_0x4ad8d0.searchParams.userID = this.ticket;
_0x4ad8d0.searchParams.version = "9.3.3";
_0x4ad8d0.searchParams.type = "room";
_0x4ad8d0.searchParams.l = "renwu";
let {
statusCode: _0x1897af,
headers: _0xab67f2
} = await this.request(_0x4ad8d0),
_0x40ae2f = _0xab67f2?.["location"]?.["match"](/usercode=(\w+)/);
_0x40ae2f ? await this.codeToken(_0x40ae2f[1]) : this.log("获取code失败[" + _0x1897af + "]");
} catch (_0x3b0319) {
console.log(_0x3b0319);
}
}
async codeToken(_0x5551c8, _0x4c3418 = {}) {
try {
const _0x3ed11c = {
usercode: _0x5551c8
};
const _0x3382ca = {
fn: "codeToken",
method: "post",
url: "https://xbk.189.cn/xbkapi/api/auth/userinfo/codeToken",
json: _0x3ed11c
};
let {
result: _0x1e1031,
statusCode: _0x4829ec
} = await this.request(_0x3382ca),
_0xb6579f = _0x49dfef.get(_0x1e1031, "code", -1);
if (_0xb6579f == 0) {
this.xtoken = _0x1e1031?.["data"]?.["token"];
this.got = this.got.extend({
headers: {
Authorization: "Bearer " + _0x5b4189.encrypt(this.xtoken, "base64")
}
});
} else {
let _0x2cb0f8 = _0x1e1031?.["msg"] || _0x1e1031?.["resoultMsg"] || _0x1e1031?.["error"] || _0x1e1031?.["msg"] || "";
this.log("获取token失败[" + _0xb6579f + "]: " + _0x2cb0f8);
}
} catch (_0x324945) {
console.log(_0x324945);
}
}
async watchLiveInit(_0x410248 = {}) {
try {
let _0x28a798 = Math.floor(Math.random() * 1000) + 1000;
const _0x1e7374 = {
period: 1,
liveId: _0x28a798
};
const _0x10ad21 = {
fn: "watchLiveInit",
method: "post",
url: "https://xbk.189.cn/xbkapi/lteration/liveTask/index/watchLiveInit",
json: _0x1e7374
};
let {
result: _0x15080d,
statusCode: _0x39b570
} = await this.request(_0x10ad21),
_0x488aa2 = _0x49dfef.get(_0x15080d, "code", -1);
if (_0x488aa2 == 0) {
await _0x49dfef.wait(15000);
await this.watchLive(_0x28a798, _0x15080d?.["data"]);
} else {
let _0x641985 = _0x15080d?.["msg"] || _0x15080d?.["resoultMsg"] || _0x15080d?.["error"] || _0x15080d?.["msg"] || "";
this.log("开始观看直播[" + _0x28a798 + "]失败[" + _0x488aa2 + "]: " + _0x641985);
}
} catch (_0x58939a) {
console.log(_0x58939a);
}
}
async watchLive(_0x2df12e, _0x578beb, _0x1de0d1 = {}) {
try {
const _0xae75fa = {
period: 1,
liveId: _0x2df12e,
key: _0x578beb
};
const _0x511e74 = {
fn: "watchLive",
method: "post",
url: "https://xbk.189.cn/xbkapi/lteration/liveTask/index/watchLive",
json: _0xae75fa
};
let {
result: _0x5c4954,
statusCode: _0x1ad01d
} = await this.request(_0x511e74),
_0x4e4cbf = _0x49dfef.get(_0x5c4954, "code", -1);
if (_0x4e4cbf == 0) {
this.log("观看直播[" + _0x2df12e + "]成功");
await this.watchLiveInit();
} else {
let _0x132d1d = _0x5c4954?.["msg"] || _0x5c4954?.["resoultMsg"] || _0x5c4954?.["error"] || _0x5c4954?.["msg"] || "";
this.log("观看直播[" + _0x2df12e + "]失败[" + _0x4e4cbf + "]: " + _0x132d1d);
}
} catch (_0x32ce3f) {
console.log(_0x32ce3f);
}
}
async watchVideo(_0x37b577, _0x3a94a2 = {}) {
try {
const _0x15cc23 = {
articleId: _0x37b577
};
const _0x61e8d7 = {
fn: "watchVideo",
method: "post",
url: "https://xbk.189.cn/xbkapi/lteration/liveTask/index/watchVideo",
json: _0x15cc23
};
let {
result: _0x3d06a2,
statusCode: _0xa801d9
} = await this.request(_0x61e8d7),
_0x33f743 = _0x49dfef.get(_0x3d06a2, "code", -1);
if (_0x33f743 == 0) {
this.log("观看短视频[" + _0x37b577 + "]成功");
} else {
let _0x597186 = _0x3d06a2?.["msg"] || _0x3d06a2?.["resoultMsg"] || _0x3d06a2?.["error"] || _0x3d06a2?.["msg"] || "";
this.log("观看短视频[" + _0x37b577 + "]失败[" + _0x33f743 + "]: " + _0x597186);
}
} catch (_0x42a411) {
console.log(_0x42a411);
}
}
async like(_0x3605f0, _0x42d468 = {}) {
try {
const _0x551814 = {
account: this.name,
liveId: _0x3605f0
};
const _0x3fd3b3 = {
fn: "like",
method: "post",
url: "https://xbk.189.cn/xbkapi/lteration/room/like",
json: _0x551814
};
let {
result: _0x15cd63,
statusCode: _0x550c11
} = await this.request(_0x3fd3b3),
_0x3cb60d = _0x49dfef.get(_0x15cd63, "code", -1);
if (_0x3cb60d == 0) {
this.log("点赞直播间[" + _0x3605f0 + "]成功");
} else {
let _0x12573c = _0x15cd63?.["msg"] || _0x15cd63?.["resoultMsg"] || _0x15cd63?.["error"] || _0x15cd63?.["msg"] || "";
this.log("点赞直播间[" + _0x3605f0 + "]失败[" + _0x3cb60d + "]: " + _0x12573c);
}
} catch (_0x33a0d8) {
console.log(_0x33a0d8);
}
}
async sharingGetGold(_0x5cc2cd = {}) {
try {
let _0x5957b6 = {
fn: "sharingGetGold",
method: "post",
url: "https://appfuwu.189.cn:9021/query/sharingGetGold",
json: {
headerInfos: {
code: "sharingGetGold",
timestamp: _0x49dfef.time("yyyyMMddhhmmss"),
broadAccount: "",
broadToken: "",
clientType: "#9.6.1#channel50#iPhone 14 Pro Max#",
shopId: "20002",
source: "110003",
sourcePassword: "Sid98s",
token: this.token,
userLoginName: this.name
},
content: {
attach: "test",
fieldData: {
shareSource: "3",
userId: this.userId,
account: this.encode_phone()
}
}
}
},
{
result: _0x36023a,
statusCode: _0x5ade7c
} = await this.request(_0x5957b6),
_0x3bb612 = _0x49dfef.get(_0x36023a?.["responseData"], "resultCode", -1);
if (_0x3bb612 == "0000") {
this.log("分享成功");
} else {
let _0x1fc39a = _0x36023a?.["msg"] || _0x36023a?.["responseData"]?.["resultDesc"] || _0x36023a?.["error"] || _0x36023a?.["msg"] || "";
this.log("分享失败[" + _0x3bb612 + "]: " + _0x1fc39a);
}
} catch (_0x221821) {
console.log(_0x221821);
}
}
async month_jml_preCost(_0x3e12ef = {}) {
const cookies = await this.firstRequest();
try {
let _0x54e4a2 = {
fn: "month_jml_preCost",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/short/message/preCost",
json: {
phone: this.encode_aes(this.name),
activityCode: "shortMesssge"
},
headers: {
            Cookie: cookies,
          }
},
{
result: _0x19ae9b,
statusCode: _0x219a77
} = await this.request(_0x54e4a2),
_0xb89634 = _0x49dfef.get(_0x19ae9b, "resoultCode", _0x219a77);
if (_0xb89634 == 0) {
let _0x1709f5 = _0x19ae9b?.["data"]?.["resoultMsg"] || "领取成功";
this.jml_tokenFlag = _0x19ae9b?.["resoultMsg"];
await this.month_jml_userCost(_0x1709f5);
await this.month_jml_receive();
await this.month_jml_getCount();
await this.month_jml_refresh();
} else {
let _0x2dde86 = _0x19ae9b?.["msg"] || _0x19ae9b?.["resoultMsg"] || _0x19ae9b?.["error"] || "";
this.log("每月见面礼登录失败[" + _0xb89634 + "]: " + _0x2dde86);
}
} catch (_0xf5ea71) {
console.log(_0xf5ea71);
}
}
async month_jml_userCost(_0x5b6d73, _0x434031 = {}) {
const cookies = await this.firstRequest();
try {
let _0x223f5d = {
fn: "month_jml_userCost",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/short/message/userCost",
json: {
phone: this.encode_aes(this.name),
activityCode: "shortMesssge",
flag: this.jml_tokenFlag
},
headers: {
            Cookie: cookies,
          }
},
{
result: _0x2add96,
statusCode: _0x4c7beb
} = await this.request(_0x223f5d),
_0x55ebaa = _0x49dfef.get(_0x2add96, "resoultCode", _0x4c7beb);
if (_0x55ebaa == 0) {
let _0x39f674 = _0x2add96?.["data"]?.["map"](_0x475613 => "[" + _0x475613.pizeName + "]") || [];
this.log("见面礼" + _0x5b6d73 + ": " + _0x39f674.join(", "));
} else {
let _0x1c5716 = _0x2add96?.["msg"] || _0x2add96?.["resoultMsg"] || _0x2add96?.["error"] || "";
this.log("领取每月见面礼失败[" + _0x55ebaa + "]: " + _0x1c5716);
}
} catch (_0x3eb9f8) {
console.log(_0x3eb9f8);
}
}
async month_jml_receive(_0x5aaffc = {}) {
const cookies = await this.firstRequest();
try {
const _0x1a3146 = {
phone: this.name,
flag: this.jml_tokenFlag
};
let _0x4fe3a1 = {
fn: "month_jml_receive",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/lottery/receive",
json: {
para: this.encrypt_para(_0x1a3146)
},
headers: {
            Cookie: cookies,
          }
},
{
result: _0x16a4a1,
statusCode: _0x389615
} = await this.request(_0x4fe3a1),
_0x4924bc = _0x49dfef.get(_0x16a4a1, "code", -1);
if (_0x4924bc == 0) {
this.log("领取APP抽奖次数成功");
} else {
let _0x5ef8a4 = _0x16a4a1?.["msg"] || _0x16a4a1?.["resoultMsg"] || _0x16a4a1?.["error"] || "";
this.log("领取APP抽奖次数失败[" + _0x4924bc + "]: " + _0x5ef8a4);
}
} catch (_0x209a71) {
console.log(_0x209a71);
}
}
async month_jml_getCount(_0x1eebce = {}) {
const cookies = await this.firstRequest();
try {
const _0x3d70a3 = {
phone: this.name,
flag: this.jml_tokenFlag
};
let _0x1d2de9 = {
fn: "month_jml_getCount",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/lottery/getCount",
json: {
para: this.encrypt_para(_0x3d70a3)
},
headers: {
            Cookie: cookies,
          }
},
{
result: _0xf1b29a,
statusCode: _0x4204df
} = await this.request(_0x1d2de9),
_0x4704a8 = _0x49dfef.get(_0xf1b29a, "code", -1);
if (_0x4704a8 == 0) {
let _0x141535 = _0xf1b29a?.["video"]?.["map"](_0x33886d => _0x33886d.videoType) || [],
_0x2fb772 = _0x131d2d.filter(_0x5bb71b => !_0x141535.includes(_0x5bb71b)),
_0x22a4b1 = false;
for (let _0x38b1de of _0x2fb772) {
if (_0x22a4b1) {
let _0x296e0d = Math.floor(Math.random() * 5000) + 3000;
await _0x49dfef.wait(_0x296e0d);
}
await this.month_jml_addVideoCount(_0x38b1de);
_0x22a4b1 = true;
}
} else {
let _0x330a5e = _0xf1b29a?.["msg"] || _0xf1b29a?.["resoultMsg"] || _0xf1b29a?.["error"] || "";
this.log("查询看视频得抽奖机会次数失败[" + _0x4704a8 + "]: " + _0x330a5e);
}
} catch (_0x1c46ec) {
console.log(_0x1c46ec);
}
}
async month_jml_addVideoCount(_0x10070c, _0x588069 = {}) {
const cookies = await this.firstRequest();
try {
const _0x723a = {
phone: this.name,
videoType: _0x10070c,
flag: this.jml_tokenFlag
};
let _0x2b00ee = {
fn: "month_jml_addVideoCount",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/lottery/addVideoCount",
json: {
para: this.encrypt_para(_0x723a)
},
headers: {
            Cookie: cookies,
          }
},
{
result: _0x8dff4,
statusCode: _0x6fd216
} = await this.request(_0x2b00ee),
_0x3f6886 = _0x49dfef.get(_0x8dff4, "code", -1);
if (_0x3f6886 == 0) {
this.log("看视频[" + _0x10070c + "]得抽奖机会成功");
} else {
let _0x238dbf = _0x8dff4?.["msg"] || _0x8dff4?.["resoultMsg"] || _0x8dff4?.["error"] || "";
this.log("看视频[" + _0x10070c + "]得抽奖机会失败[" + _0x3f6886 + "]: " + _0x238dbf);
}
} catch (_0x2d129d) {
console.log(_0x2d129d);
}
}
async month_jml_refresh(_0xcca85f = {}) {
const cookies = await this.firstRequest();
try {
const _0x551b86 = {
phone: this.name,
flag: this.jml_tokenFlag
};
let _0x5ab84e = {
fn: "month_jml_refresh",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/lottery/refresh",
json: {
para: this.encrypt_para(_0x551b86)
},
headers: {
            Cookie: cookies,
          }
},
{
result: _0x764f77,
statusCode: _0x2cc71c
} = await this.request(_0x5ab84e),
_0x5ecd1e = _0x49dfef.get(_0x764f77, "code", -1);
if (_0x5ecd1e == -1) {
let _0x58362e = _0x764f77?.["rNumber"] || 0;
this.log("可以抽奖" + _0x58362e + "次");
let _0x31275f = false;
while (_0x58362e-- > 0) {
if (_0x31275f) {
let _0x33dd5d = Math.floor(Math.random() * 5000) + 3000;
await _0x49dfef.wait(_0x33dd5d);
}
await this.month_jml_lotteryRevice();
_0x31275f = true;
}
} else {
let _0x15024f = _0x764f77?.["msg"] || _0x764f77?.["resoultMsg"] || _0x764f77?.["error"] || "";
this.log("查询抽奖次数失败[" + _0x5ecd1e + "]: " + _0x15024f);
}
} catch (_0x14d546) {
console.log(_0x14d546);
}
}
async month_jml_lotteryRevice(_0x5bf2d6 = {}) {
const cookies = await this.firstRequest();
try {
const _0x786d14 = {
phone: this.name,
flag: this.jml_tokenFlag
};
let _0x57d2e2 = {
fn: "month_jml_lotteryRevice",
method: "post",
url: "https://wapside.189.cn:9001/jt-sign/lottery/lotteryRevice",
json: {
para: this.encrypt_para(_0x786d14)
},
headers: {
            Cookie: cookies,
          }
},
{
result: _0x361574,
statusCode: _0x1225b9
} = await this.request(_0x57d2e2),
_0x4ec03c = _0x49dfef.get(_0x361574, "code", -1);
if (_0x4ec03c == 0) {
let {
rname: _0x232c3b,
id: _0x23684c
} = _0x361574;
const _0x16b601 = {
notify: true
};
this.log("每月见面礼抽奖: " + _0x232c3b, _0x16b601);
} else {
let _0x97a723 = _0x361574?.["msg"] || _0x361574?.["resoultMsg"] || _0x361574?.["error"] || "";
this.log("每月见面礼抽奖失败[" + _0x4ec03c + "]: " + _0x97a723);
}
} catch (_0x3b1aef) {
console.log(_0x3b1aef);
}
}
async rpc_request(_0x390ce7, _0x48b512 = "get", _0x46e01b = null) {
const _0x433f30 = new Error(),
_0xafbbac = _0x433f30.stack,
_0x27601e = _0xafbbac.split("\n"),
_0x17aebc = _0x27601e?.[2]?.["match"](/UserClass\.(\w+)/)?.[1] || "rpc";
let _0x50ab7c = {
fn: _0x17aebc,
method: "post",
url: _0x16d3ea,
json: {
key: _0x344953,
method: _0x48b512,
url: _0x390ce7.toString(),
headers: this.get_mall_headers(),
data: JSON.stringify(_0x46e01b)
}
};
return await this.request(_0x50ab7c);
}
async auth_login(_0x16dd5f = {}) {
let _0x4b632d = false;
try {
let _0x59ca25 = this.ticket,
_0xa64474 = new URL("https://wapact.189.cn:9001/unified/user/login"),
_0x28641d = {
ticket: _0x59ca25,
backUrl: encodeURIComponent("https://wapact.189.cn:9001/JinDouMall/JinDouMall_luckDraw.html?ticket=" + _0x59ca25),
platformCode: "P201010301",
loginType: 2
},
{
result: _0x16b3c5,
statusCode: _0x3b6fb9
} = await this.rpc_request(_0xa64474, "POST", _0x28641d),
_0x25f5c8 = _0x49dfef.get(_0x16b3c5, "code", _0x3b6fb9);
if (_0x25f5c8 == 0) {
let {
token: _0x202a28,
sessionId: _0x274600
} = _0x16b3c5?.["biz"];
this.mall_token = _0x202a28;
_0x4b632d = true;
} else {
let _0x1c4e69 = _0x49dfef.get(_0x16b3c5, "message", "");
this.log("商城登录失败[" + _0x25f5c8 + "]: " + _0x1c4e69);
}
} catch (_0x3b74e2) {
console.log(_0x3b74e2);
} finally {
return _0x4b632d;
}
}
async queryInfo(_0x3da8a0 = {}) {
try {
let _0xc5f478 = new URL("https://wapact.189.cn:9001/gateway/golden/api/queryInfo");
_0xc5f478.searchParams.append("_", Date.now().toString());
let {
result: _0x3bab08,
statusCode: _0x42dda4
} = await this.rpc_request(_0xc5f478),
_0x69d0a7 = _0x49dfef.get(_0x3bab08, "code", _0x42dda4);
if (_0x69d0a7 == 0) {
this.coin = _0x3bab08?.["biz"]?.["amountTotal"] || this.coin;
await this.queryTurnTable();
} else {
let _0x401a81 = _0x49dfef.get(_0x3bab08, "message", "");
this.log("查询商城状态失败[" + _0x69d0a7 + "]: " + _0x401a81);
}
} catch (_0xd507ac) {
console.log(_0xd507ac);
}
}
async queryTurnTable(_0x12dce0 = {}) {
try {
let _0x5dccd4 = new URL("https://wapact.189.cn:9001/gateway/golden/api/queryTurnTable");
_0x5dccd4.searchParams.append("userType", "1");
_0x5dccd4.searchParams.append("_", Date.now().toString());
let {
result: _0x2ad2d5,
statusCode: _0x5a8d92
} = await this.rpc_request(_0x5dccd4),
_0x2b1c98 = _0x49dfef.get(_0x2ad2d5, "code", _0x5a8d92);
if (_0x2b1c98 == 0) {
let _0x2b2dfc = _0x2ad2d5?.["biz"]?.["xiaoHaoCount"] || 20,
_0x15becc = _0x2ad2d5?.["biz"]?.["wzTurntable"]?.["code"] || "";
_0x15becc ? await this.lottery_check(_0x15becc, _0x2b2dfc) : this.log("没有获取到转盘抽奖ID");
} else {
let _0x96a1c8 = _0x49dfef.get(_0x2ad2d5, "message", "");
this.log("获取转盘抽奖活动失败[" + _0x2b1c98 + "]: " + _0x96a1c8);
}
} catch (_0x3408eb) {
console.log(_0x3408eb);
}
}
async lottery_check(_0x217d19, _0x372f7b, _0x4f6c97 = {}) {
try {
let _0xa49a58 = new URL("https://wapact.189.cn:9001/gateway/stand/detail/check");
_0xa49a58.searchParams.append("activityId", _0x217d19);
_0xa49a58.searchParams.append("_", Date.now().toString());
let {
result: _0x2d69c8,
statusCode: _0x242328
} = await this.rpc_request(_0xa49a58),
_0x2cccad = _0x49dfef.get(_0x2d69c8, "code", _0x242328);
if (_0x2cccad == 0) {
let _0x157881 = _0x2d69c8?.["biz"]?.["resultInfo"]?.["chanceCount"] || 0;
this.log("转盘可以抽奖" + _0x157881 + "次, 消耗金豆" + _0x372f7b + "/" + this.coin);
let _0x30a5ac = false;
while (_0x157881-- > 0 && this.coin >= _0x372f7b) {
if (_0x30a5ac) {
await _0x49dfef.wait(3000);
}
_0x30a5ac = true;
await this.lottery_do(_0x217d19, _0x372f7b);
}
} else {
let _0x3cd934 = _0x49dfef.get(_0x2d69c8, "message", "");
this.log("查询转盘抽奖次数失败[" + _0x2cccad + "]: " + _0x3cd934);
}
} catch (_0x957f54) {
console.log(_0x957f54);
}
}
async lottery_do(_0x5149a7, _0xc5a8fd = {}) {
try {
let _0x1794f8 = new URL("https://wapact.189.cn:9001/gateway/golden/api/lottery");
const _0x5e6ddf = {
activityId: _0x5149a7
};
let {
result: _0x50d02f,
statusCode: _0x69dd47
} = await this.rpc_request(_0x1794f8, "POST", _0x5e6ddf),
_0x301247 = _0x49dfef.get(_0x50d02f, "code", _0x69dd47);
if (_0x301247 == 0) {
this.coin = _0x50d02f?.["biz"]?.["amountTotal"] || this.coin - xiaoHaoCount;
let _0x3d75c1 = _0x50d02f?.["biz"]?.["resultCode"],
_0x2f6e42 = "";
switch (_0x3d75c1) {
case "0":
{
let _0x420d18 = _0x50d02f?.["biz"]?.["resultInfo"]?.["winTitle"] || "空气";
const _0x580cdf = {
notify: true
};
this.log("转盘抽奖: " + _0x420d18, _0x580cdf);
return;
}
case "412":
{
_0x2f6e42 = "抽奖次数已达上限";
break;
}
case "413":
case "420":
{
_0x2f6e42 = "金豆不足";
break;
}
default:
{
this.log(": " + JSON.stringify(_0x50d02f));
_0x2f6e42 = "未知原因";
break;
}
}
this.log("转盘抽奖失败[" + _0x3d75c1 + "]: " + _0x2f6e42);
} else {
let _0x1e463b = _0x49dfef.get(_0x50d02f, "message", "");
this.log("转盘抽奖错误[" + _0x301247 + "]: " + _0x1e463b);
}
} catch (_0x3f560e) {
console.log(_0x3f560e);
}
}
async userTask() {
// 创建日志数组来存储该账号的所有日志
this.logs = [];
// 添加账号分隔行
this.logs.push("\n======== 账号[" + this.index + "] 日志 ========");
// 修改原有的log方法,改为存储日志
this.log = (msg, options = {}) => {
// 获取当前时间
const now = new Date();
const hours = String(now.getHours()).padStart(2, '0');
const minutes = String(now.getMinutes()).padStart(2, '0');
const seconds = String(now.getSeconds()).padStart(2, '0');
const timestamp = `${hours}:${minutes}:${seconds}`;
const logMsg = `账号[${this.index}] ${msg}`;
// 存储日志
this.logs.push(logMsg);
// 实时显示日志
console.log(logMsg);
// 如果需要通知,则添加到通知字符串
if(options.notify) {
_0x49dfef.notifyStr.push(logMsg);
}
}
const _0x4d55e5 = {
notify: true
};
_0x49dfef.log("\n======= 账号[" + this.index + "][" + this.name + "] =======", _0x4d55e5);
if (!this.load_token() && !(await this.login())) {
return;
}
if (!(await this.get_ticket())) {
return;
}
if (!(await this.get_sign())) {
return;
}
await this.userCoinInfo();
await this.getLevelRightsList();
await this.month_jml_preCost();
await this.userStatusInfo();
await this.continueSignRecords();
await this.homepage("hg_qd_zrwzjd");
await this.getParadiseInfo();
if (_0x16d3ea) {
await this.userLotteryTask();
}
await this.userCoinInfo(true);
// 添加分隔行
this.logs.push("========== 账号[" + this.index + "] 日志结束 ==========\n");
// 标记任务已完成
this.taskCompleted = true;
}
async userLotteryTask() {
if (!(await this.auth_login())) {
return;
}
await this.queryInfo();
}
}
!(async () => {
if (!(await _0x1a2249())) {
return;
}
_0x49dfef.read_env(_0x3f433d);
_0xa0ff1b();
for (let user of _0x49dfef.userList) {
await user.userTask();
}
await _0x49dfef.showmsg();
let endTime = Date.now(),
duration = (endTime - _0x49dfef.startTime) / 1000;
console.log(`\n[${_0x49dfef.name}]运行结束,共运行了${duration}`);
process.exit(0);
})().catch(e => console.log(e)).finally(() => _0x49dfef.exitNow());
async function _0x1a2249(_0x5dcebe = 0) {
let _0x40b7b = [];
try {
const _0x14929e = {
fn: "auth",
method: "get",
url: _0x100b57,
timeout: 20000
};
let {
statusCode: _0xbb1bc5,
result: _0x508782
} = await _0x3b1630.request(_0x14929e);
if (_0xbb1bc5 != 200) {
_0x5dcebe++ < _0x3c685e && (_0x40b7b = await _0x1a2249(_0x5dcebe));
return _0x40b7b;
}
if (_0x508782?.["code"] == 0) {
_0x508782 = JSON.parse(_0x508782.data.file.data);
if (_0x508782?.["commonNotify"] && _0x508782.commonNotify.length > 0) {
const _0x1a6c76 = {
notify: true
};
_0x49dfef.log(_0x508782.commonNotify.join("\n") + "\n", _0x1a6c76);
}
_0x508782?.["commonMsg"] && _0x508782.commonMsg.length > 0 && _0x49dfef.log(_0x508782.commonMsg.join("\n") + "\n");
if (_0x508782[_0x14f289]) {
let _0x145844 = _0x508782[_0x14f289];
_0x145844.status == 0 ? _0xf4231c >= _0x145844.version ? (_0x40b7b = [], _0x49dfef.log(_0x145844.msg[_0x145844.status]), _0x49dfef.log(_0x145844.updateMsg), _0x49dfef.log("现在运行的脚本版本是:" + _0xf4231c + ",最新脚本版本:" + _0x145844.latestVersion)) : _0x49dfef.log(_0x145844.versionMsg) : _0x49dfef.log(_0x145844.msg[_0x145844.status]);
} else {
_0x49dfef.log(_0x508782.errorMsg);
}
} else {
_0x5dcebe++ < _0x3c685e && (_0x40b7b = await _0x1a2249(_0x5dcebe));
}
} catch (_0x458d78) {
_0x49dfef.log(_0x458d78);
} finally {
return _0x40b7b;
}
}
function _0x5370a4(_0x24412c) {
return new class {
constructor(_0x198bc4) {
this.name = _0x198bc4;
this.startTime = Date.now();
const _0x555858 = {
time: true
};
this.log("[" + this.name + "]开始运行\n", _0x555858);
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(_0x25f67c, _0x45847d = {}) {
const _0x82b0fc = {
console: true
};
Object.assign(_0x82b0fc, _0x45847d);
if (_0x82b0fc.time) {
let _0x58f096 = _0x82b0fc.fmt || "hh:mm:ss";
_0x25f67c = "[" + this.time(_0x58f096) + "]" + _0x25f67c;
}
if (_0x82b0fc.notify) {
this.notifyStr.push(_0x25f67c);
}
if (_0x82b0fc.console) {
console.log(_0x25f67c);
}
}
get(_0x2ecf4d, _0x5800fb, _0x1ff76e = "") {
let _0x5a663b = _0x1ff76e;
_0x2ecf4d?.["hasOwnProperty"](_0x5800fb) && (_0x5a663b = _0x2ecf4d[_0x5800fb]);
return _0x5a663b;
}
pop(_0x2ae8ec, _0xbb54f6, _0x9c8563 = "") {
let _0x213044 = _0x9c8563;
_0x2ae8ec?.["hasOwnProperty"](_0xbb54f6) && (_0x213044 = _0x2ae8ec[_0xbb54f6], delete _0x2ae8ec[_0xbb54f6]);
return _0x213044;
}
copy(_0x1fbe5b) {
return Object.assign({}, _0x1fbe5b);
}
read_env(_0x412e83) {
let _0x1267c5 = _0x4aec53.map(_0x166c56 => process.env[_0x166c56]);
for (let _0x2b0da2 of _0x1267c5.filter(_0x22b120 => !!_0x22b120)) {
for (let _0x4465a3 of _0x2b0da2.split(_0x1876a7).filter(_0x3c7dca => !!_0x3c7dca)) {
if (this.userList.includes(_0x4465a3)) {
continue;
}
this.userList.push(new _0x412e83(_0x4465a3));
}
}
this.userCount = this.userList.length;
if (!this.userCount) {
const _0x3d5d5 = {
notify: true
};
this.log("未找到变量,请检查变量" + _0x4aec53.map(_0x56423f => "[" + _0x56423f + "]").join("或"), _0x3d5d5);
return false;
}
this.log("共找到" + this.userCount + "个账号");
return true;
}
time(_0x43e381, _0x1822e0 = null) {
let _0x1de2f7 = _0x1822e0 ? new Date(_0x1822e0) : new Date(),
_0x180e96 = {
"M+": _0x1de2f7.getMonth() + 1,
"d+": _0x1de2f7.getDate(),
"h+": _0x1de2f7.getHours(),
"m+": _0x1de2f7.getMinutes(),
"s+": _0x1de2f7.getSeconds(),
"q+": Math.floor((_0x1de2f7.getMonth() + 3) / 3),
S: this.padStr(_0x1de2f7.getMilliseconds(), 3)
};
/(y+)/.test(_0x43e381) && (_0x43e381 = _0x43e381.replace(RegExp.$1, (_0x1de2f7.getFullYear() + "").substr(4 - RegExp.$1.length)));
for (let _0x2cfbd9 in _0x180e96) new RegExp("(" + _0x2cfbd9 + ")").test(_0x43e381) && (_0x43e381 = _0x43e381.replace(RegExp.$1, 1 == RegExp.$1.length ? _0x180e96[_0x2cfbd9] : ("00" + _0x180e96[_0x2cfbd9]).substr(("" + _0x180e96[_0x2cfbd9]).length)));
return _0x43e381;
}
async showmsg() {
if (!this.notifyFlag) {
return;
}
if (!this.notifyStr.length) {
return;
}
var _0x2264e = require("./sendNotify");
this.log("\n============== 推送 ==============");
await _0x2264e.sendNotify(this.name, this.notifyStr.join("\n"));
}
padStr(_0x397014, _0x4fcca2, _0x1abd3c = {}) {
let _0x10354b = _0x1abd3c.padding || "0",
_0x39ed4e = _0x1abd3c.mode || "l",
_0x3b33af = String(_0x397014),
_0x26e87b = _0x4fcca2 > _0x3b33af.length ? _0x4fcca2 - _0x3b33af.length : 0,
_0x3bb60f = "";
for (let _0x30ac41 = 0; _0x30ac41 < _0x26e87b; _0x30ac41++) {
_0x3bb60f += _0x10354b;
}
_0x39ed4e == "r" ? _0x3b33af = _0x3b33af + _0x3bb60f : _0x3b33af = _0x3bb60f + _0x3b33af;
return _0x3b33af;
}
json2str(_0x123637, _0x402c90, _0x46e6c5 = false) {
let _0x75d972 = [];
for (let _0x2a0f42 of Object.keys(_0x123637).sort()) {
let _0x2bc1ca = _0x123637[_0x2a0f42];
if (_0x2bc1ca && _0x46e6c5) {
_0x2bc1ca = encodeURIComponent(_0x2bc1ca);
}
_0x75d972.push(_0x2a0f42 + "=" + _0x2bc1ca);
}
return _0x75d972.join(_0x402c90);
}
str2json(_0x32e5fc, _0x43a064 = false) {
let _0x4cd4ad = {};
for (let _0x520529 of _0x32e5fc.split("&")) {
if (!_0x520529) {
continue;
}
let _0x1dc4e6 = _0x520529.indexOf("=");
if (_0x1dc4e6 == -1) {
continue;
}
let _0x4998d0 = _0x520529.substr(0, _0x1dc4e6),
_0x3ac012 = _0x520529.substr(_0x1dc4e6 + 1);
if (_0x43a064) {
_0x3ac012 = decodeURIComponent(_0x3ac012);
}
_0x4cd4ad[_0x4998d0] = _0x3ac012;
}
return _0x4cd4ad;
}
randomPattern(_0x369f7e, _0x4006d8 = "abcdef0123456789") {
let _0x3140cf = "";
for (let _0x8e9314 of _0x369f7e) {
if (_0x8e9314 == "x") {
_0x3140cf += _0x4006d8.charAt(Math.floor(Math.random() * _0x4006d8.length));
} else {
_0x8e9314 == "X" ? _0x3140cf += _0x4006d8.charAt(Math.floor(Math.random() * _0x4006d8.length)).toUpperCase() : _0x3140cf += _0x8e9314;
}
}
return _0x3140cf;
}
randomUuid() {
return this.randomPattern("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
}
randomString(_0x33254d, _0x5f4306 = "abcdef0123456789") {
let _0x440af6 = "";
for (let _0x475f61 = 0; _0x475f61 < _0x33254d; _0x475f61++) {
_0x440af6 += _0x5f4306.charAt(Math.floor(Math.random() * _0x5f4306.length));
}
return _0x440af6;
}
randomList(_0x4242c3) {
let _0x35c76e = Math.floor(Math.random() * _0x4242c3.length);
return _0x4242c3[_0x35c76e];
}
wait(_0x1dc9b5) {
return new Promise(_0x54d822 => setTimeout(_0x54d822, _0x1dc9b5));
}
async exitNow() {
await this.showmsg();
let _0x4210ea = Date.now(),
_0x52abd1 = (_0x4210ea - this.startTime) / 1000;
this.log("");
const _0x4bb8d6 = {
time: true
};
this.log("[" + this.name + "]运行结束,共运行了" + _0x52abd1 + "秒", _0x4bb8d6);
process.exit(0);
}
normalize_time(_0x2e4fd9, _0x6f3e21 = {}) {
let _0x2a3018 = _0x6f3e21.len || this.default_timestamp_len;
_0x2e4fd9 = _0x2e4fd9.toString();
let _0x54eeae = _0x2e4fd9.length;
while (_0x54eeae < _0x2a3018) {
_0x2e4fd9 += "0";
}
_0x54eeae > _0x2a3018 && (_0x2e4fd9 = _0x2e4fd9.slice(0, 13));
return parseInt(_0x2e4fd9);
}
async wait_until(_0x3145a4, _0x3938d8 = {}) {
let _0x155654 = _0x3938d8.logger || this,
_0x808a8f = _0x3938d8.interval || this.default_wait_interval,
_0x1929a1 = _0x3938d8.limit || this.default_wait_limit,
_0x4fa992 = _0x3938d8.ahead || this.default_wait_ahead;
if (typeof _0x3145a4 == "string" && _0x3145a4.includes(":")) {
if (_0x3145a4.includes("-")) {
_0x3145a4 = new Date(_0x3145a4).getTime();
} else {
let _0xbcf425 = this.time("yyyy-MM-dd ");
_0x3145a4 = new Date(_0xbcf425 + _0x3145a4).getTime();
}
}
let _0x44ad11 = this.normalize_time(_0x3145a4) - _0x4fa992,
_0x213d55 = this.time("hh:mm:ss.S", _0x44ad11),
_0x64f4d7 = Date.now();
_0x64f4d7 > _0x44ad11 && (_0x44ad11 += 86400000);
let _0x539462 = _0x44ad11 - _0x64f4d7;
if (_0x539462 > _0x1929a1) {
const _0x533822 = {
time: true
};
_0x155654.log("离目标时间[" + _0x213d55 + "]大于" + _0x1929a1 / 1000 + "秒,不等待", _0x533822);
} else {
const _0x436e20 = {
time: true
};
_0x155654.log("离目标时间[" + _0x213d55 + "]还有" + _0x539462 / 1000 + "秒,开始等待", _0x436e20);
while (_0x539462 > 0) {
let _0x5a2288 = Math.min(_0x539462, _0x808a8f);
await this.wait(_0x5a2288);
_0x64f4d7 = Date.now();
_0x539462 = _0x44ad11 - _0x64f4d7;
}
const _0x179ceb = {
time: true
};
_0x155654.log("已完成等待", _0x179ceb);
}
}
async wait_gap_interval(_0x5caf3a, _0x373b08) {
let _0x5561b7 = Date.now() - _0x5caf3a;
_0x5561b7 < _0x373b08 && (await this.wait(_0x373b08 - _0x5561b7));
}
}(_0x24412c);
}