Files
wq-h-qinglong/chinatelecom.js
2024-10-13 10:50:11 +08:00

1893 lines
69 KiB
JavaScript

/*
电信营业厅 v6.02
签到和完成部分金豆任务, 喂宠物
7天,15天,28天连签抽奖, 宠物等级权益兑换
自己设置电信的服务密码, 把 手机号#服务密码 填到变量里, 多账号换行或&或@隔开:
export chinaTelecomAccount="13888888888#123456"
每天运行一两次
cron: 33 10,14 * * *
const $ = new Env("电信营业厅");
*/
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,
_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(_0x5771d9, _0x450cac, _0x2c564d, _0x433dc7, _0x39c4aa, _0x4504ac) {
return _0x5e650c[_0x5771d9].encrypt(_0x5e650c.enc.Utf8.parse(_0x433dc7), _0x5e650c.enc.Utf8.parse(_0x39c4aa), {
"mode": _0x5e650c.mode[_0x450cac],
"padding": _0x5e650c.pad[_0x2c564d],
"iv": _0x5e650c.enc.Utf8.parse(_0x4504ac)
}).ciphertext.toString(_0x5e650c.enc.Hex);
}
function _0x436a1e(_0x28a0ac, _0x359609, _0x282bea, _0x53ad35, _0x1dcccf, _0x387c88) {
return _0x5e650c[_0x28a0ac].decrypt({
"ciphertext": _0x5e650c.enc.Hex.parse(_0x53ad35)
}, _0x5e650c.enc.Utf8.parse(_0x1dcccf), {
"mode": _0x5e650c.mode[_0x359609],
"padding": _0x5e650c.pad[_0x282bea],
"iv": _0x5e650c.enc.Utf8.parse(_0x387c88)
}).toString(_0x5e650c.enc.Utf8);
}
function _0x4e4355() {
try {
_0x5336b3.writeFileSync(_0x5370da, JSON.stringify(_0x1d3d6d, null, 4), "utf-8");
} catch (_0x345e13) {
console.log("保存缓存出错");
}
}
function _0xa0ff1b() {
try {
_0x1d3d6d = JSON.parse(_0x5336b3.readFileSync(_0x5370da, "utf-8"));
} catch (_0x27edaf) {
console.log("读取缓存出错, 新建一个token缓存");
_0x4e4355();
}
}
let _0x300c8e = 0,
_0xdb6efe = 0;
function _0x11cae0() {
_0xdb6efe = 1;
process.on("SIGTERM", () => {
_0xdb6efe = 2;
process.exit(0);
});
const _0x15d402 = _0x203c4a.basename(process.argv[1]),
_0x55a240 = ["bash", "timeout", "grep"];
let _0x517188 = ["ps afx"];
_0x517188.push("grep " + _0x15d402);
_0x517188 = _0x517188.concat(_0x55a240.map(_0x376a17 => "grep -v \"" + _0x376a17 + " \""));
_0x517188.push("wc -l");
const _0x2f47c6 = _0x517188.join("|"),
_0x8109 = () => {
_0x3898d1(_0x2f47c6, (_0x3db287, _0x30373e, _0x39f532) => {
if (_0x3db287 || _0x39f532) return;
_0x300c8e = parseInt(_0x30373e.trim(), 10);
});
_0xdb6efe == 1 && setTimeout(_0x8109, 2000);
};
_0x8109();
}
class _0x9d1851 {
constructor() {
this.index = _0x49dfef.userIdx++;
this.name = "";
this.valid = false;
const _0x2c28d7 = {
"limit": 0
},
_0x2c4edd = {
"Connection": "keep-alive"
},
_0x5069eb = {
"retry": _0x2c28d7,
"timeout": _0x128624,
"followRedirect": false,
"ignoreInvalidCookies": true,
"headers": _0x2c4edd
};
this.got = _0x8e0885.extend(_0x5069eb);
_0xdb6efe == 0 && _0x11cae0();
}
["log"](_0x493cba, _0x452fe5 = {}) {
var _0x567ff8 = "",
_0x1d5ec0 = _0x49dfef.userCount.toString().length;
this.index && (_0x567ff8 += "账号[" + _0x49dfef.padStr(this.index, _0x1d5ec0) + "]");
this.name && (_0x567ff8 += "[" + this.name + "]");
_0x49dfef.log(_0x567ff8 + _0x493cba, _0x452fe5);
}
["set_cookie"](_0x5a17b2, _0x55db68, _0x11f17c, _0x1e7a6c, _0x3e9954 = {}) {
this.cookieJar.setCookieSync(_0x5a17b2 + "=" + _0x55db68 + "; Domain=" + _0x11f17c + ";", "" + _0x1e7a6c);
}
async ["request"](_0x5dffd5) {
const _0x37ac5c = ["ECONNRESET", "EADDRINUSE", "ENOTFOUND", "EAI_AGAIN"],
_0x2b4fd1 = ["TimeoutError"],
_0xab6ac9 = ["EPROTO"],
_0x875994 = [];
var _0x2ae6b5 = null,
_0x588da8 = 0,
_0x2c97d1 = _0x5dffd5.fn || _0x5dffd5.url;
let _0x5dfd65 = _0x49dfef.get(_0x5dffd5, "valid_code", _0x875994);
_0x5dffd5.method = _0x5dffd5?.["method"]?.["toUpperCase"]() || "GET";
let _0x3173c7, _0x2d079a;
while (_0x588da8 < _0x5a04a9) {
try {
_0x588da8++;
_0x3173c7 = "";
_0x2d079a = "";
let _0x56da93 = null,
_0x20fa96 = _0x5dffd5?.["timeout"] || this.got?.["defaults"]?.["options"]?.["timeout"]?.["request"] || _0x128624,
_0x372157 = false,
_0x329022 = Math.max(this.index - 2, 0),
_0xae873a = Math.min(Math.max(this.index - 3, 1), 3),
_0x1df6bf = Math.min(Math.max(this.index - 4, 1), 4),
_0x3dd9a2 = _0x329022 * _0xae873a * _0x1df6bf * 400,
_0x5c8e85 = _0x329022 * _0xae873a * _0x1df6bf * 1800,
_0x168d1c = _0x3dd9a2 + Math.floor(Math.random() * _0x5c8e85),
_0x43a74c = _0x300c8e * (_0x300c8e - 1) * 2000,
_0x6f7cc7 = (_0x300c8e - 1) * (_0x300c8e - 1) * 2000,
_0x410dd7 = _0x43a74c + Math.floor(Math.random() * _0x6f7cc7),
_0x37f92f = Math.max(_0x49dfef.userCount - 2, 0),
_0x29c518 = Math.max(_0x49dfef.userCount - 3, 0),
_0x4d7ea4 = _0x37f92f * 200,
_0x428995 = _0x29c518 * 400,
_0x5c5b4c = _0x4d7ea4 + Math.floor(Math.random() * _0x428995),
_0x169ad4 = _0x168d1c + _0x410dd7 + _0x5c5b4c;
await _0x49dfef.wait(_0x169ad4);
await new Promise(async _0x3fddf4 => {
setTimeout(() => {
_0x372157 = true;
_0x3fddf4();
}, _0x20fa96);
await this.got(_0x5dffd5).then(_0x209b82 => {
_0x2ae6b5 = _0x209b82;
}, _0x41c3d2 => {
_0x56da93 = _0x41c3d2;
_0x2ae6b5 = _0x41c3d2.response;
_0x3173c7 = _0x56da93?.["code"] || "";
_0x2d079a = _0x56da93?.["name"] || "";
});
_0x3fddf4();
});
if (_0x372157) this.log("[" + _0x2c97d1 + "]请求超时(" + _0x20fa96 / 1000 + "秒),重试第" + _0x588da8 + "次");else {
if (_0xab6ac9.includes(_0x3173c7)) {
this.log("[" + _0x2c97d1 + "]请求错误[" + _0x3173c7 + "][" + _0x2d079a + "]");
if (_0x56da93?.["message"]) {
console.log(_0x56da93.message);
}
break;
} else {
if (_0x2b4fd1.includes(_0x2d079a)) {
this.log("[" + _0x2c97d1 + "]请求错误[" + _0x3173c7 + "][" + _0x2d079a + "],重试第" + _0x588da8 + "次");
} else {
if (_0x37ac5c.includes(_0x3173c7)) {
this.log("[" + _0x2c97d1 + "]请求错误[" + _0x3173c7 + "][" + _0x2d079a + "],重试第" + _0x588da8 + "次");
} else {
let _0x33b70b = _0x2ae6b5?.["statusCode"] || "",
_0x289577 = _0x33b70b / 100 | 0;
if (_0x33b70b) {
_0x289577 > 3 && !_0x5dfd65.includes(_0x33b70b) && (_0x33b70b ? this.log("请求[" + _0x2c97d1 + "]返回[" + _0x33b70b + "]") : this.log("请求[" + _0x2c97d1 + "]错误[" + _0x3173c7 + "][" + _0x2d079a + "]"));
if (_0x289577 <= 4) break;
} else this.log("请求[" + _0x2c97d1 + "]错误[" + _0x3173c7 + "][" + _0x2d079a + "]");
}
}
}
}
} catch (_0x4c3a90) {
_0x4c3a90.name == "TimeoutError" ? this.log("[" + _0x2c97d1 + "]请求超时,重试第" + _0x588da8 + "次") : this.log("[" + _0x2c97d1 + "]请求错误(" + _0x4c3a90.message + "),重试第" + _0x588da8 + "次");
}
}
const _0x493b70 = {
"statusCode": _0x3173c7 || -1,
"headers": null,
"result": null
};
if (_0x2ae6b5 == null) {
return Promise.resolve(_0x493b70);
}
let {
statusCode: _0x307ac9,
headers: _0x5205ad,
body: _0x3a9f48
} = _0x2ae6b5;
if (_0x3a9f48) {
try {
_0x3a9f48 = JSON.parse(_0x3a9f48);
} catch {}
}
const _0x37c203 = {
"statusCode": _0x307ac9,
"headers": _0x5205ad,
"result": _0x3a9f48
};
return Promise.resolve(_0x37c203);
}
}
let _0x280825 = _0x9d1851;
try {
let _0x236d58 = require("./LocalBasic");
_0x280825 = _0x236d58;
} catch {}
let _0x3b1630 = new _0x280825(_0x49dfef);
class _0x3f433d extends _0x280825 {
constructor(_0x4802c1) {
super(_0x49dfef);
let _0x2a7cbd = _0x4802c1.split("#");
this.name = _0x2a7cbd[0];
this.passwd = _0x2a7cbd?.[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 = "";
const _0xf01b6c = {
"Connection": "keep-alive",
"User-Agent": _0x3ed712
};
this.got = this.got.extend({
"cookieJar": this.cookieJar,
"headers": _0xf01b6c
});
}
["load_token"]() {
let _0x14cf8a = false;
return _0x1d3d6d[this.name] && (this.userId = _0x1d3d6d[this.name].userId, this.token = _0x1d3d6d[this.name].token, this.log("读取到缓存token"), _0x14cf8a = true), _0x14cf8a;
}
["encode_phone"]() {
let _0x266210 = this.name.split("");
for (let _0x5f797f in _0x266210) {
_0x266210[_0x5f797f] = String.fromCharCode(_0x266210[_0x5f797f].charCodeAt(0) + 2);
}
return _0x266210.join("");
}
["encode_aes"](_0x47873f) {
return _0x1519a6("AES", "ECB", "Pkcs7", _0x47873f, _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"](_0x568c8f = {}) {
let _0x172a21 = false;
try {
let _0x4709da = _0x49dfef.time("yyyyMMddhhmmss"),
_0x21d997 = "iPhone 14 15.4." + this.uuid.slice(0, 2).join("") + this.name + _0x4709da + this.passwd + "0$$$0.",
_0x1b5e27 = {
"fn": "login",
"method": "post",
"url": "https://appgologin.189.cn:9031/login/client/userLoginNormal",
"json": {
"headerInfos": {
"code": "userLoginNormal",
"timestamp": _0x4709da,
"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(_0x21d997, "base64"),
"deviceUid": this.uuid.slice(0, 3).join(""),
"phoneNum": this.encode_phone(),
"isChinatelecom": "0",
"systemVersion": "15.4.0",
"authentication": this.passwd
}
}
}
},
{
result: _0x44e3e2,
statusCode: _0x15338e
} = await this.request(_0x1b5e27),
_0x5d0534 = _0x49dfef.get(_0x44e3e2?.["responseData"], "resultCode", -1);
console.log("Request Content:", requestBody.content);
if (_0x5d0534 == "0000") {
let {
userId = "",
token = ""
} = _0x44e3e2?.["responseData"]?.["data"]?.["loginSuccessResult"] || {};
this.userId = userId;
this.token = token;
this.log("使用服务密码登录成功");
_0x1d3d6d[this.name] = {
"token": token,
"userId": userId,
"t": Date.now()
};
_0x4e4355();
_0x172a21 = true;
} else {
let _0x4d711e = _0x44e3e2?.["msg"] || _0x44e3e2?.["responseData"]?.["resultDesc"] || _0x44e3e2?.["headerInfos"]?.["reason"] || "";
this.log("服务密码登录失败[" + _0x5d0534 + "]: " + _0x4d711e);
}
} catch (_0x2334e8) {
console.log(_0x2334e8);
} finally {
return _0x172a21;
}
}
async ["get_ticket"](_0x292809 = {}) {
let _0x3ff995 = "";
try {
let _0x495fa7 = "\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 _0xd42d5c = {
"fn": "get_ticket",
"method": "post",
"url": "https://appgologin.189.cn:9031/map/clientXML",
"body": _0x495fa7
};
let {
result: _0x364c7d,
statusCode: _0xd880be
} = await this.request(_0xd42d5c);
if (_0x364c7d) {
let _0x18bfb2 = _0x364c7d.match(/\<Ticket\>(\w+)\<\/Ticket\>/);
if (_0x18bfb2) {
let _0x33b8c5 = _0x18bfb2[1];
_0x3ff995 = _0x436a1e("TripleDES", "CBC", "Pkcs7", _0x33b8c5, _0x2304b1, _0x1110eb);
this.ticket = _0x3ff995;
}
}
!_0x3ff995 && (!_0x292809.retry && (await this.login()) ? (_0x292809.retry = true, _0x3ff995 = await this.get_ticket(_0x292809)) : (this.log("没有获取到ticket[" + _0xd880be + "]: "), _0x364c7d && this.log(": " + JSON.stringify(_0x364c7d))));
} catch (_0x28f8f2) {
console.log(_0x28f8f2);
} finally {
return _0x3ff995;
}
}
async ["get_sign"](_0xd5e98b = {}) {
let _0x3728d3 = false;
try {
const _0x228472 = {
"ticket": this.ticket
},
_0x1dce3c = {
"fn": "login",
"method": "get",
"url": "https://wapside.189.cn:9001/jt-sign/ssoHomLogin",
"searchParams": _0x228472
};
let {
result: _0x5b193e,
statusCode: _0x5f0725
} = await this.request(_0x1dce3c),
_0x29efdb = _0x49dfef.get(_0x5b193e, "resoultCode", _0x5f0725);
_0x29efdb == 0 ? (_0x3728d3 = _0x5b193e?.["sign"], this.sign = _0x3728d3, this.got = this.got.extend({
"headers": {
"sign": this.sign
}
})) : this.log("获取sign失败[" + _0x29efdb + "]: " + _0x5b193e);
} catch (_0x2f28bb) {
console.log(_0x2f28bb);
} finally {
return _0x3728d3;
}
}
["encrypt_para"](_0x2ea382) {
let _0x4ed84a = typeof _0x2ea382 == "string" ? _0x2ea382 : JSON.stringify(_0x2ea382);
return _0x47bb4b.encrypt(_0x4ed84a, "hex");
}
async ["userCoinInfo"](_0x124ec9 = false, _0x1a1cc3 = {}) {
try {
const _0x374d94 = {
"phone": this.name
};
let _0x4e6fdd = {
"fn": "userCoinInfo",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/api/home/userCoinInfo",
"json": {
"para": this.encrypt_para(_0x374d94)
}
},
{
result: _0x32da86,
statusCode: _0x1e20fc
} = await this.request(_0x4e6fdd),
_0x416871 = _0x49dfef.get(_0x32da86, "resoultCode", _0x1e20fc);
if (_0x416871 == 0) {
this.coin = _0x32da86?.["totalCoin"] || 0;
if (_0x124ec9) {
const _0x4aa23f = {
"notify": true
};
this.log("金豆余额: " + this.coin, _0x4aa23f);
if (_0x32da86.amountEx) {
let _0x1afe63 = _0x49dfef.time("yyyy-MM-dd", _0x32da86.expireDate);
const _0x171701 = {
"notify": true
};
_0x49dfef.log("-- [" + _0x1afe63 + "]将过期" + _0x32da86.amountEx + "金豆", _0x171701);
}
}
} else {
let _0x5dd2dd = _0x32da86?.["msg"] || _0x32da86?.["resoultMsg"] || _0x32da86?.["error"] || "";
this.log("查询账户金豆余额错误[" + _0x416871 + "]: " + _0x5dd2dd);
}
} catch (_0x46ed9f) {
console.log(_0x46ed9f);
}
}
async ["userStatusInfo"](_0xc9a8b1 = {}) {
try {
const _0x27024b = {
"phone": this.name
};
let _0x46d7e7 = {
"fn": "userStatusInfo",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/api/home/userStatusInfo",
"json": {
"para": this.encrypt_para(_0x27024b)
}
};
{
let {
result: _0x7c79f6,
statusCode: _0x5610ae
} = await this.request(_0x49dfef.copy(_0x46d7e7)),
_0x4b983e = _0x49dfef.get(_0x7c79f6, "resoultCode", _0x5610ae);
if (_0x4b983e == 0) {
let {
isSign: _0x577fdd
} = _0x7c79f6?.["data"];
_0x577fdd ? this.log("今天已签到") : await this.doSign();
} else {
let _0x16239c = _0x7c79f6?.["msg"] || _0x7c79f6?.["resoultMsg"] || _0x7c79f6?.["error"] || "";
this.log("查询账户签到状态错误[" + _0x4b983e + "]: " + _0x16239c);
}
}
{
let {
result: _0x2cb917,
statusCode: _0x42a823
} = await this.request(_0x49dfef.copy(_0x46d7e7)),
_0x11fe96 = _0x49dfef.get(_0x2cb917, "resoultCode", _0x42a823);
if (_0x11fe96 == 0) {
let {
continuousDay: _0xf63027,
signDay: _0x5a3e70,
isSeven: _0x434ea0
} = _0x2cb917?.["data"];
this.log("已签到" + _0x5a3e70 + "天, 连签" + _0xf63027 + "天");
_0x434ea0 && (await this.exchangePrize());
} else {
let _0x57bd0e = _0x2cb917?.["msg"] || _0x2cb917?.["resoultMsg"] || _0x2cb917?.["error"] || "";
this.log("查询账户签到状态错误[" + _0x11fe96 + "]: " + _0x57bd0e);
}
}
} catch (_0x70a9ad) {
console.log(_0x70a9ad);
}
}
async ["continueSignDays"](_0x57126c = {}) {
try {
const _0x1396f4 = {
"phone": this.name
};
let _0x40ec16 = {
"fn": "continueSignDays",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/webSign/continueSignDays",
"json": {
"para": this.encrypt_para(_0x1396f4)
}
},
{
result: _0xd56803,
statusCode: _0x133cba
} = await this.request(_0x40ec16),
_0x5ecdbe = _0x49dfef.get(_0xd56803, "resoultCode", _0x133cba);
if (_0x5ecdbe == 0) {
this.log("抽奖连签天数: " + (_0xd56803?.["continueSignDays"] || 0) + "天");
if (_0xd56803?.["continueSignDays"] == 15) {
const _0x1e4b5b = {
"type": "15"
};
await this.exchangePrize(_0x1e4b5b);
} else {
if (_0xd56803?.["continueSignDays"] == 28) {
const _0x5bc07e = {
"type": "28"
};
await this.exchangePrize(_0x5bc07e);
}
}
} else {
let _0x4e6817 = _0xd56803?.["msg"] || _0xd56803?.["resoultMsg"] || _0xd56803?.["error"] || "";
this.log("查询抽奖连签天数错误[" + _0x5ecdbe + "]: " + _0x4e6817);
}
} catch (_0x52cdc8) {
console.log(_0x52cdc8);
}
}
async ["continueSignRecords"](_0x2891d4 = {}) {
try {
const _0x2228e1 = {
"phone": this.name
};
let _0x49e887 = {
"fn": "continueSignRecords",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/webSign/continueSignRecords",
"json": {
"para": this.encrypt_para(_0x2228e1)
}
},
{
result: _0x1dd52d,
statusCode: _0x274d64
} = await this.request(_0x49e887),
_0xb167e6 = _0x49dfef.get(_0x1dd52d, "resoultCode", _0x274d64);
if (_0xb167e6 == 0) {
if (_0x1dd52d?.["continue15List"]?.["length"]) {
const _0x16fcf5 = {
"type": "15"
};
await this.exchangePrize(_0x16fcf5);
}
if (_0x1dd52d?.["continue28List"]?.["length"]) {
const _0x52fb63 = {
"type": "28"
};
await this.exchangePrize(_0x52fb63);
}
} else {
let _0x3090eb = _0x1dd52d?.["msg"] || _0x1dd52d?.["resoultMsg"] || _0x1dd52d?.["error"] || "";
this.log("查询连签抽奖状态错误[" + _0xb167e6 + "]: " + _0x3090eb);
}
} catch (_0x2bc775) {
console.log(_0x2bc775);
}
}
async ["doSign"](_0x1b376e = {}) {
try {
let _0x3e8ed4 = {
"phone": this.name,
"date": Date.now(),
"sysType": "20002"
},
_0x405845 = {
"fn": "doSign",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/webSign/sign",
"json": {
"encode": this.encode_aes(JSON.stringify(_0x3e8ed4))
}
},
{
result: _0x380f07,
statusCode: _0x36d52d
} = await this.request(_0x405845),
_0x3b877d = _0x49dfef.get(_0x380f07, "resoultCode", _0x36d52d);
if (_0x3b877d == 0) {
let _0x5bf6a1 = _0x49dfef.get(_0x380f07?.["data"], "code", -1);
if (_0x5bf6a1 == 1) {
const _0x13fbb6 = {
"notify": true
};
this.log("签到成功,获得" + (_0x380f07?.["data"]?.["coin"] || 0) + "金豆", _0x13fbb6);
await this.userStatusInfo();
} else {
const _0x106dcf = {
"notify": true
};
this.log("签到失败[" + _0x5bf6a1 + "]: " + _0x380f07.data.msg, _0x106dcf);
}
} else {
let _0x4cd1a1 = _0x380f07?.["msg"] || _0x380f07?.["resoultMsg"] || _0x380f07?.["error"] || "";
this.log("签到错误[" + _0x3b877d + "]: " + _0x4cd1a1);
}
} catch (_0x591e48) {
console.log(_0x591e48);
}
}
async ["exchangePrize"](_0x1959e6 = {}) {
try {
let _0x22bbfa = _0x49dfef.pop(_0x1959e6, "type", "7");
const _0x20ec8c = {
"phone": this.name,
"type": _0x22bbfa
};
let _0x1ca191 = {
"fn": "exchangePrize",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/webSign/exchangePrize",
"json": {
"para": this.encrypt_para(_0x20ec8c)
}
},
{
result: _0x4217e1,
statusCode: _0x4d9c82
} = await this.request(_0x1ca191),
_0x9afc2f = _0x49dfef.get(_0x4217e1, "resoultCode", _0x4d9c82);
if (_0x9afc2f == 0) {
let _0x28f1fc = _0x49dfef.get(_0x4217e1?.["prizeDetail"], "code", -1);
if (_0x28f1fc == 0) {
const _0x3a457e = {
"notify": true
};
this.log("连签" + _0x22bbfa + "天抽奖: " + _0x4217e1?.["prizeDetail"]?.["biz"]?.["winTitle"], _0x3a457e);
} else {
let _0x8e62fe = _0x4217e1?.["prizeDetail"]?.["err"] || "";
const _0x1e3693 = {
"notify": true
};
this.log("连签" + _0x22bbfa + "天抽奖失败[" + _0x28f1fc + "]: " + _0x8e62fe, _0x1e3693);
}
} else {
let _0x32f43a = _0x4217e1?.["msg"] || _0x4217e1?.["resoultMsg"] || _0x4217e1?.["error"] || "";
this.log("连签" + _0x22bbfa + "天抽奖错误[" + _0x9afc2f + "]: " + _0x32f43a);
}
} catch (_0x5751a7) {
console.log(_0x5751a7);
}
}
async ["homepage"](_0x7f393b, _0x27b6dc = {}) {
try {
const _0x91f4c = {
"phone": this.name,
"shopId": "20001",
"type": _0x7f393b
};
let _0x3c66e4 = {
"fn": "homepage",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/webSign/homepage",
"json": {
"para": this.encrypt_para(_0x91f4c)
}
},
{
result: _0x2bd358,
statusCode: _0x15ab0e
} = await this.request(_0x3c66e4),
_0x1ebbf3 = _0x49dfef.get(_0x2bd358, "resoultCode", _0x15ab0e);
if (_0x1ebbf3 == 0) {
let _0x31f344 = _0x49dfef.get(_0x2bd358?.["data"]?.["head"], "code", -1);
if (_0x31f344 == 0) for (let _0x1e9c0b of _0x2bd358?.["data"]?.["biz"]?.["adItems"] || []) {
if (["0", "1"].includes(_0x1e9c0b?.["taskState"])) switch (_0x1e9c0b.contentOne) {
case "3":
{
_0x1e9c0b?.["rewardId"] && (await this.receiveReward(_0x1e9c0b));
break;
}
case "5":
{
await this.openMsg(_0x1e9c0b);
break;
}
case "6":
{
await this.sharingGetGold();
break;
}
case "10":
case "13":
{
!this.xtoken && (await this.get_usercode());
this.xtoken && (await this.watchLiveInit());
break;
}
case "18":
{
await this.polymerize(_0x1e9c0b);
break;
}
default:
{
break;
}
}
} else {
let _0x24468f = _0x2bd358?.["data"]?.["head"]?.["err"] || "";
this.log("获取任务列表失败[" + _0x31f344 + "]: " + _0x24468f);
}
} else this.log("获取任务列表错误[" + _0x1ebbf3 + "]");
} catch (_0x590aa6) {
console.log(_0x590aa6);
}
}
async ["receiveReward"](_0x484772, _0x43564a = {}) {
try {
let _0x22887b = _0x484772?.["title"]?.["split"](" ")?.[0];
const _0x550f47 = {
"phone": this.name,
"rewardId": _0x484772?.["rewardId"] || ""
};
let _0x2463d2 = {
"fn": "receiveReward",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/paradise/receiveReward",
"json": {
"para": this.encrypt_para(_0x550f47)
}
},
{
result: _0x1de7a2,
statusCode: _0x5b6ad9
} = await this.request(_0x2463d2),
_0x124e90 = _0x49dfef.get(_0x1de7a2, "resoultCode", _0x5b6ad9);
if (_0x124e90 == 0) this.log("领取任务[" + _0x22887b + "]奖励成功: " + _0x1de7a2?.["resoultMsg"]);else {
let _0x20a521 = _0x1de7a2?.["msg"] || _0x1de7a2?.["resoultMsg"] || _0x1de7a2?.["error"] || "";
this.log("领取任务[" + _0x22887b + "]奖励错误[" + _0x124e90 + "]: " + _0x20a521);
}
} catch (_0x25a11e) {
console.log(_0x25a11e);
}
}
async ["openMsg"](_0x308623, _0x14e0b8 = {}) {
try {
let _0x435287 = _0x308623?.["title"]?.["split"](" ")?.[0];
const _0x13404e = {
"phone": this.name
};
let _0x34d20f = {
"fn": "openMsg",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/paradise/openMsg",
"json": {
"para": this.encrypt_para(_0x13404e)
}
},
{
result: _0x546705,
statusCode: _0x2eb743
} = await this.request(_0x34d20f),
_0x313ba3 = _0x49dfef.get(_0x546705, "resoultCode", _0x2eb743);
if (_0x313ba3 == 0) this.log("完成任务[" + _0x435287 + "]成功: " + _0x546705?.["resoultMsg"]);else {
let _0x301d94 = _0x546705?.["msg"] || _0x546705?.["resoultMsg"] || _0x546705?.["error"] || "";
this.log("完成任务[" + _0x435287 + "]错误[" + _0x313ba3 + "]: " + _0x301d94);
}
} catch (_0x47faa9) {
console.log(_0x47faa9);
}
}
async ["polymerize"](_0x7882f8, _0x3307f2 = {}) {
try {
let _0x57f3b6 = _0x7882f8?.["title"]?.["split"](" ")?.[0];
const _0x588ba0 = {
"phone": this.name,
"jobId": _0x7882f8.taskId
};
let _0x32f651 = {
"fn": "polymerize",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/webSign/polymerize",
"json": {
"para": this.encrypt_para(_0x588ba0)
}
},
{
result: _0x55f4ae,
statusCode: _0x12bcb6
} = await this.request(_0x32f651),
_0xe96682 = _0x49dfef.get(_0x55f4ae, "resoultCode", _0x12bcb6);
if (_0xe96682 == 0) this.log("完成任务[" + _0x57f3b6 + "]成功: " + _0x55f4ae?.["resoultMsg"]);else {
let _0x3c85b6 = _0x55f4ae?.["msg"] || _0x55f4ae?.["resoultMsg"] || _0x55f4ae?.["error"] || "";
this.log("完成任务[" + _0x57f3b6 + "]错误[" + _0xe96682 + "]: " + _0x3c85b6);
}
} catch (_0x364b16) {
console.log(_0x364b16);
}
}
async ["food"](_0x72be45, _0x385563 = {}) {
try {
const _0x43c1bd = {
"phone": this.name
};
let _0x222dd0 = {
"fn": "food",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/paradise/food",
"json": {
"para": this.encrypt_para(_0x43c1bd)
}
},
{
result: _0x57feb0,
statusCode: _0x11f22b
} = await this.request(_0x222dd0),
_0x5ef41d = _0x49dfef.get(_0x57feb0, "resoultCode", _0x11f22b);
if (_0x5ef41d == 0) {
this.log("第" + _0x72be45 + "次喂食: " + (_0x57feb0?.["resoultMsg"] || "成功"));
if (_0x57feb0?.["levelUp"]) {
let _0x4ca17a = _0x57feb0?.["currLevelRightList"][0]?.["level"];
const _0xd3dda5 = {
"notify": true
};
this.log("宠物已升级到[LV." + _0x4ca17a + "], 获得: " + _0x57feb0?.["currLevelRightList"][0]?.["righstName"], _0xd3dda5);
}
} else {
let _0x5ba722 = _0x57feb0?.["msg"] || _0x57feb0?.["resoultMsg"] || _0x57feb0?.["error"] || "";
this.log("第" + _0x72be45 + "次喂食失败[" + _0x5ef41d + "]: " + _0x5ba722);
_0x5ba722?.["includes"]("最大喂食次数") && (this.can_feed = false);
}
} catch (_0x27040d) {
console.log(_0x27040d);
}
}
async ["getParadiseInfo"](_0x4d05b5 = {}) {
try {
const _0x125538 = {
"phone": this.name
};
let _0x270bb1 = {
"fn": "getParadiseInfo",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/paradise/getParadiseInfo",
"json": {
"para": this.encrypt_para(_0x125538)
}
};
{
let {
result: _0x364c07,
statusCode: _0xcdef27
} = await this.request(_0x270bb1),
_0x48e40c = _0x49dfef.get(_0x364c07, "resoultCode", _0xcdef27);
if (_0x48e40c == 0) {
let _0x4a27b8 = _0x364c07?.["userInfo"]?.["levelInfoMap"];
this.level = _0x4a27b8?.["level"];
for (let _0xfc2d56 = 1; _0xfc2d56 <= 10 && this.can_feed; _0xfc2d56++) {
await this.food(_0xfc2d56);
}
} else {
let _0x10b0a2 = _0x364c07?.["msg"] || _0x364c07?.["resoultMsg"] || _0x364c07?.["error"] || "";
this.log("查询宠物等级失败[" + _0x48e40c + "]: " + _0x10b0a2);
return;
}
}
{
let {
result: _0x2d4c9d,
statusCode: _0x32822d
} = await this.request(_0x270bb1),
_0x33231c = _0x49dfef.get(_0x2d4c9d, "resoultCode", _0x32822d);
if (_0x33231c == 0) {
let _0x587dfa = _0x2d4c9d?.["userInfo"]?.["levelInfoMap"];
this.level = _0x587dfa?.["level"];
const _0x4a392a = {
"notify": true
};
this.log("宠物等级[Lv." + _0x587dfa?.["level"] + "], 升级进度: " + _0x587dfa?.["growthValue"] + "/" + _0x587dfa?.["fullGrowthCoinValue"], _0x4a392a);
} else {
let _0xc04dee = _0x2d4c9d?.["msg"] || _0x2d4c9d?.["resoultMsg"] || _0x2d4c9d?.["error"] || "";
this.log("查询宠物等级失败[" + _0x33231c + "]: " + _0xc04dee);
return;
}
}
} catch (_0x4f7ada) {
console.log(_0x4f7ada);
}
}
async ["getLevelRightsList"](_0x25055f = {}) {
try {
const _0xd28e8a = {
"phone": this.name
};
let _0x8f5d11 = {
"fn": "getLevelRightsList",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/paradise/getLevelRightsList",
"json": {
"para": this.encrypt_para(_0xd28e8a)
}
},
{
result: _0x364382,
statusCode: _0x49ed45
} = await this.request(_0x8f5d11);
if (_0x364382?.["currentLevel"]) {
let _0x51ee3a = _0x364382?.["currentLevel"] || 6,
_0x1a4b17 = false,
_0x3a1b27 = "V" + _0x51ee3a;
for (let _0x2f7780 of _0x364382[_0x3a1b27] || []) {
let _0x583017 = _0x2f7780?.["righstName"] || "";
if (this.coin < _0x2f7780.costCoin) continue;
(_0x583017?.["match"](/\d+元话费/) || _0x583017?.["match"](/专享\d+金豆/)) && (await this.getConversionRights(_0x2f7780, _0x1a4b17)) && (_0x1a4b17 = true);
}
} else {
let _0x369c9d = _0x364382?.["msg"] || _0x364382?.["resoultMsg"] || _0x364382?.["error"] || "";
this.log("查询宠物兑换权益失败: " + _0x369c9d);
}
} catch (_0x2b311a) {
console.log(_0x2b311a);
}
}
async ["getConversionRights"](_0x4ff23b, _0x4050ac, _0x214824 = {}) {
let _0x454e1a = false;
try {
let _0x3ea063 = _0x4ff23b?.["righstName"] || "";
const _0x404f21 = {
"phone": this.name,
"rightsId": _0x4ff23b.id,
"receiveCount": _0x4ff23b.receiveType
};
let _0x3098ed = {
"fn": "getConversionRights",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/paradise/getConversionRights",
"json": {
"para": this.encrypt_para(_0x404f21)
}
},
{
result: _0x269ce8,
statusCode: _0x209b41
} = await this.request(_0x3098ed),
_0x411acf = _0x49dfef.get(_0x269ce8, "code", _0x49dfef.get(_0x269ce8, "resoultCode", _0x209b41));
if (_0x411acf == 200) !(_0x269ce8?.["rightsStatus"]?.["includes"]("已兑换") || _0x269ce8?.["rightsStatus"]?.["includes"]("已领取")) && (_0x454e1a = true, _0x4050ac && (await _0x49dfef.wait(3000)), await this.conversionRights(_0x4ff23b));else {
let _0x465ea5 = _0x269ce8?.["msg"] || _0x269ce8?.["resoultMsg"] || _0x269ce8?.["error"] || "";
this.log("查询权益[" + _0x3ea063 + "]失败[" + _0x411acf + "]: " + _0x465ea5);
}
} catch (_0x4b949e) {
console.log(_0x4b949e);
} finally {
return _0x454e1a;
}
}
async ["conversionRights"](_0xd4165b, _0x5b8c93 = {}) {
try {
let _0x5e50ea = _0xd4165b?.["righstName"] || "";
const _0x53587c = {
"phone": this.name,
"rightsId": _0xd4165b.id
};
let _0x4edcac = {
"fn": "conversionRights",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/paradise/conversionRights",
"json": {
"para": this.encrypt_para(_0x53587c)
}
},
{
result: _0x217a7d,
statusCode: _0x3b6d01
} = await this.request(_0x4edcac),
_0x57dbd8 = _0x49dfef.get(_0x217a7d, "resoultCode", _0x3b6d01);
if (_0x57dbd8 == 0) this.log("兑换权益[" + _0x5e50ea + "]成功");else {
let _0xc27682 = _0x217a7d?.["msg"] || _0x217a7d?.["resoultMsg"] || _0x217a7d?.["error"] || "";
this.log("兑换权益[" + _0x5e50ea + "]失败[" + _0x57dbd8 + "]: " + _0xc27682);
}
} catch (_0x2097ee) {
console.log(_0x2097ee);
}
}
async ["get_usercode"](_0x36cb85 = {}) {
try {
const _0x2ae7b6 = {
"fn": "get_usercode",
"method": "get",
"url": "https://xbk.189.cn/xbkapi/api/auth/jump",
"searchParams": {}
};
_0x2ae7b6.searchParams.userID = this.ticket;
_0x2ae7b6.searchParams.version = "9.3.3";
_0x2ae7b6.searchParams.type = "room";
_0x2ae7b6.searchParams.l = "renwu";
let {
statusCode: _0x552d62,
headers: _0x17ddd9
} = await this.request(_0x2ae7b6),
_0x5e7123 = _0x17ddd9?.["location"]?.["match"](/usercode=(\w+)/);
_0x5e7123 ? await this.codeToken(_0x5e7123[1]) : this.log("获取code失败[" + _0x552d62 + "]");
} catch (_0x4506f4) {
console.log(_0x4506f4);
}
}
async ["codeToken"](_0x3fd610, _0x480835 = {}) {
try {
const _0x269098 = {
"usercode": _0x3fd610
},
_0x1649f3 = {
"fn": "codeToken",
"method": "post",
"url": "https://xbk.189.cn/xbkapi/api/auth/userinfo/codeToken",
"json": _0x269098
};
let {
result: _0x13a1e8,
statusCode: _0x2966c4
} = await this.request(_0x1649f3),
_0x2d1b25 = _0x49dfef.get(_0x13a1e8, "code", -1);
if (_0x2d1b25 == 0) this.xtoken = _0x13a1e8?.["data"]?.["token"], this.got = this.got.extend({
"headers": {
"Authorization": "Bearer " + _0x5b4189.encrypt(this.xtoken, "base64")
}
});else {
let _0xc5b03f = _0x13a1e8?.["msg"] || _0x13a1e8?.["resoultMsg"] || _0x13a1e8?.["error"] || _0x13a1e8?.["msg"] || "";
this.log("获取token失败[" + _0x2d1b25 + "]: " + _0xc5b03f);
}
} catch (_0x4998c4) {
console.log(_0x4998c4);
}
}
async ["watchLiveInit"](_0x22b256 = {}) {
try {
let _0x15d470 = Math.floor(Math.random() * 1000) + 1000;
const _0xe5bd8a = {
"period": 1,
"liveId": _0x15d470
},
_0x346d56 = {
"fn": "watchLiveInit",
"method": "post",
"url": "https://xbk.189.cn/xbkapi/lteration/liveTask/index/watchLiveInit",
"json": _0xe5bd8a
};
let {
result: _0x1ba8ea,
statusCode: _0x490ef0
} = await this.request(_0x346d56),
_0xf9de31 = _0x49dfef.get(_0x1ba8ea, "code", -1);
if (_0xf9de31 == 0) await _0x49dfef.wait(15000), await this.watchLive(_0x15d470, _0x1ba8ea?.["data"]);else {
let _0x5ad16a = _0x1ba8ea?.["msg"] || _0x1ba8ea?.["resoultMsg"] || _0x1ba8ea?.["error"] || _0x1ba8ea?.["msg"] || "";
this.log("开始观看直播[" + _0x15d470 + "]失败[" + _0xf9de31 + "]: " + _0x5ad16a);
}
} catch (_0x6620d2) {
console.log(_0x6620d2);
}
}
async ["watchLive"](_0x155ade, _0x2e794f, _0x399361 = {}) {
try {
const _0x46e134 = {
"period": 1,
"liveId": _0x155ade,
"key": _0x2e794f
},
_0x162a9f = {
"fn": "watchLive",
"method": "post",
"url": "https://xbk.189.cn/xbkapi/lteration/liveTask/index/watchLive",
"json": _0x46e134
};
let {
result: _0x58a2c2,
statusCode: _0x28c79a
} = await this.request(_0x162a9f),
_0x43b0ad = _0x49dfef.get(_0x58a2c2, "code", -1);
if (_0x43b0ad == 0) {
this.log("观看直播[" + _0x155ade + "]成功");
await this.watchLiveInit();
} else {
let _0x52c0bd = _0x58a2c2?.["msg"] || _0x58a2c2?.["resoultMsg"] || _0x58a2c2?.["error"] || _0x58a2c2?.["msg"] || "";
this.log("观看直播[" + _0x155ade + "]失败[" + _0x43b0ad + "]: " + _0x52c0bd);
}
} catch (_0x5f06a7) {
console.log(_0x5f06a7);
}
}
async ["watchVideo"](_0x5b78a0, _0x13a484 = {}) {
try {
const _0x16d39d = {
"articleId": _0x5b78a0
},
_0x4228bc = {
"fn": "watchVideo",
"method": "post",
"url": "https://xbk.189.cn/xbkapi/lteration/liveTask/index/watchVideo",
"json": _0x16d39d
};
let {
result: _0x358ce9,
statusCode: _0xf3d4e1
} = await this.request(_0x4228bc),
_0x13d930 = _0x49dfef.get(_0x358ce9, "code", -1);
if (_0x13d930 == 0) this.log("观看短视频[" + _0x5b78a0 + "]成功");else {
let _0x57b36e = _0x358ce9?.["msg"] || _0x358ce9?.["resoultMsg"] || _0x358ce9?.["error"] || _0x358ce9?.["msg"] || "";
this.log("观看短视频[" + _0x5b78a0 + "]失败[" + _0x13d930 + "]: " + _0x57b36e);
}
} catch (_0x5400fa) {
console.log(_0x5400fa);
}
}
async ["like"](_0x24af05, _0x37e6bb = {}) {
try {
const _0x4419b8 = {
"account": this.name,
"liveId": _0x24af05
},
_0x5e1b1e = {
"fn": "like",
"method": "post",
"url": "https://xbk.189.cn/xbkapi/lteration/room/like",
"json": _0x4419b8
};
let {
result: _0x493800,
statusCode: _0x21c267
} = await this.request(_0x5e1b1e),
_0x2ddc71 = _0x49dfef.get(_0x493800, "code", -1);
if (_0x2ddc71 == 0) this.log("点赞直播间[" + _0x24af05 + "]成功");else {
let _0x1eef7d = _0x493800?.["msg"] || _0x493800?.["resoultMsg"] || _0x493800?.["error"] || _0x493800?.["msg"] || "";
this.log("点赞直播间[" + _0x24af05 + "]失败[" + _0x2ddc71 + "]: " + _0x1eef7d);
}
} catch (_0x5b3a48) {
console.log(_0x5b3a48);
}
}
async ["sharingGetGold"](_0x5b88d2 = {}) {
try {
let _0x5efb18 = {
"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: _0x3911dc,
statusCode: _0x5894d4
} = await this.request(_0x5efb18),
_0x56e72a = _0x49dfef.get(_0x3911dc?.["responseData"], "resultCode", -1);
if (_0x56e72a == "0000") {
this.log("分享成功");
} else {
let _0x1cfb22 = _0x3911dc?.["msg"] || _0x3911dc?.["responseData"]?.["resultDesc"] || _0x3911dc?.["error"] || _0x3911dc?.["msg"] || "";
this.log("分享失败[" + _0x56e72a + "]: " + _0x1cfb22);
}
} catch (_0x57f70b) {
console.log(_0x57f70b);
}
}
async ["month_jml_preCost"](_0x21101d = {}) {
try {
let _0xb8a79a = {
"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"
}
},
{
result: _0x1b00d0,
statusCode: _0x13073b
} = await this.request(_0xb8a79a),
_0x2d7a53 = _0x49dfef.get(_0x1b00d0, "resoultCode", _0x13073b);
if (_0x2d7a53 == 0) {
let _0x3be2d8 = _0x1b00d0?.["data"]?.["resoultMsg"] || "领取成功";
this.jml_tokenFlag = _0x1b00d0?.["resoultMsg"];
await this.month_jml_userCost(_0x3be2d8);
await this.month_jml_receive();
await this.month_jml_getCount();
await this.month_jml_refresh();
} else {
let _0x34c304 = _0x1b00d0?.["msg"] || _0x1b00d0?.["resoultMsg"] || _0x1b00d0?.["error"] || "";
this.log("每月见面礼登录失败[" + _0x2d7a53 + "]: " + _0x34c304);
}
} catch (_0x1b3d4d) {
console.log(_0x1b3d4d);
}
}
async ["month_jml_userCost"](_0x59f0bf, _0x2f9995 = {}) {
try {
let _0x4ca9e8 = {
"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
}
},
{
result: _0x3cae5c,
statusCode: _0x334c8f
} = await this.request(_0x4ca9e8),
_0x2cfba7 = _0x49dfef.get(_0x3cae5c, "resoultCode", _0x334c8f);
if (_0x2cfba7 == 0) {
let _0x5e2568 = _0x3cae5c?.["data"]?.["map"](_0x37bca0 => "[" + _0x37bca0.pizeName + "]") || [];
this.log("见面礼" + _0x59f0bf + ": " + _0x5e2568.join(", "));
} else {
let _0x1303e7 = _0x3cae5c?.["msg"] || _0x3cae5c?.["resoultMsg"] || _0x3cae5c?.["error"] || "";
this.log("领取每月见面礼失败[" + _0x2cfba7 + "]: " + _0x1303e7);
}
} catch (_0x4eb69a) {
console.log(_0x4eb69a);
}
}
async ["month_jml_receive"](_0x1fe02e = {}) {
try {
const _0x36d622 = {
"phone": this.name,
"flag": this.jml_tokenFlag
};
let _0x88d2e0 = {
"fn": "month_jml_receive",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/lottery/receive",
"json": {
"para": this.encrypt_para(_0x36d622)
}
},
{
result: _0x4fae3b,
statusCode: _0xb82bff
} = await this.request(_0x88d2e0),
_0x1cee42 = _0x49dfef.get(_0x4fae3b, "code", -1);
if (_0x1cee42 == 0) {
this.log("领取APP抽奖次数成功");
} else {
let _0x54358e = _0x4fae3b?.["msg"] || _0x4fae3b?.["resoultMsg"] || _0x4fae3b?.["error"] || "";
this.log("领取APP抽奖次数失败[" + _0x1cee42 + "]: " + _0x54358e);
}
} catch (_0x4c334f) {
console.log(_0x4c334f);
}
}
async ["month_jml_getCount"](_0x27f558 = {}) {
try {
const _0x34c369 = {
"phone": this.name,
"flag": this.jml_tokenFlag
};
let _0x5e4bbc = {
"fn": "month_jml_getCount",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/lottery/getCount",
"json": {
"para": this.encrypt_para(_0x34c369)
}
},
{
result: _0xe0e8f,
statusCode: _0xad206a
} = await this.request(_0x5e4bbc),
_0x4c6abd = _0x49dfef.get(_0xe0e8f, "code", -1);
if (_0x4c6abd == 0) {
let _0x50379e = _0xe0e8f?.["video"]?.["map"](_0x58c3db => _0x58c3db.videoType) || [],
_0x44c075 = _0x131d2d.filter(_0x26acb3 => !_0x50379e.includes(_0x26acb3)),
_0x1b9205 = false;
for (let _0x296e2f of _0x44c075) {
if (_0x1b9205) {
let _0x207ec8 = Math.floor(Math.random() * 5000) + 3000;
await _0x49dfef.wait(_0x207ec8);
}
await this.month_jml_addVideoCount(_0x296e2f);
_0x1b9205 = true;
}
} else {
let _0x339250 = _0xe0e8f?.["msg"] || _0xe0e8f?.["resoultMsg"] || _0xe0e8f?.["error"] || "";
this.log("查询看视频得抽奖机会次数失败[" + _0x4c6abd + "]: " + _0x339250);
}
} catch (_0x429f08) {
console.log(_0x429f08);
}
}
async ["month_jml_addVideoCount"](_0x2dbf41, _0x50f9ff = {}) {
try {
const _0x14d272 = {
"phone": this.name,
"videoType": _0x2dbf41,
"flag": this.jml_tokenFlag
};
let _0x48ffb2 = {
"fn": "month_jml_addVideoCount",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/lottery/addVideoCount",
"json": {
"para": this.encrypt_para(_0x14d272)
}
},
{
result: _0xd70cc8,
statusCode: _0x362431
} = await this.request(_0x48ffb2),
_0x10cd4b = _0x49dfef.get(_0xd70cc8, "code", -1);
if (_0x10cd4b == 0) {
this.log("看视频[" + _0x2dbf41 + "]得抽奖机会成功");
} else {
let _0x201f3c = _0xd70cc8?.["msg"] || _0xd70cc8?.["resoultMsg"] || _0xd70cc8?.["error"] || "";
this.log("看视频[" + _0x2dbf41 + "]得抽奖机会失败[" + _0x10cd4b + "]: " + _0x201f3c);
}
} catch (_0x1a85d3) {
console.log(_0x1a85d3);
}
}
async ["month_jml_refresh"](_0xa658a6 = {}) {
try {
const _0x459312 = {
"phone": this.name,
"flag": this.jml_tokenFlag
};
let _0x115aa8 = {
"fn": "month_jml_refresh",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/lottery/refresh",
"json": {
"para": this.encrypt_para(_0x459312)
}
},
{
result: _0x58905d,
statusCode: _0x3bcd41
} = await this.request(_0x115aa8),
_0x18811b = _0x49dfef.get(_0x58905d, "code", -1);
if (_0x18811b == -1) {
let _0x5aa123 = _0x58905d?.["rNumber"] || 0;
this.log("可以抽奖" + _0x5aa123 + "次");
let _0xbde451 = false;
while (_0x5aa123-- > 0) {
if (_0xbde451) {
let _0x2f5373 = Math.floor(Math.random() * 5000) + 3000;
await _0x49dfef.wait(_0x2f5373);
}
await this.month_jml_lotteryRevice();
_0xbde451 = true;
}
} else {
let _0x45301f = _0x58905d?.["msg"] || _0x58905d?.["resoultMsg"] || _0x58905d?.["error"] || "";
this.log("查询抽奖次数失败[" + _0x18811b + "]: " + _0x45301f);
}
} catch (_0x120aad) {
console.log(_0x120aad);
}
}
async ["month_jml_lotteryRevice"](_0x498793 = {}) {
try {
const _0x2b7e54 = {
"phone": this.name,
"flag": this.jml_tokenFlag
};
let _0x3ca896 = {
"fn": "month_jml_lotteryRevice",
"method": "post",
"url": "https://wapside.189.cn:9001/jt-sign/lottery/lotteryRevice",
"json": {
"para": this.encrypt_para(_0x2b7e54)
}
},
{
result: _0x17e63d,
statusCode: _0x47228a
} = await this.request(_0x3ca896),
_0x1292b5 = _0x49dfef.get(_0x17e63d, "code", -1);
if (_0x1292b5 == 0) {
let {
rname: _0x3d7d54,
id: _0x2b3b0f
} = _0x17e63d;
const _0x2cd200 = {
"notify": true
};
this.log("每月见面礼抽奖: " + _0x3d7d54, _0x2cd200);
} else {
let _0x4e7de6 = _0x17e63d?.["msg"] || _0x17e63d?.["resoultMsg"] || _0x17e63d?.["error"] || "";
this.log("每月见面礼抽奖失败[" + _0x1292b5 + "]: " + _0x4e7de6);
}
} catch (_0x355689) {
console.log(_0x355689);
}
}
async ["rpc_request"](_0x55b8f9, _0x4b0e9c = "get", _0x2b5ff1 = null) {
const _0x2e4617 = new Error(),
_0x1b1e2d = _0x2e4617.stack,
_0x1eb1c3 = _0x1b1e2d.split("\n"),
_0x35b07b = _0x1eb1c3?.[2]?.["match"](/UserClass\.(\w+)/)?.[1] || "rpc";
let _0x190868 = {
"fn": _0x35b07b,
"method": "post",
"url": _0x16d3ea,
"json": {
"key": _0x344953,
"method": _0x4b0e9c,
"url": _0x55b8f9.toString(),
"headers": this.get_mall_headers(),
"data": JSON.stringify(_0x2b5ff1)
}
};
return await this.request(_0x190868);
}
async ["auth_login"](_0x1fed7f = {}) {
let _0xafb0c3 = false;
try {
let _0x1b2d26 = this.ticket,
_0x2bff70 = new URL("https://wapact.189.cn:9001/unified/user/login"),
_0x434a75 = {
"ticket": _0x1b2d26,
"backUrl": encodeURIComponent("https://wapact.189.cn:9001/JinDouMall/JinDouMall_luckDraw.html?ticket=" + _0x1b2d26),
"platformCode": "P201010301",
"loginType": 2
},
{
result: _0x557820,
statusCode: _0x57323f
} = await this.rpc_request(_0x2bff70, "POST", _0x434a75),
_0x5330c5 = _0x49dfef.get(_0x557820, "code", _0x57323f);
if (_0x5330c5 == 0) {
let {
token: _0x476882,
sessionId: _0x17ce63
} = _0x557820?.["biz"];
this.mall_token = _0x476882;
_0xafb0c3 = true;
} else {
let _0x1c5e02 = _0x49dfef.get(_0x557820, "message", "");
this.log("商城登录失败[" + _0x5330c5 + "]: " + _0x1c5e02);
}
} catch (_0x26e08c) {
console.log(_0x26e08c);
} finally {
return _0xafb0c3;
}
}
async ["queryInfo"](_0x5b2776 = {}) {
try {
let _0x1b75d6 = new URL("https://wapact.189.cn:9001/gateway/golden/api/queryInfo");
_0x1b75d6.searchParams.append("_", Date.now().toString());
let {
result: _0x216d65,
statusCode: _0x12037e
} = await this.rpc_request(_0x1b75d6),
_0x40fdcc = _0x49dfef.get(_0x216d65, "code", _0x12037e);
if (_0x40fdcc == 0) this.coin = _0x216d65?.["biz"]?.["amountTotal"] || this.coin, await this.queryTurnTable();else {
let _0x1ea57d = _0x49dfef.get(_0x216d65, "message", "");
this.log("查询商城状态失败[" + _0x40fdcc + "]: " + _0x1ea57d);
}
} catch (_0x1b8d51) {
console.log(_0x1b8d51);
}
}
async ["queryTurnTable"](_0x50146b = {}) {
try {
let _0x720fcb = new URL("https://wapact.189.cn:9001/gateway/golden/api/queryTurnTable");
_0x720fcb.searchParams.append("userType", "1");
_0x720fcb.searchParams.append("_", Date.now().toString());
let {
result: _0x1cb020,
statusCode: _0x927ab0
} = await this.rpc_request(_0x720fcb),
_0x229fb9 = _0x49dfef.get(_0x1cb020, "code", _0x927ab0);
if (_0x229fb9 == 0) {
let _0x1d2636 = _0x1cb020?.["biz"]?.["xiaoHaoCount"] || 20,
_0x35f0bf = _0x1cb020?.["biz"]?.["wzTurntable"]?.["code"] || "";
_0x35f0bf ? await this.lottery_check(_0x35f0bf, _0x1d2636) : this.log("没有获取到转盘抽奖ID");
} else {
let _0x2eff62 = _0x49dfef.get(_0x1cb020, "message", "");
this.log("获取转盘抽奖活动失败[" + _0x229fb9 + "]: " + _0x2eff62);
}
} catch (_0x28d0fc) {
console.log(_0x28d0fc);
}
}
async ["lottery_check"](_0xa07018, _0x2e3b05, _0xcb5cc3 = {}) {
try {
let _0x14c381 = new URL("https://wapact.189.cn:9001/gateway/stand/detail/check");
_0x14c381.searchParams.append("activityId", _0xa07018);
_0x14c381.searchParams.append("_", Date.now().toString());
let {
result: _0x550887,
statusCode: _0x3d5554
} = await this.rpc_request(_0x14c381),
_0x345ab0 = _0x49dfef.get(_0x550887, "code", _0x3d5554);
if (_0x345ab0 == 0) {
let _0x565cdb = _0x550887?.["biz"]?.["resultInfo"]?.["chanceCount"] || 0;
this.log("转盘可以抽奖" + _0x565cdb + "次, 消耗金豆" + _0x2e3b05 + "/" + this.coin);
let _0x41bc66 = false;
while (_0x565cdb-- > 0 && this.coin >= _0x2e3b05) {
_0x41bc66 && (await _0x49dfef.wait(3000));
_0x41bc66 = true;
await this.lottery_do(_0xa07018, _0x2e3b05);
}
} else {
let _0x2f37b1 = _0x49dfef.get(_0x550887, "message", "");
this.log("查询转盘抽奖次数失败[" + _0x345ab0 + "]: " + _0x2f37b1);
}
} catch (_0x2d4580) {
console.log(_0x2d4580);
}
}
async ["lottery_do"](_0x13b178, _0x33c8a8 = {}) {
try {
let _0x428f3d = new URL("https://wapact.189.cn:9001/gateway/golden/api/lottery");
const _0x11aef8 = {
"activityId": _0x13b178
};
let {
result: _0x4584cc,
statusCode: _0x239bc9
} = await this.rpc_request(_0x428f3d, "POST", _0x11aef8),
_0x3f8c97 = _0x49dfef.get(_0x4584cc, "code", _0x239bc9);
if (_0x3f8c97 == 0) {
this.coin = _0x4584cc?.["biz"]?.["amountTotal"] || this.coin - xiaoHaoCount;
let _0x2998b5 = _0x4584cc?.["biz"]?.["resultCode"],
_0x57f91f = "";
switch (_0x2998b5) {
case "0":
{
let _0x4b2a9e = _0x4584cc?.["biz"]?.["resultInfo"]?.["winTitle"] || "空气";
const _0x1c2e0e = {
"notify": true
};
this.log("转盘抽奖: " + _0x4b2a9e, _0x1c2e0e);
return;
}
case "412":
{
_0x57f91f = "抽奖次数已达上限";
break;
}
case "413":
case "420":
{
_0x57f91f = "金豆不足";
break;
}
default:
{
this.log(": " + JSON.stringify(_0x4584cc));
_0x57f91f = "未知原因";
break;
}
}
this.log("转盘抽奖失败[" + _0x2998b5 + "]: " + _0x57f91f);
} else {
let _0x307168 = _0x49dfef.get(_0x4584cc, "message", "");
this.log("转盘抽奖错误[" + _0x3f8c97 + "]: " + _0x307168);
}
} catch (_0x298342) {
console.log(_0x298342);
}
}
async ["userTask"]() {
const _0x415202 = {
"notify": true
};
_0x49dfef.log("\n======= 账号[" + this.index + "][" + this.name + "] =======", _0x415202);
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();
_0x16d3ea && (await this.userLotteryTask());
await this.userCoinInfo(true);
}
async ["userLotteryTask"]() {
if (!(await this.auth_login())) return;
await this.queryInfo();
}
}
!(async () => {
_0x49dfef.read_env(_0x3f433d);
_0xa0ff1b();
for (let _0x414b26 of _0x49dfef.userList) {
await _0x414b26.userTask();
}
})().catch(_0x854f1e => _0x49dfef.log(_0x854f1e)).finally(() => _0x49dfef.exitNow());
async function _0x1a2249(_0x505470 = 0) {
let _0x3ad891 = false;
try {
const _0x436527 = {
"fn": "auth",
"method": "get",
"url": _0x100b57,
"timeout": 20000
};
let {
statusCode: _0x22aed6,
result: _0x383274
} = await _0x3b1630.request(_0x436527);
if (_0x22aed6 != 200) return _0x505470++ < _0x3c685e && (_0x3ad891 = await _0x1a2249(_0x505470)), _0x3ad891;
if (_0x383274?.["code"] == 0) {
_0x383274 = JSON.parse(_0x383274.data.file.data);
if (_0x383274?.["commonNotify"] && _0x383274.commonNotify.length > 0) {
const _0x35029e = {
"notify": true
};
_0x49dfef.log(_0x383274.commonNotify.join("\n") + "\n", _0x35029e);
}
_0x383274?.["commonMsg"] && _0x383274.commonMsg.length > 0 && _0x49dfef.log(_0x383274.commonMsg.join("\n") + "\n");
if (_0x383274[_0x14f289]) {
let _0x4cacff = _0x383274[_0x14f289];
_0x4cacff.status == 0 ? _0xf4231c >= _0x4cacff.version ? (_0x3ad891 = true, _0x49dfef.log(_0x4cacff.msg[_0x4cacff.status]), _0x49dfef.log(_0x4cacff.updateMsg), _0x49dfef.log("现在运行的脚本版本是:" + _0xf4231c + ",最新脚本版本:" + _0x4cacff.latestVersion)) : _0x49dfef.log(_0x4cacff.versionMsg) : _0x49dfef.log(_0x4cacff.msg[_0x4cacff.status]);
} else _0x49dfef.log(_0x383274.errorMsg);
} else _0x505470++ < _0x3c685e && (_0x3ad891 = await _0x1a2249(_0x505470));
} catch (_0x1a136d) {
_0x49dfef.log(_0x1a136d);
} finally {
return _0x3ad891;
}
}
function _0x5370a4(_0x1f7db9) {
return new class {
constructor(_0x1f51b5) {
this.name = _0x1f51b5;
this.startTime = Date.now();
const _0x507166 = {
"time": true
};
this.log("[" + this.name + "]开始运行\n", _0x507166);
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"](_0x567e36, _0x7b8a3b = {}) {
const _0xb3f162 = {
"console": true
};
Object.assign(_0xb3f162, _0x7b8a3b);
if (_0xb3f162.time) {
let _0x129649 = _0xb3f162.fmt || "hh:mm:ss";
_0x567e36 = "[" + this.time(_0x129649) + "]" + _0x567e36;
}
_0xb3f162.notify && this.notifyStr.push(_0x567e36);
_0xb3f162.console && console.log(_0x567e36);
}
["get"](_0x312e83, _0x5b2d51, _0x1896f9 = "") {
let _0x57eb19 = _0x1896f9;
return _0x312e83?.["hasOwnProperty"](_0x5b2d51) && (_0x57eb19 = _0x312e83[_0x5b2d51]), _0x57eb19;
}
["pop"](_0x794644, _0x5a5725, _0x13f65e = "") {
let _0x70d920 = _0x13f65e;
return _0x794644?.["hasOwnProperty"](_0x5a5725) && (_0x70d920 = _0x794644[_0x5a5725], delete _0x794644[_0x5a5725]), _0x70d920;
}
["copy"](_0x2acf1b) {
return Object.assign({}, _0x2acf1b);
}
["read_env"](_0x1830f6) {
let _0xe4a559 = _0x4aec53.map(_0x4d5e0e => process.env[_0x4d5e0e]);
for (let _0x5d7af5 of _0xe4a559.filter(_0x1ed70f => !!_0x1ed70f)) {
for (let _0x118e24 of _0x5d7af5.split(_0x1876a7).filter(_0x2a2463 => !!_0x2a2463)) {
if (this.userList.includes(_0x118e24)) continue;
this.userList.push(new _0x1830f6(_0x118e24));
}
}
this.userCount = this.userList.length;
if (!this.userCount) {
const _0x4726f2 = {
"notify": true
};
return this.log("未找到变量,请检查变量" + _0x4aec53.map(_0x327825 => "[" + _0x327825 + "]").join("或"), _0x4726f2), false;
}
return this.log("共找到" + this.userCount + "个账号"), true;
}
["time"](_0x4bbd9b, _0x27948f = null) {
let _0x32781a = _0x27948f ? new Date(_0x27948f) : new Date(),
_0x1ac37c = {
"M+": _0x32781a.getMonth() + 1,
"d+": _0x32781a.getDate(),
"h+": _0x32781a.getHours(),
"m+": _0x32781a.getMinutes(),
"s+": _0x32781a.getSeconds(),
"q+": Math.floor((_0x32781a.getMonth() + 3) / 3),
"S": this.padStr(_0x32781a.getMilliseconds(), 3)
};
/(y+)/.test(_0x4bbd9b) && (_0x4bbd9b = _0x4bbd9b.replace(RegExp.$1, (_0x32781a.getFullYear() + "").substr(4 - RegExp.$1.length)));
for (let _0x2eb56e in _0x1ac37c) new RegExp("(" + _0x2eb56e + ")").test(_0x4bbd9b) && (_0x4bbd9b = _0x4bbd9b.replace(RegExp.$1, 1 == RegExp.$1.length ? _0x1ac37c[_0x2eb56e] : ("00" + _0x1ac37c[_0x2eb56e]).substr(("" + _0x1ac37c[_0x2eb56e]).length)));
return _0x4bbd9b;
}
async ["showmsg"]() {
if (!this.notifyFlag) return;
if (!this.notifyStr.length) return;
var _0x243e42 = require("./sendNotify");
this.log("\n============== 推送 ==============");
await _0x243e42.sendNotify(this.name, this.notifyStr.join("\n"));
}
["padStr"](_0x673339, _0xa81675, _0x2f4e5f = {}) {
let _0x80b59e = _0x2f4e5f.padding || "0",
_0xf4e49e = _0x2f4e5f.mode || "l",
_0x2f4a48 = String(_0x673339),
_0x6032bd = _0xa81675 > _0x2f4a48.length ? _0xa81675 - _0x2f4a48.length : 0,
_0x37b710 = "";
for (let _0x360ad0 = 0; _0x360ad0 < _0x6032bd; _0x360ad0++) {
_0x37b710 += _0x80b59e;
}
return _0xf4e49e == "r" ? _0x2f4a48 = _0x2f4a48 + _0x37b710 : _0x2f4a48 = _0x37b710 + _0x2f4a48, _0x2f4a48;
}
["json2str"](_0x539dfb, _0x36ffa7, _0x23f214 = false) {
let _0x150241 = [];
for (let _0x4584f4 of Object.keys(_0x539dfb).sort()) {
let _0x190852 = _0x539dfb[_0x4584f4];
if (_0x190852 && _0x23f214) {
_0x190852 = encodeURIComponent(_0x190852);
}
_0x150241.push(_0x4584f4 + "=" + _0x190852);
}
return _0x150241.join(_0x36ffa7);
}
["str2json"](_0x4b5ef6, _0x3c5776 = false) {
let _0x30cbdb = {};
for (let _0x8c21 of _0x4b5ef6.split("&")) {
if (!_0x8c21) continue;
let _0x2ca926 = _0x8c21.indexOf("=");
if (_0x2ca926 == -1) continue;
let _0x2458c5 = _0x8c21.substr(0, _0x2ca926),
_0x246ded = _0x8c21.substr(_0x2ca926 + 1);
_0x3c5776 && (_0x246ded = decodeURIComponent(_0x246ded));
_0x30cbdb[_0x2458c5] = _0x246ded;
}
return _0x30cbdb;
}
["randomPattern"](_0x2b877c, _0xd1024 = "abcdef0123456789") {
let _0x133f94 = "";
for (let _0x26d557 of _0x2b877c) {
_0x26d557 == "x" ? _0x133f94 += _0xd1024.charAt(Math.floor(Math.random() * _0xd1024.length)) : _0x26d557 == "X" ? _0x133f94 += _0xd1024.charAt(Math.floor(Math.random() * _0xd1024.length)).toUpperCase() : _0x133f94 += _0x26d557;
}
return _0x133f94;
}
["randomUuid"]() {
return this.randomPattern("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
}
["randomString"](_0x44a497, _0x2e6578 = "abcdef0123456789") {
let _0x570d69 = "";
for (let _0x23bfd5 = 0; _0x23bfd5 < _0x44a497; _0x23bfd5++) {
_0x570d69 += _0x2e6578.charAt(Math.floor(Math.random() * _0x2e6578.length));
}
return _0x570d69;
}
["randomList"](_0x304d02) {
let _0x48b21b = Math.floor(Math.random() * _0x304d02.length);
return _0x304d02[_0x48b21b];
}
["wait"](_0x2aba64) {
return new Promise(_0x261319 => setTimeout(_0x261319, _0x2aba64));
}
async ["exitNow"]() {
await this.showmsg();
let _0x12d627 = Date.now(),
_0x869a83 = (_0x12d627 - this.startTime) / 1000;
this.log("");
const _0x167e57 = {
"time": true
};
this.log("[" + this.name + "]运行结束,共运行了" + _0x869a83 + "秒", _0x167e57);
process.exit(0);
}
["normalize_time"](_0x504b30, _0x55d294 = {}) {
let _0x57e46f = _0x55d294.len || this.default_timestamp_len;
_0x504b30 = _0x504b30.toString();
let _0x3ec8ce = _0x504b30.length;
while (_0x3ec8ce < _0x57e46f) {
_0x504b30 += "0";
}
return _0x3ec8ce > _0x57e46f && (_0x504b30 = _0x504b30.slice(0, 13)), parseInt(_0x504b30);
}
async ["wait_until"](_0x273c17, _0x8f529c = {}) {
let _0x1ec44d = _0x8f529c.logger || this,
_0xf3338c = _0x8f529c.interval || this.default_wait_interval,
_0x4bdb2a = _0x8f529c.limit || this.default_wait_limit,
_0x220dad = _0x8f529c.ahead || this.default_wait_ahead;
if (typeof _0x273c17 == "string" && _0x273c17.includes(":")) {
if (_0x273c17.includes("-")) _0x273c17 = new Date(_0x273c17).getTime();else {
let _0x38f17a = this.time("yyyy-MM-dd ");
_0x273c17 = new Date(_0x38f17a + _0x273c17).getTime();
}
}
let _0x397c55 = this.normalize_time(_0x273c17) - _0x220dad,
_0x57bf1f = this.time("hh:mm:ss.S", _0x397c55),
_0x6a4035 = Date.now();
_0x6a4035 > _0x397c55 && (_0x397c55 += 86400000);
let _0x60ae2e = _0x397c55 - _0x6a4035;
if (_0x60ae2e > _0x4bdb2a) {
const _0x46b1bf = {
"time": true
};
_0x1ec44d.log("离目标时间[" + _0x57bf1f + "]大于" + _0x4bdb2a / 1000 + "秒,不等待", _0x46b1bf);
} else {
const _0x50f445 = {
"time": true
};
_0x1ec44d.log("离目标时间[" + _0x57bf1f + "]还有" + _0x60ae2e / 1000 + "秒,开始等待", _0x50f445);
while (_0x60ae2e > 0) {
let _0x244b56 = Math.min(_0x60ae2e, _0xf3338c);
await this.wait(_0x244b56);
_0x6a4035 = Date.now();
_0x60ae2e = _0x397c55 - _0x6a4035;
}
const _0x5938fc = {
"time": true
};
_0x1ec44d.log("已完成等待", _0x5938fc);
}
}
async ["wait_gap_interval"](_0x560a3a, _0x4079c7) {
let _0x41c668 = Date.now() - _0x560a3a;
_0x41c668 < _0x4079c7 && (await this.wait(_0x4079c7 - _0x41c668));
}
}(_0x1f7db9);
}