Continue seeded Qinglong script collection

This commit is contained in:
Hermes Agent
2026-05-24 05:33:05 +00:00
parent ca1a4275e4
commit b082da3fe1
392 changed files with 131619 additions and 7 deletions

View File

@@ -0,0 +1,211 @@
// # Source: https://github.com/sudojia/AutoTaskScript/blob/script/src/wx_mini/sudojia_kukahome.js
// # Raw: https://raw.githubusercontent.com/sudojia/AutoTaskScript/script/src/wx_mini/sudojia_kukahome.js
// # Repo: sudojia/AutoTaskScript
// # Path: src/wx_mini/sudojia_kukahome.js
// # UploadedAt: 2025-04-28T19:26:13+08:00
// # SHA256: ed2a4846dfb23a405728b0edcb14e6949605954fe27ef5bcfa553280517808f9
// # Category: 微信小程序/抓包版
// # Evidence: appid/openid/session_key/encryptedData等小程序字段
//
/**
* #小程序://顾家会员/DUUpEeo0zF2Gw8k
*
* 抓包 Hosthttps://mc.kukahome.com 获取请求头 AccessToken 和 X-Customer
* export GU_HOME_TOKEN = 'AccessToken#X-Customer'
* 多账号用 & 或换行
*
* @author Telegram@sudojia
* @site https://blog.imzjw.cn
* @date 2024/12/3
* @lastModifyTime 2024/12/27
*
* const $ = new Env('顾家家居')
* cron: 5 10 * * *
*/
const initScript = require('../utils/initScript')
const {$, notify, sudojia, checkUpdate} = initScript('顾家家居');
const kukaList = process.env.GU_HOME_TOKEN ? process.env.GU_HOME_TOKEN.split(/[\n&]/) : [];
// 消息推送
let message = '';
const appId = '667516';
const appSecret = 'FH3yRrHG2RfexND8';
// 接口地址
const baseUrl = 'https://mc.kukahome.com'
let headers = {
"user-agent": sudojia.getRandomUserAgent(),
'Content-Type': 'application/json',
'brandCode': 'K001',
'appid': '667516',
'Referer': 'https://servicewechat.com/wx0770280d160f09fe/214/page-frame.html',
'Accept-Language': 'zh-CN,zh;q=0.9',
};
!(async () => {
await checkUpdate($.name, kukaList);
console.log(`\n已随机分配 User-Agent\n\n${headers['user-agent'] || headers['User-Agent']}`);
for (let i = 0; i < kukaList.length; i++) {
const index = i + 1;
const [aToken, xCustomer] = kukaList[i].split('#');
// 添加请求头
headers.AccessToken = aToken;
headers['X-Customer'] = xCustomer;
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(1e3, 2e3));
await sign();
await $.wait(sudojia.getRandomWait(1e3, 2e3));
await getArticleList();
await $.wait(sudojia.getRandomWait(1e3, 2e3));
await getScore();
}
async function getUserInfo() {
try {
const data = await sendSignRequest(`/club-server/api/user/info`, 'post');
const nickName = data.data.nickName || '简朴寨';
const mobile = data.data.mobile || '18888888888';
console.log(`${nickName}(${mobile})`);
message += `${nickName}(${mobile})\n`;
} catch (e) {
console.error(`获取用户信息时发生异常:${e}`);
}
}
async function sign() {
try {
const data = await sendSignRequest('/integral-server/scenePoint/scene/point', 'post', {
"scene": "sign",
"brandCode": "K001"
});
console.log(`签到成功,积分+${data.data}`);
message += `签到成功,积分+${data.data}\n`;
} catch (e) {
console.error(`签到时发生异常:${e}`);
}
}
async function getArticleList() {
try {
const data = await sendSignRequest(`/club-server/applet/waterfall/newWaterfall`, 'post', {
pageNum: 1,
pageSize: 30,
source: 1
});
const article = data.data[Math.floor(Math.random() * data.data.length)];
const {id, title} = article;
console.log(`开始点赞【${title}`);
await $.wait(sudojia.getRandomWait(1e3, 2e3));
await likePost(id);
await $.wait(sudojia.getRandomWait(1e3, 2e3));
await collectPost(id);
await $.wait(sudojia.getRandomWait(1e3, 2e3));
await sharePost(id);
} catch (e) {
console.error(`获取文章时发生异常:${e}`);
}
}
async function likePost(postId) {
try {
const body = {id: postId};
await sendSignRequest(`/club-server/front/postOrder/like`, 'post', body);
await sendSignRequest(`/club-server/front/member/likeSendPoint`, 'post', {
postOrderId: postId,
triggerType: 1,
content: "点赞"
});
console.log('点赞成功~');
await $.wait(sudojia.getRandomWait(2e3, 3e3));
console.log('开始取消点赞');
await sendSignRequest(`/club-server/front/postOrder/like`, 'post', body);
console.log('取消点赞成功~');
} catch (e) {
console.error(`点赞时发生异常:${e}`);
}
}
async function collectPost(postId) {
try {
const body = {id: postId};
await sendSignRequest(`/club-server/front/postOrder/collect`, 'post', body);
await sendSignRequest(`/club-server/front/member/likeSendPoint`, 'post', {
postOrderId: postId,
triggerType: 2,
content: "收藏"
});
console.log('收藏文章成功`');
await $.wait(sudojia.getRandomWait(2e3, 3e3));
console.log('开始取消收藏');
await sendSignRequest(`/club-server/front/postOrder/collect`, 'post', body);
console.log('取消收藏成功~');
} catch (e) {
console.error(`收藏时发生异常:${e}`);
}
}
async function sharePost(postId) {
try {
await sendSignRequest(`/club-server/front/postOrder/share`, 'post', {id: postId});
console.log('分享成功~');
await $.wait(sudojia.getRandomWait(500, 800));
await sendSignRequest(`/club-server/front/member/likeSendPoint`, 'post', {
postOrderId: postId,
triggerType: 3,
content: "微信好友转发",
forwardType: 2
});
} catch (e) {
console.error(`分享时发生异常:${e}`);
}
}
async function getScore() {
try {
const data = await sendSignRequest(`/club-server/front/member/userCenterScore`, 'get');
console.log(`已连续签到${data.data.signCount}`);
console.log(`当前积分:${data.data.point}`);
message += `已连续签到${data.data.signCount}\n`;
message += `当前积分:${data.data.point}\n\n`;
} catch (e) {
console.error(`获取积分时发生异常:${e}`);
}
}
async function sendSignRequest(url, method, body) {
headers.sign = genSign();
if (body) {
headers.parameterSign = genSign(body);
}
const data = await sudojia.sendRequest(`${baseUrl}${url}`, method, headers, body);
if (0 !== data.code) {
throw new Error(`请求 ${url} 失败:${data.message}\n`);
}
return data;
}
function genSign(body) {
const ts = new Date().getTime();
headers.timestamp = ts;
if (body) {
return sudojia.md5(sudojia.md5(processBody(body)) + String(ts).substring(4, 10));
} else {
return sudojia.md5(appId + appSecret + ts).toLowerCase();
}
}
function processBody(data) {
return Object.keys(data).sort((a, b) => a.localeCompare(b)).map(key => {
const value = data[key];
return [key, typeof value === 'object' || Array.isArray(value) ? JSON.stringify(value) : value];
}).filter(pair => pair !== null).map(([key, value]) => `${key}=${value}`).join('&');
}