From d580f043716d30f9617ed7f3f49a7e80d54b9865 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 13 三月 2025 15:42:17 +0800
Subject: [PATCH] fix: 二期需求

---
 apps/taro/src/hooks/router.ts |   46 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/apps/taro/src/hooks/router.ts b/apps/taro/src/hooks/router.ts
index 6d7bf5f..d571b8f 100644
--- a/apps/taro/src/hooks/router.ts
+++ b/apps/taro/src/hooks/router.ts
@@ -1,12 +1,16 @@
 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';
 
 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);
@@ -41,3 +45,41 @@
     isFocus,
   };
 }
+
+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);
+
+  Taro.useDidShow(() => {
+    const isTabbarPage = Object.values(TabBarPageRouterForCheck).some((x) =>
+      latestRoute.value.toLowerCase().includes(x.toLowerCase())
+    );
+    // if (blLifeRecharge.accountModel.channlesNum && !channelId) {
+    //   Taro.reLaunch({
+    //     // url: `${getRouterPath(router.path)}?channelId=${blLifeRecharge.accountModel.channlesNum}`,
+    //     url: `${router.path}&channelId=${blLifeRecharge.accountModel.channlesNum}`,
+    //     success() {
+    //       appStore.setLatestRoute('');
+    //     },
+    //   });
+    // }
+    if (isTabbarPage && isInAlipay) {
+      Taro.reLaunch({
+        url: router.path,
+        success() {
+          appStore.setLatestRoute('');
+        },
+      });
+    }
+  });
+
+  Taro.useDidHide(() => {
+    appStore.setLatestRoute(router.path);
+  });
+}

--
Gitblit v1.9.1