From 9a0fbe11e9ea97d7dc3c7e6cdd57446900f9121c Mon Sep 17 00:00:00 2001 From: BTMuli Date: Sun, 14 Dec 2025 15:43:32 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=B8=20=E5=88=B7=E6=96=B0=E5=85=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/pageHome/ph-sign-item.vue | 64 ++++++++++++++++++------ 1 file changed, 49 insertions(+), 15 deletions(-) diff --git a/src/components/pageHome/ph-sign-item.vue b/src/components/pageHome/ph-sign-item.vue index f8156ba3..a61955c2 100644 --- a/src/components/pageHome/ph-sign-item.vue +++ b/src/components/pageHome/ph-sign-item.vue @@ -59,25 +59,37 @@
+ - 签到 - - - 补签{{ resignCount > 0 ? ` (${resignCount})` : "" }} + 刷新数据
@@ -123,6 +135,7 @@ const signItemEl = useTemplateRef("signItemRef"); const isSign = ref(false); const isResign = ref(false); +const isRefresh = ref(false); const signInfo = ref(props.info); const signStat = ref(props.stat); const resignInfo = ref(undefined); @@ -164,6 +177,27 @@ const canResign = computed(() => { }); const resignCount = computed(() => resignInfo.value?.quality_cnt ?? 0); +// 刷新数据 +async function refreshData(): Promise { + if (!cookie.value) return; + isRefresh.value = true; + const ck = { cookie_token: cookie.value.cookie_token, account_id: cookie.value.account_id }; + try { + const infoResp = await lunaReq.sign.info(props.account, ck); + if ("retcode" in infoResp) { + showSnackbar.warn(`刷新信息失败: ${infoResp.retcode} ${infoResp.message}`); + } else signInfo.value = infoResp; + const statResp = await lunaReq.sign.stat(props.account, ck); + if ("retcode" in statResp) { + showSnackbar.warn(`刷新状态失败: ${statResp.retcode} ${statResp.message}`); + } else signStat.value = statResp; + showSnackbar.success(`成功刷新签到信息`); + } catch (e) { + console.error(e); + } + isRefresh.value = false; +} + // Get reward state for regular rewards function getRewardState(index: number): RewardStateEnum { const signedDays = totalSignedDays.value;