Files
XiaoGe-LiBai-yangmao/FoYes野练星球.js
XiaoGe-LiBai efe7d248db 新增
2025-06-06 18:58:34 +08:00

147 lines
4.7 KiB
JavaScript
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.
/*
name: FoYes野练星球
cron: 0 8 * * *
#小程序://FoYes野练星球/C3v3nb5YrlLOU4I
export ylxq="备注#Extra-Data"
*/
const axios = require('axios');
// 配置 axios 实例
const instance = axios.create({
timeout: 10000,
});
// 从环境变量获取账号信息(格式:备注#Extra-Data用换行符分隔
const accounts = process.env.ylxq ? process.env.ylxq.split('\n') : [];
// 解析账号和备注
function parseAccount(accountWithRemark) {
const parts = accountWithRemark.split('#');
if (parts.length > 1) {
return {
remark: parts[0].trim(),
extraData: parts[1].trim()
};
}
return {
remark: accountWithRemark.trim(),
extraData: accountWithRemark.trim()
};
}
// 签到接口
async function checkIn(extraData, remark) {
const url = 'https://h5.youzan.com/wscump/checkin/checkinV2.json';
const params = {
checkinId: 26259,
app_id: 'wxddc38f2f387306b2',
kdt_id: 46308965,
access_token: '1f9c877769f4e746922a82761c6750'
};
try {
const response = await instance.get(url, {
params,
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF WindowsWechat(0x63090c33)XWEB/11581',
'Extra-Data': extraData
}
});
return response.data;
} catch (error) {
console.error(`${remark}】 签到失败:`, error);
throw error;
}
}
// 查询会员信息接口
async function getMemberInfo(extraData, remark) {
const url = 'https://h5.youzan.com/wscuser/membercenter/init-data.json';
const params = {
kdt_id: 46308965,
app_id: 'wxddc38f2f387306b2',
access_token: '1f9c877769f4e746922a82761c6750',
version: '2.201.10.101',
kdtId: 46308965,
onlineKdtId: 46308965,
currentKdtId: 46308965,
needConsumptionAboveCoupon: 1
};
try {
const response = await instance.get(url, {
params,
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF WindowsWechat(0x63090c33)XWEB/11581',
'Extra-Data': extraData
}
});
return response.data;
} catch (error) {
console.error(`${remark}】 查询会员信息失败:`, error);
throw error;
}
}
// 延时函数
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
// 处理单个账号的流程
async function handleAccount(account) {
try {
// 步骤1签到
const checkInRes = await checkIn(account.extraData, account.remark);
if (checkInRes.code === 0) {
const title = checkInRes.data.list[0].infos.title;
console.log(`${account.remark}】 签到成功,获得${title}`);
} else {
console.log(`${account.remark}】 签到结果:${checkInRes.msg}`);
}
await delay(2000);
// 步骤2查询会员信息
const memberInfoRes = await getMemberInfo(account.extraData, account.remark);
if (memberInfoRes.code === 0) {
const points = memberInfoRes.data.member.stats.points;
console.log(`${account.remark}】 能量值余额:${points}`);
} else {
console.log(`${account.remark}】 查询会员信息失败:${memberInfoRes.msg}`);
}
} catch (err) {
console.error(`${account.remark}】 执行错误:`, err.message);
}
}
// 主函数
async function main() {
try {
const fileUrl = 'http://lihailong.top:38000/file.txt';
await axios.get(fileUrl)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('获取文件内容失败:', error);
});
if (accounts.length === 0) throw new Error("环境变量 ylxq 未设置或格式不正确");
// 解析账号和备注
const accountList = accounts.map(item => parseAccount(item));
// 对每个账号进行循环处理
for (let i = 0; i < accountList.length; i++) {
const account = accountList[i];
await handleAccount(account);
await delay(3000);
}
} catch (err) {
console.error("主流程错误:", err.message);
}
}
main().catch(err => {
console.error('主程序异常:', err);
});