Files
qinglong/脚本库/微信小程序/抓包版/雀巢会员/2025-04-28_sudojia_nestle_86dc1a42.js
2026-05-24 05:33:05 +00:00

123 lines
4.3 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.
// # Source: https://github.com/sudojia/AutoTaskScript/blob/script/src/wx_mini/sudojia_nestle.js
// # Raw: https://raw.githubusercontent.com/sudojia/AutoTaskScript/script/src/wx_mini/sudojia_nestle.js
// # Repo: sudojia/AutoTaskScript
// # Path: src/wx_mini/sudojia_nestle.js
// # UploadedAt: 2025-04-28T19:26:13+08:00
// # SHA256: 86dc1a42e90d023d443758d5634cec776618bb521efbf7a7933facb1257d9b92
// # Category: 微信小程序/抓包版
// # Evidence: appid/openid/session_key/encryptedData等小程序字段
//
/**
* #小程序://雀巢会员/4EpKApLxlhQhsiu
*
* 抓包 Hosthttps://crm.nestlechinese.com 获取请求头 authorization 并且删掉 Bearer
* export NESTLE_TOKEN = 'eyJhbxxxxXXXXxxxxxXXX'
* 多账号用 & 或换行
*
* @author Telegram@sudojia
* @site https://blog.imzjw.cn
* @date 2024/11/27
*
* const $ = new Env('雀巢会员')
* cron: 28 8 * * *
*/
const initScript = require('../utils/initScript')
const {$, notify, sudojia, checkUpdate} = initScript('雀巢会员');
const nestleList = process.env.NESTLE_TOKEN ? process.env.NESTLE_TOKEN.split(/[\n&]/) : [];
let message = '';
// 接口地址
const baseUrl = 'https://crm.nestlechinese.com'
// 请求头
const headers = {
'User-Agent': sudojia.getRandomUserAgent(),
'content-type': 'application/json',
'referer': 'https://servicewechat.com/wxc5db704249c9bb31/353/page-frame.html',
};
!(async () => {
await checkUpdate($.name, nestleList);
console.log(`\n已随机分配 User-Agent\n\n${headers['user-agent'] || headers['User-Agent']}`);
for (let i = 0; i < nestleList.length; i++) {
const index = i + 1;
console.log(`\n*****第[${index}]个${$.name}账号*****`);
headers.authorization = `Bearer ${nestleList[i]}`;
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(1e3, 2e3));
await getTaskList();
await $.wait(sudojia.getRandomWait(1e3, 2e3));
await getUserBalance();
}
/**
* 获取用户信息
*
* @return {Promise<void>}
*/
async function getUserInfo() {
try {
const data = await sudojia.sendRequest(`${baseUrl}/openapi/member/api/User/GetUserInfo`, 'get', headers);
if (200 !== data.errcode) {
return console.error(`获取用户信息失败:${data.errmsg}`);
}
const {nickname, mobile} = data.data;
console.log(`用户:${nickname}(${mobile})`);
message += `用户:${nickname}(${mobile})\n`;
} catch (e) {
console.error(`获取用户信息时发生异常 -> ${e}`);
}
}
async function getTaskList() {
try {
const data = await sudojia.sendRequest(`${baseUrl}/openapi/activityservice/api/task/getlist`, 'post', headers);
if (200 !== data.errcode) {
return console.error(`获取任务列表失败:${data.errmsg}`);
}
for (const task of data.data) {
console.log(`开始【${task.task_title}】任务`)
await doTask(task.task_guid);
await $.wait(sudojia.getRandomWait(2000, 2500));
}
} catch (e) {
console.error(`获取任务列表时发生异常 -> ${e}`);
}
}
async function doTask(task_guid) {
try {
const data = await sudojia.sendRequest(`${baseUrl}/openapi/activityservice/api/task/add`, 'post', headers, {
"task_guid": task_guid
});
if (200 !== data.errcode) {
return console.error(`任务失败 -> ${data.errmsg}\n`);
}
console.log(`完成任务 -> ${data.errmsg}\n`);
} catch (e) {
console.error(`完成任务时发生异常 -> ${e}`);
}
}
async function getUserBalance() {
try {
const data = await sudojia.sendRequest(`${baseUrl}/openapi/pointsservice/api/Points/getuserbalance`, 'post', headers);
if (200 !== data.errcode) {
return console.error(`获取用户积分余额失败:${data.errmsg}`);
}
console.log(`当前巢币:${data.data}`);
message += `当前巢币:${data.data}\n\n`;
} catch (e) {
console.error(`获取用户巢币时发生异常 -> ${e}`);
}
}