mirror of
https://github.com/KingJin-web/zy.git
synced 2025-12-16 23:19:32 +08:00
130 lines
3.6 KiB
JavaScript
130 lines
3.6 KiB
JavaScript
/**
|
||
* 变量名:CLOUD_189
|
||
* 值:手机号#密码,多账号,直接换行或者重新弄一个变量,格式一样。
|
||
* 需要安装的依赖 cloud189-sdk
|
||
* 定时规则
|
||
* 每天早上8点,跟晚上8点签到。
|
||
* cron: 0 0 8,20 * * *
|
||
*/
|
||
const { CloudClient } = require("cloud189-sdk");
|
||
const fs = require('fs'); // 引入文件系统模块,用于写入日志
|
||
|
||
const mask = (s, start, end) => s.split("").fill("*", start, end).join("");
|
||
|
||
const buildTaskResult = (res, result) => {
|
||
const index = result.length;
|
||
if (res.errorCode === "User_Not_Chance") {
|
||
result.push(`第${index}次抽奖失败,次数不足`);
|
||
} else {
|
||
result.push(`第${index}次抽奖成功,抽奖获得${res.prizeName}`);
|
||
}
|
||
};
|
||
|
||
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
||
const message = [];
|
||
// 任务 1.签到 2.天天抽红包 3.自动备份抽红包
|
||
const doTask = async (cloudClient) => {
|
||
const result = [];
|
||
const res1 = await cloudClient.userSign();
|
||
result.push(
|
||
`${res1.isSign? "已经签到过了," : ""}签到获得${res1.netdiskBonus}M空间`
|
||
);
|
||
await delay(5000); // 延迟5秒
|
||
|
||
const res2 = await cloudClient.taskSign();
|
||
buildTaskResult(res2, result);
|
||
|
||
await delay(5000); // 延迟5秒
|
||
const res3 = await cloudClient.taskPhoto();
|
||
buildTaskResult(res3, result);
|
||
|
||
await delay(5000); // 延迟5秒
|
||
const res4 = await cloudClient.taskKJ();
|
||
buildTaskResult(res4, result);
|
||
return result;
|
||
};
|
||
|
||
const doFamilyTask = async (cloudClient) => {
|
||
const { familyInfoResp } = await cloudClient.getFamilyList();
|
||
const result = [];
|
||
if (familyInfoResp) {
|
||
for (let index = 0; index < familyInfoResp.length; index += 1) {
|
||
const { familyId } = familyInfoResp[index];
|
||
const res = await cloudClient.familyUserSign(familyId);
|
||
result.push(
|
||
"家庭任务" +
|
||
`${res.signStatus? "已经签到过了," : ""}签到获得${
|
||
res.bonusSpace
|
||
}M空间`
|
||
);
|
||
}
|
||
}
|
||
return result;
|
||
};
|
||
|
||
// 开始执行程序
|
||
async function main(userName, password) {
|
||
if (userName && password) {
|
||
const userNameInfo = mask(userName, 3, 7);
|
||
try {
|
||
message.push(`账户 ${userNameInfo}开始执行`);
|
||
console.log(`账户 ${userNameInfo}开始执行`);
|
||
const cloudClient = new CloudClient(userName, password);
|
||
await cloudClient.login();
|
||
const result = await doTask(cloudClient);
|
||
result.forEach((r) => console.log(r));
|
||
const familyResult = await doFamilyTask(cloudClient);
|
||
familyResult.forEach((r) => console.log(r));
|
||
|
||
console.log("任务执行完毕");
|
||
const { cloudCapacityInfo, familyCapacityInfo } =
|
||
await cloudClient.getUserSizeInfo();
|
||
let txt =
|
||
`个人:${(
|
||
cloudCapacityInfo.totalSize /
|
||
1024 /
|
||
1024 /
|
||
1024
|
||
).toFixed(2)}G,家庭:${(
|
||
familyCapacityInfo.totalSize /
|
||
1024 /
|
||
1024 /
|
||
1024
|
||
).toFixed(2)}G`;
|
||
|
||
message.push(txt);
|
||
console.log(txt);
|
||
} catch (e) {
|
||
console.error(e);
|
||
if (e.code === "ECONNRESET") {
|
||
throw e;
|
||
}
|
||
} finally {
|
||
message.push(`账户 ${userNameInfo}执行完毕`);
|
||
}
|
||
}
|
||
}
|
||
|
||
(async () => {
|
||
try {
|
||
const c189s = process.env.CLOUD_189;
|
||
if (!c189s) {
|
||
console.log('未获取到天翼云盘 CLOUD_189');
|
||
return;
|
||
}
|
||
let account = c189s.split('\n');
|
||
|
||
|
||
|
||
for (const c189 of account) {
|
||
let date = c189.split('#');
|
||
await main(date[0], date[1]);
|
||
}
|
||
} finally {
|
||
console.log(message.join('\n'));
|
||
// 将消息内容写入日志文件
|
||
const logContent = message.join('\n');
|
||
fs.writeFileSync('天翼云盘签到日志.txt', logContent);
|
||
}
|
||
})();
|