Add bbs sign in.
This commit is contained in:
parent
c769c7966c
commit
686e8accd0
3
README.MD
Normal file
3
README.MD
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# 摸鱼社APP相关
|
||||||
|
## sign 每日签到
|
||||||
|
## summer-restapi 夏日冲浪大作战里数api
|
||||||
95
sign/sign.js
Normal file
95
sign/sign.js
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
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;
|
||||||
|
console.log(`账号:${name}(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..."));
|
||||||
761
package-lock.json → summer-restapi/package-lock.json
generated
761
package-lock.json → summer-restapi/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,6 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^1.4.0",
|
"axios": "^1.4.0",
|
||||||
"express": "^4.18.2",
|
"express": "^4.18.2",
|
||||||
"nedb": "^1.8.0",
|
|
||||||
"nodemon": "^3.0.1",
|
"nodemon": "^3.0.1",
|
||||||
"qs": "^6.11.2"
|
"qs": "^6.11.2"
|
||||||
}
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
# 摸鱼社APP
|
# 夏日冲浪大作战
|
||||||
## 简介
|
## 简介
|
||||||
摸鱼社区夏日冲浪大作战刷里程
|
摸鱼社区夏日冲浪大作战刷里程
|
||||||
## 使用方式
|
## 使用方式
|
||||||
@ -1,25 +1,9 @@
|
|||||||
const express = require("express");
|
const express = require("express");
|
||||||
const axios = require("axios");
|
const axios = require("axios");
|
||||||
const qs = require("qs");
|
const qs = require("qs");
|
||||||
const NeDB = require('nedb')
|
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
const port = 25362;
|
const port = 25362;
|
||||||
const db = new NeDB({
|
|
||||||
filename: './user.db',
|
|
||||||
autoload: true,
|
|
||||||
});
|
|
||||||
const findData = (uid) => {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
db.find({"uid": uid}, (err, columns) => {
|
|
||||||
if (err) {
|
|
||||||
reject(err);
|
|
||||||
} else {
|
|
||||||
resolve(columns);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
app.get('/submit', async (req, res) => {
|
app.get('/submit', async (req, res) => {
|
||||||
try {
|
try {
|
||||||
let uid = req.query.uid;
|
let uid = req.query.uid;
|
||||||
@ -33,26 +17,6 @@ app.get('/submit', async (req, res) => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const currentTimestamp = new Date().getTime(); // 或者使用 Date.now()
|
const currentTimestamp = new Date().getTime(); // 或者使用 Date.now()
|
||||||
|
|
||||||
let existUid = false;
|
|
||||||
let waitTime = 0;
|
|
||||||
// 查询数据是否存在
|
|
||||||
const columns = await findData(uid);
|
|
||||||
let _id;
|
|
||||||
console.log(columns);
|
|
||||||
if (columns && columns.length >= 1) {
|
|
||||||
existUid = true;
|
|
||||||
let column = columns[0];
|
|
||||||
_id = column._id;
|
|
||||||
waitTime = (column.lastTime - currentTimestamp) / 1000;
|
|
||||||
}
|
|
||||||
if (waitTime > 0) {
|
|
||||||
res.status(400).send({
|
|
||||||
code: 401,
|
|
||||||
info: `等待${parseInt(waitTime)}秒后才能继续执行该账号!`
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// console.log("uid => " + uid + ",timestamp => " + currentTimestamp);
|
// console.log("uid => " + uid + ",timestamp => " + currentTimestamp);
|
||||||
let userInfo = {
|
let userInfo = {
|
||||||
"isBack": 0,
|
"isBack": 0,
|
||||||
@ -86,23 +50,6 @@ app.get('/submit', async (req, res) => {
|
|||||||
let response = await axios.post('https://herobox.yingxiong.com:25362/encourage/flappy/calc', data, config);
|
let response = await axios.post('https://herobox.yingxiong.com:25362/encourage/flappy/calc', data, config);
|
||||||
console.log(JSON.stringify(response.data));
|
console.log(JSON.stringify(response.data));
|
||||||
if (response.status === 200 && response.data.code === 200 && response.data.data) {
|
if (response.status === 200 && response.data.code === 200 && response.data.data) {
|
||||||
|
|
||||||
if (!existUid) {
|
|
||||||
db.insert({
|
|
||||||
uid: uid,
|
|
||||||
timestamp: currentTimestamp,
|
|
||||||
lastTime: currentTimestamp + ((mile * 4) * 1000)
|
|
||||||
}, () => console.log("数据已记录"));
|
|
||||||
} else {
|
|
||||||
|
|
||||||
db.update({"_id": _id}, {
|
|
||||||
$set: {
|
|
||||||
timestamp: currentTimestamp,
|
|
||||||
lastTime: (currentTimestamp + ((mile * 4) * 1000))
|
|
||||||
}
|
|
||||||
}, {multi: false}, () => console.log("数据已更新"));
|
|
||||||
}
|
|
||||||
|
|
||||||
res.send({
|
res.send({
|
||||||
code: 200,
|
code: 200,
|
||||||
high: response.data.data.highMile,
|
high: response.data.data.highMile,
|
||||||
Loading…
Reference in New Issue
Block a user