Files
qinglong/脚本库/微信小程序/抓包版/特步会员中心/2025-04-28_sudojia_tebu_ec94d58d.js
2026-05-24 05:33:05 +00:00

158 lines
5.2 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.
// # Source: https://github.com/sudojia/AutoTaskScript/blob/script/src/wx_mini/sudojia_tebu.js
// # Raw: https://raw.githubusercontent.com/sudojia/AutoTaskScript/script/src/wx_mini/sudojia_tebu.js
// # Repo: sudojia/AutoTaskScript
// # Path: src/wx_mini/sudojia_tebu.js
// # UploadedAt: 2025-04-28T19:26:13+08:00
// # SHA256: ec94d58d647e7020b4f5f0029f6372c4841caf77fcbf31492f45bde577052371
// # Category: 微信小程序/抓包版
// # Evidence: appid/openid/session_key/encryptedData等小程序字段
//
/**
* 特步会员中心小程序
*
* 抓包 URLhttps://mall-mobile-v6.vecrp.com 获取请求头 token
* export TEBU_TOKEN = 'eyJhxxxxxxxxxxxxxxxx'
* 多账号用 & 或换行
*
* @author Telegram@sudojia
* @site https://blog.imzjw.cn
* @date 2024/07/20
* @lastModifyTime: 2024/11/2
*
* const $ = new Env('特步会员中心')
* cron: 26 10 * * *
*/
const initScript = require('../utils/initScript')
const moment = require("moment");
const {$, notify, sudojia, checkUpdate} = initScript('特步会员中心');
const tbList = process.env.TEBU_TOKEN ? process.env.TEBU_TOKEN.split(/[\n&]/) : [];
let message = '';
// 接口地址
const baseUrl = 'https://mall-mobile-v6.vecrp.com'
// 店铺ID
const shopId = '100656040';
// 活动ID
let activityId;
// 请求头
const headers = {
"user-agent": sudojia.getRandomUserAgent(),
'ts': Date.now(),
'Content-Type': 'application/json;charset=UTF-8',
'appid': 'wx12e1cb3b09a0e6f0',
'Referer': 'https://servicewechat.com/wx12e1cb3b09a0e6f0/132/page-frame.html',
'Accept-Language': 'zh-CN,zh;q=0.9'
};
!(async () => {
await checkUpdate($.name, tbList);
console.log(`\n已随机分配 User-Agent\n\n${headers['user-agent'] || headers['User-Agent']}`);
for (let i = 0; i < tbList.length; i++) {
const index = i + 1;
headers.token = tbList[i];
console.log(`\n*****第[${index}]个${$.name}账号*****`);
message += `📣====${$.name}账号[${index}]====📣\n`;
await main();
await $.wait(sudojia.getRandomWait(2000, 2500));
}
if (message) {
await notify.sendNotify(`${$.name}`, `${message}`);
}
})().catch((e) => $.logErr(e)).finally(() => $.done());
async function main() {
await getUserInfo();
await $.wait(sudojia.getRandomWait(1200, 2000));
await getActivityId();
await $.wait(sudojia.getRandomWait(1200, 2000));
await sign();
await $.wait(sudojia.getRandomWait(1200, 2000));
await getMyBonusLogs();
}
/**
* 获取用户信息
*
* @return {Promise<void>}
*/
async function getUserInfo() {
try {
const data = await sudojia.sendRequest(`${baseUrl}/mobile/customer/initMy?shopId=${shopId}`, 'get', headers);
if (!data.success) {
return console.error(data.msg);
}
const info = data.result.customer;
const hiddenMobile = `${info.mobile.slice(0, 3)}***${info.mobile.slice(-3)}`;
console.log(`${info.customerName}(${hiddenMobile})`);
message += `${info.customerName}(${info.mobile})\n`;
} catch (e) {
console.error(`获取用户信息时发生异常:${e}`);
}
}
/**
* 获取活动ID
*
* @returns {Promise<void>}
*/
async function getActivityId() {
try {
const data = await sudojia.sendRequest(`${baseUrl}/mobile/customer/queryMobilePersonCenterTemplateByShopId?shopId=${shopId}`, 'get', headers);
if (!data.success) {
return console.error(data.msg);
}
const component = data.result.views.find(item => item.componentId === 'WHXG8614883');
if (!component) {
return console.warn('未找到 componentId 为 WHXG8614883');
}
const getActivityId = component.defaultConfig.img.find(img => img.link && img.link.path === '/pages/ehd/activities/signIn/index');
if (!getActivityId) {
return console.warn('未找到 activityId');
}
activityId = getActivityId.link.id;
console.log(`activityId 已更新:${activityId}`);
} catch (e) {
console.error(`获取活动ID时发生异常${e}`);
}
}
/**
* 签到
*
* @return {Promise<void>}
*/
async function sign() {
try {
const data = await sudojia.sendRequest(`${baseUrl}/mobile/activity/sign/sign`, 'post', headers, {
"shopId": shopId,
"activityId": activityId,
"signDate": moment().format('YYYY-MM-DD')
});
if (!data.success) {
return console.error(data.msg);
}
console.log(`签到成功,积分+${data.result.integral}`);
message += `签到成功,积分+${data.result.integral}\n`;
} catch (e) {
console.error(`签到时发生异常:${e}`);
}
}
/**
* 获取积分详细
*
* @return {Promise<void>}
*/
async function getMyBonusLogs() {
try {
const data = await sudojia.sendRequest(`${baseUrl}/mobile/customer/getMyAllPoint?shopId=${shopId}`, 'get', headers);
if (!data.success) {
return console.error(data.msg);
}
console.log(`当前积分:${data.result[0].score}`);
message += `当前积分:${data.result[0].score}\n\n`;
} catch (e) {
console.error(`获取积分时发生异常:${e}`);
}
}