From d0a1427e126d6c989d6816acc1ab01010cefc6a4 Mon Sep 17 00:00:00 2001 From: zoujing Date: Fri, 18 Sep 2026 15:59:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A4=84=E7=90=86=E6=88=91=E7=9A=84?= =?UTF-8?q?=E6=9D=83=E7=9B=8A=E7=9A=84=E7=99=BB=E5=BD=95=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages-sub/catalog/index.vue | 3 +-- src/pages/benefit/index.vue | 14 +++++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/pages-sub/catalog/index.vue b/src/pages-sub/catalog/index.vue index 5b0ece3..3a29d33 100644 --- a/src/pages-sub/catalog/index.vue +++ b/src/pages-sub/catalog/index.vue @@ -117,8 +117,7 @@ onShareAppMessage(() => ({ - + class="h-[92px] rounded-card bg-alt border-[0.5px] border-line border-dashed flex items-center justify-center"> 暂无商家 diff --git a/src/pages/benefit/index.vue b/src/pages/benefit/index.vue index f3e8588..6eec7db 100644 --- a/src/pages/benefit/index.vue +++ b/src/pages/benefit/index.vue @@ -12,9 +12,10 @@ */ import { computed, ref } from "vue"; import { onLoad, onShow } from "@dcloudio/uni-app"; -import { BENEFIT_SUB_TABS, BENEFIT_TYPES } from "@/constant"; +import { BENEFIT_SUB_TABS, BENEFIT_TYPES, ROUTES } from "@/constant"; +import { getAccessToken } from "@/constant/token"; import { useBenefitStore } from "@/store"; -import { requireLogin } from "@/utils/nav"; +import { goLogin, requireLogin } from "@/utils/nav"; /** 接口不可领原因 → 提示文案(login_required / phone_required 走登录与绑定引导,不在此列) */ const CLAIM_REASON_TEXT = { @@ -65,8 +66,15 @@ onShow(() => { }); const onSegChange = (key) => { + // 我的权益需登录:未登录直接跳登录页且**不切分段**(用户没登录就退回权益中心), + // redirect 带 seg,登录成功后回跳到「我的权益」并拉数据 + if (key === "mine" && !getAccessToken()) { + goLogin(`${ROUTES.BENEFIT}?seg=mine`); + return; + } seg.value = key; - if (key === "mine") store.loadMine(); + if (key !== "mine") return; + store.loadMine(); }; /** 权益中心:领取(入参是公开模板 id;不可领的原因由接口 claim_unavailable_reason 给出) */