mys/sign/sign.js
2023-08-21 17:48:08 +08:00

96 lines
4.1 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const axios = require('axios');
const qs = require('qs');
const BBS_ID_LIST = [356, 888];
const APP_VERSION = "2.18.0";
const APP_VERSION_CODE = "37";
const HERO_MYS_TOKEN = process.env.HERO_MYS_TOKEN;
const HERO_MYS_KEY = process.env.HERO_MYS_KEY;
const HERO_MYS_DEVCODE = process.env.HERO_MYS_DEVCODE;
const HERO_MYS_RV = process.env.HERO_MYS_RV;
function checkParams(token, key, devcode, rv) {
if (!token || !key || !devcode || !rv) {
console.log('未设置HERO_MYS_TOKNE、HERO_MYS_KEY、HERO_MYS_RV或HERO_MYS_DEVCODE环境变量多个使用#分割');
process.exit(1); // 1 表示退出程序,可以使用其他值表示不同的退出状态
}
}
async function sign() {
checkParams(HERO_MYS_TOKEN, HERO_MYS_KEY, HERO_MYS_DEVCODE, HERO_MYS_RV);
let tokens = HERO_MYS_TOKEN.split('#');
let keys = HERO_MYS_KEY.split('#');
let devcodes = HERO_MYS_DEVCODE.split('#');
let rvs = HERO_MYS_RV.split('#');
if (tokens.length !== keys.length || tokens.length !== devcodes.length || tokens.length !== rvs.length) {
console.log('HERO_MYS_TOKNE、HERO_MYS_KEY、HERO_MYS_DEVCODE或HERO_MYS_RV设置错误数量不一致');
process.exit(1);
}
// 多账号执行签到
for (let i = 0; i < tokens.length; i++) {
try {
let token = tokens[i];
let key = keys[i];
let devcode = devcodes[i];
let rv = rvs[i];
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://herobox.yingxiong.com:25362/user/mine',
headers: {
'Host': 'herobox.yingxiong.com:25362',
'log-header': 'I am the log request header.',
'countrycode': 'CN',
'devcode': devcode,
'ip': '192.168.0.107',
'key': key,
'lang': 'zh-Hans',
'model': 'RMX1991',
'osversion': 'Android',
'rv': rv,
'source': 'android',
'token': token,
'version': APP_VERSION,
'versioncode': APP_VERSION_CODE,
'content-type': 'application/x-www-form-urlencoded',
'content-length': '10',
'accept-encoding': 'gzip',
'user-agent': 'okhttp/3.10.0'
},
data: "https://herobox.yingxiong.com/user/mine"
};
let userReq = await axios.request(config);
if (userReq.status !== 200 || userReq.data.code !== 200) {
console.log("获取用户信息失败或账号失效");
continue;
}
let name = userReq.data.data.mine.userName;
let uid = userReq.data.data.mine.userId;
let registerTime = userReq.data.data.mine.registerTime;
let goldNum = userReq.data.data.mine.goldNum;
console.log(`账号:${name},摸鱼币:${goldNum}(UID:${uid},注册时间:${registerTime})`);
for (let bbsId of BBS_ID_LIST) {
config['url'] = 'https://herobox.yingxiong.com:25362/user/signIn';
config['data'] = qs.stringify({
'gameId': bbsId
});
let response = await axios.request(config);
if (response.status === 200 && response.data.code === 200) {
let continuitySignInDay = response.data.data.continuitySignInDay;
let totalSignInDay = response.data.data.totalSignInDay;
console.log(`BBS_ID:${bbsId}签到成功,连续签到${continuitySignInDay},累计签到${totalSignInDay}`)
} else if (response.data.code === 10000) {
console.log(`BBS_ID:${bbsId},${response.data.msg}`);
} else {
console.log(`BBS_ID:${bbsId},签到失败`);
}
}
} catch (e) {
console.log(e.message);
}
}
}
sign().then(r => console.log("Running..."));