🚸 增加点赞后取消配置

This commit is contained in:
BTMuli
2025-12-06 14:42:57 +08:00
parent cf3f04c457
commit 58c2044f47
2 changed files with 37 additions and 15 deletions

View File

@@ -3,8 +3,10 @@
<div class="tusm-top">
<div class="tusm-title">米游币任务({{ todayPoints }}/{{ totalPoints }})</div>
<div class="tusm-acts">
<v-btn @click="tryRefresh()" class="tusm-btn" :loading="loadState">刷新</v-btn>
<v-btn @click="tryAuto()" class="tusm-btn" :loading="loadMission">执行</v-btn>
<span>{{ cancelLike ? "点赞后取消" : "点赞后不取消" }}</span>
<v-switch v-model="cancelLike" class="tusm-switch" color="var(--tgc-od-red)" />
<v-btn :loading="loadState" class="tusm-btn" @click="tryRefresh()">刷新</v-btn>
<v-btn :loading="loadMission" class="tusm-btn" @click="tryAuto()">执行</v-btn>
</div>
</div>
<div class="tusm-content">
@@ -18,10 +20,10 @@
<div class="right">
<span>
<v-progress-linear
rounded
:model-value="(mission.process / mission.total) * 100"
height="8"
color="var(--tgc-od-blue)"
height="8"
rounded
/>
</span>
<span>{{ mission.process }}/{{ mission.total }}</span>
@@ -36,6 +38,7 @@ import apiHubReq from "@req/apiHubReq.js";
import miscReq from "@req/miscReq.js";
import painterReq from "@req/painterReq.js";
import postReq from "@req/postReq.js";
import useAppStore from "@store/app.js";
import useUserStore from "@store/user.js";
import TGLogger from "@utils/TGLogger.js";
import { storeToRefs } from "pinia";
@@ -53,7 +56,10 @@ type ParseMission = {
};
const { cookie, uid } = storeToRefs(useUserStore());
const { cancelLike } = storeToRefs(useAppStore());
const loadScript = defineModel<boolean>();
const todayPoints = ref<number>(0);
const totalPoints = ref<number>(0);
const loadState = ref<boolean>(false);
@@ -209,15 +215,17 @@ async function tryAuto(): Promise<void> {
await TGLogger.Script(`[米游币任务]点赞失败:${likeResp.retcode} ${likeResp.message}`);
continue;
}
await TGLogger.Script(`[米游币任务]正在取消点赞帖子${post.post.post_id}`);
await new Promise<void>((resolve) => setTimeout(resolve, 1000));
const unlikeResp = await apiHubReq.post.like(post.post.post_id, ckPost, true);
if (unlikeResp.retcode === 0) {
await TGLogger.Script("[米游币任务]取消点赞成功");
} else {
await TGLogger.Script(
`[米游币任务]取消点赞失败:${unlikeResp.retcode} ${unlikeResp.message}`,
);
if (cancelLike.value) {
await TGLogger.Script(`[米游币任务]正在取消点赞帖子${post.post.post_id}`);
await new Promise<void>((resolve) => setTimeout(resolve, 1000));
const unlikeResp = await apiHubReq.post.like(post.post.post_id, ckPost, true);
if (unlikeResp.retcode === 0) {
await TGLogger.Script("[米游币任务]取消点赞成功");
} else {
await TGLogger.Script(
`[米游币任务]取消点赞失败:${unlikeResp.retcode} ${unlikeResp.message}`,
);
}
}
}
}
@@ -328,9 +336,18 @@ async function autoSign(ck: TGApp.App.Account.Cookie, ch?: string): Promise<void
.tusm-acts {
display: flex;
align-items: center;
gap: 8px;
}
.tusm-switch {
display: flex;
height: 36px;
align-items: center;
justify-content: center;
margin-right: 4px;
}
.tusm-btn {
background: var(--tgc-btn-1);
color: var(--btn-text);

View File

@@ -1,6 +1,6 @@
/**
* 应用状态管理
* @since Beta v0.8.7
* @since Beta v0.8.9
*/
import { AnnoLangEnum } from "@enum/anno.js";
@@ -61,10 +61,12 @@ const useAppStore = defineStore(
const incognito = ref<boolean>(true);
/* 帖子宽窄视图 */
const postViewWide = ref<boolean>(true);
/* 是否取消点赞 */
const cancelLike = ref<boolean>(true);
/**
* 初始化应用状态
* @since Beta v0.8.7
* @since Beta v0.8.9
* @remarks 用于首次运行或重置应用状态
* @returns void
*/
@@ -82,6 +84,7 @@ const useAppStore = defineStore(
imageQualityPercent.value = 10;
incognito.value = true;
postViewWide.value = true;
cancelLike.value = true;
initDevice();
}
@@ -136,6 +139,7 @@ const useAppStore = defineStore(
imageQualityPercent,
incognito,
postViewWide,
cancelLike,
init,
changeTheme,
getImageUrl,
@@ -162,6 +166,7 @@ const useAppStore = defineStore(
"incognito",
"sidebar",
"postViewWide",
"cancelLike",
],
},
{