From 9c680ea2c5938d26065232d3a658a9a615e1f827 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 13 三月 2025 16:39:14 +0800
Subject: [PATCH] fix: 修改导航 在路由上强制增加channelId

---
 apps/taro/src/hooks/router.ts |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/apps/taro/src/hooks/router.ts b/apps/taro/src/hooks/router.ts
index 448a183..d8f82a8 100644
--- a/apps/taro/src/hooks/router.ts
+++ b/apps/taro/src/hooks/router.ts
@@ -1,17 +1,20 @@
 import Taro from '@tarojs/taro';
-import { TabBarPageRouter } from '@/constants';
+import { TabBarPageRouterForCheck } from '@/constants';
 import { useSystemStore } from '@/stores/modules/system';
 import { useAppStore } from '@/stores/modules/app';
 import { isInAlipay } from '@/utils/env';
+import { useLifeRechargeContext } from '@life-payment/core-vue';
+import { getRouterPath } from '@life-payment/utils';
+import { pathAddExtraParam } from '@/utils';
 
 export function useSwitchTab() {
   const systemStore = useSystemStore();
 
   const switchTab = (option: Taro.switchTab.Option) => {
-    const index = Object.values(TabBarPageRouter).findIndex((x) => option.url.includes(x));
+    const index = Object.values(TabBarPageRouterForCheck).findIndex((x) => option.url.includes(x));
     console.log('index: ', index);
     systemStore.setTabIndex(index);
-    Taro.switchTab(option);
+    RouteHelper.switchTab(option);
   };
   return switchTab;
 }
@@ -47,13 +50,31 @@
 export function useTabRouteEnhance() {
   const appStore = useAppStore();
   const { latestRoute } = storeToRefs(appStore);
+  const { blLifeRecharge } = useLifeRechargeContext();
 
   const router = Taro.useRouter();
 
+  const channelId = router.params?.channelId ?? '';
+  console.log('router: params', router, blLifeRecharge.accountModel.channlesNum);
+
   Taro.useDidShow(() => {
-    const isTabbarPage = Object.values(TabBarPageRouter).some((x) =>
+    console.log('latestRoute.value: ', latestRoute.value);
+    const isTabbarPage = Object.values(TabBarPageRouterForCheck).some((x) =>
       latestRoute.value.toLowerCase().includes(x.toLowerCase())
     );
+    const currentIsTabbarPage = Object.values(TabBarPageRouterForCheck).some((x) =>
+      getRouterPath(router.path).toLowerCase().includes(x.toLowerCase())
+    );
+    console.log('currentIsTabbarPage: ', currentIsTabbarPage);
+    if (currentIsTabbarPage && blLifeRecharge.accountModel.channlesNum && !channelId) {
+      Taro.reLaunch({
+        url: pathAddExtraParam(router.path, { channelId: blLifeRecharge.accountModel.channlesNum }),
+        success() {
+          appStore.setLatestRoute('');
+        },
+      });
+      return;
+    }
     if (isTabbarPage && isInAlipay) {
       Taro.reLaunch({
         url: router.path,

--
Gitblit v1.9.1