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;