From bb560572af26c22ae7d8ab9f7c42bdd293dea0e4 Mon Sep 17 00:00:00 2001 From: Hygge <1727182921@qq.com> Date: Thu, 31 Jul 2025 15:34:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E8=A2=AB=E6=8B=A6=E6=88=AA=E6=83=85=E5=86=B5=E4=B8=8B,tabbar?= =?UTF-8?q?=E4=BB=8D=E8=A2=AB=E9=80=89=E4=B8=AD=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layouts/fg-tabbar/tabbar.ts | 8 ++++++++ src/router/interceptor.ts | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/layouts/fg-tabbar/tabbar.ts b/src/layouts/fg-tabbar/tabbar.ts index 03be03f..61c39d5 100644 --- a/src/layouts/fg-tabbar/tabbar.ts +++ b/src/layouts/fg-tabbar/tabbar.ts @@ -4,8 +4,16 @@ */ export const tabbarStore = reactive({ curIdx: uni.getStorageSync('app-tabbar-index') || 0, + prevIdx: uni.getStorageSync('app-tabbar-index') || 0, setCurIdx(idx: number) { this.curIdx = idx uni.setStorageSync('app-tabbar-index', idx) }, + + restorePrevIdx() { + if (this.prevIdx === this.curIdx) + return + this.setCurIdx(this.prevIdx) + this.prevIdx = uni.getStorageSync('app-tabbar-index') || 0 + }, }) diff --git a/src/router/interceptor.ts b/src/router/interceptor.ts index 70eff89..532b8a2 100644 --- a/src/router/interceptor.ts +++ b/src/router/interceptor.ts @@ -1,3 +1,4 @@ +import { tabbarStore } from '@/layouts/fg-tabbar/tabbar' /** * by 菲鸽 on 2024-03-06 * 路由拦截,通常也是登录拦截 @@ -49,6 +50,7 @@ const navigateToInterceptor = { if (hasLogin) { return true } + tabbarStore.restorePrevIdx() const redirectRoute = `${loginRoute}?redirect=${encodeURIComponent(url)}` uni.navigateTo({ url: redirectRoute }) return false