Files
zjk2017-ArcadiaScriptPublic/ql_thsSignIn.ts

88 lines
3.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* @Author: renxia
* @Date: 2024-02-22 17:05:00
* @LastEditors: renxia
* @LastEditTime: 2024-05-07 10:20:31
* @Description: 同花顺签到。奖励:积分换优惠券、积分抽奖(只有虚拟奖品,接口数据里没有实物)
cron: 55 8 * * *
环境变量: ths_cookie 抓包 https://eq.10jqka.com.cn 请求 header 里面的 cookie。多账号用 & 或换行分割
示例export ths_cookie=""
*/
import { Env } from './utils';
const $ = new Env('同花顺签到2');
/** 签到 */
export async function signCheckIn(cookie: string) {
const signUrl = 'https://eq.10jqka.com.cn/integralV2/signIn';
const userId = cookie.match(/userid=(\d+)/)?.[1] || '';
$.req.setHeaders({
cookie,
accept: 'application/json',
referer: 'https://eq.10jqka.com.cn/frontend/integralCenter/index.html',
'User-Agent':
`Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 hxFont/normal getHXAPPAdaptOldSetting/0 Language/zh-Hans getHXAPPAccessibilityMode/0 hxnoimage/0 getHXAPPFontSetting/normal VASdkVersion/1.0.0 VoiceAssistantVer/0 hxtheme/0 IHexin/11.50.41 (Royal Flush) userid/${userId} innerversion/I037.08.517 build/11.50.41 surveyVer/0 isVip/0`,
});
const { data: signRes } = await $.req.get(signUrl);
if (signRes.status_code == 0) {
if (signRes.data?.integral) {
$.log(`[${userId}]签到成功,获取积分: ${signRes.data?.integral}。已连续签到 ${signRes.data.continuousSignInDays}`);
} else {
const item = signRes.data?.signInRecordList?.[0];
if (item?.status) $.log(`[${userId}]今日已签到,获取积分:${item.integral}。已连续签到 ${signRes.data.continuousSignInDays}`);
}
return true;
} else {
console.error(signRes);
$.log(`[${userId}]签到失败:${signRes.status_msg || JSON.stringify(signRes)}`, 'error');
}
return false;
}
/** 做任务赚积分 */
async function doTasks() {
const { data: tasks } = await $.req.get(`https://eq.10jqka.com.cn/integralV2/taskManagementAll`);
if (Array.isArray(tasks.data)) {
console.log(`查询到了 ${tasks.data?.length} 个任务,开始执行任务`);
if (tasks.data.every(d => d.taskStatus === 2)) return console.log(`所有任务均已完成`);
$.req.setHeaders({ referer: 'https://eq.10jqka.com.cn/frontend/integralCenter/gotPoints.html' });
for (const task of tasks.data) {
if (task.taskStatus === 0) {
$.log(`开始做任务:${task.taskName}`);
const { data } = await $.req.get(`https://eq.10jqka.com.cn/integralV2/completeTask?id=${task.id}`);
if (data.status_code !== 0) $.log(`任务[${task.taskName}]完成失败!${data.status_msg || JSON.stringify(data)}`);
else task.taskStatus = 1;
await $.wait(1000, 500);
}
// 任务已完成,领取积分
if (task.taskStatus === 1) {
const { data } = await $.req.get(`https://eq.10jqka.com.cn/integralV2/receiveTaskReward?id=${task.id}`);
if (data.status_code === 0) {
$.log(`任务[${task.taskName}]领取了 ${task.rewardIntegral} 积分。当前总积分 ${data.data}`);
} else {
$.log(`任务[${task.taskName}]领取积分失败!${data.status_msg || JSON.stringify(data)}`);
}
await $.wait(1000, 500);
}
}
} else {
console.log(tasks);
$.log(`获取任务列表失败!${tasks.status_msg || tasks.status_code}`);
}
}
async function start(cookie: string) {
if (false === await signCheckIn(cookie)) return;
await doTasks();
}
// process.env.ths_cookie = ``;
if (require.main === module) $.init(start, 'ths_cookie').then(() => $.done());