自动执行任务

#195
This commit is contained in:
BTMuli
2026-01-01 20:06:58 +08:00
parent 15e0a60bb6
commit dc33c0a259
4 changed files with 45 additions and 9 deletions

View File

@@ -155,7 +155,7 @@ async function tryRefresh(): Promise<void> {
loadState.value = false;
}
async function tryAuto(): Promise<void> {
async function tryAuto(skip: boolean = false): Promise<void> {
if (loadScript.value) {
showSnackbar.warn("任务正在执行中,请稍后再试");
return;
@@ -177,7 +177,7 @@ async function tryAuto(): Promise<void> {
loadMission.value = false;
return;
}
await autoSign(cookie.value);
await autoSign(cookie.value, skip);
const postFilter = parseMissions.value.filter((i) => i.key !== "continuous_sign");
if (postFilter.every((i) => i.status)) {
await TGLogger.Script("[米游币任务]所有任务已完成");
@@ -297,7 +297,7 @@ async function refreshState(ck: TGApp.App.Account.Cookie): Promise<void> {
await TGLogger.Script("[米游币任务]任务数据合并完成");
}
async function autoSign(ck: TGApp.App.Account.Cookie, ch?: string): Promise<void> {
async function autoSign(ck: TGApp.App.Account.Cookie, skip: boolean, ch?: string): Promise<void> {
const signFind = parseMissions.value.find((i) => i.key === "continuous_sign");
if (!signFind) {
await TGLogger.Script("[米游币任务]未找到打卡任务");
@@ -318,13 +318,17 @@ async function autoSign(ck: TGApp.App.Account.Cookie, ch?: string): Promise<void
showSnackbar.error(`[${resp.retcode}] ${resp.message}`);
return;
}
if (skip) {
await TGLogger.Script("已设置跳过验证,打卡失败");
return;
}
await TGLogger.Script(`[米游币任务]社区签到触发验证码,正在尝试验证`);
const challenge = await miscReq.challenge(ckSign);
if (challenge === false) {
await TGLogger.Script(`[米游币任务]验证失败`);
return;
}
await autoSign(ck, challenge);
await autoSign(ck, skip, challenge);
return;
}
await TGLogger.Script("[米游币任务]打卡成功");

View File

@@ -169,7 +169,7 @@ async function tryRefresh(): Promise<void> {
loadState.value = false;
}
async function tryAuto(): Promise<void> {
async function tryAuto(skip: boolean = false): Promise<void> {
if (loadScript.value) {
showSnackbar.warn("任务正在执行中,请稍后再试");
return;
@@ -199,7 +199,7 @@ async function tryAuto(): Promise<void> {
loadSign.value = false;
return;
}
await trySign(selected, cookie.value);
await trySign(selected, cookie.value, skip);
await refreshState(cookie.value);
await TGLogger.Script("[签到任务]签到任务执行完毕");
await TGLogger.ScriptSep("签到任务", false);
@@ -254,7 +254,11 @@ async function refreshState(ck: TGApp.App.Account.Cookie): Promise<void> {
}
}
async function trySign(ac: Array<SignAccount>, ck: TGApp.App.Account.Cookie): Promise<void> {
async function trySign(
ac: Array<SignAccount>,
ck: TGApp.App.Account.Cookie,
skip: boolean,
): Promise<void> {
const cookie = { cookie_token: ck.cookie_token, account_id: ck.account_id };
const ckSign = { stoken: ck.stoken, stuid: ck.stuid, mid: ck.mid };
for (const item of ac) {
@@ -272,6 +276,10 @@ async function trySign(ac: Array<SignAccount>, ck: TGApp.App.Account.Cookie): Pr
if (challenge !== undefined) challenge = undefined;
if ("retcode" in signResp) {
if (signResp.retcode === 1034) {
if (skip) {
await TGLogger.Script("已设置跳过验证,签到失败");
break;
}
await TGLogger.Script(`[签到任务]触发验证码,正在尝试验证`);
const challengeGet = await miscReq.challenge(ckSign);
if (challengeGet === false) {