From 0886e91fdfe3b5528f80d2b6742083aa11d16ebb Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期三, 02 四月 2025 15:54:15 +0800 Subject: [PATCH] fix: 四期bug --- apps/taro/src/hooks/router.ts | 38 +++++++++++++++++++++++++++++++++----- 1 files changed, 33 insertions(+), 5 deletions(-) diff --git a/apps/taro/src/hooks/router.ts b/apps/taro/src/hooks/router.ts index b1236c1..e53ba52 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,14 +50,39 @@ 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.useTabItemTap((item) => { + Taro.reLaunch({ + url: pathAddExtraParam(item.pagePath, { channelId: blLifeRecharge.accountModel.channlesNum }), + success() { + appStore.setLatestRoute(''); + }, + }); + }); + Taro.useDidShow(() => { - const isTabbarPage = Object.values(TabBarPageRouter).some((x) => + const isTabbarPage = Object.values(TabBarPageRouterForCheck).some((x) => latestRoute.value.toLowerCase().includes(x.toLowerCase()) ); - if (isTabbarPage) { + // const currentIsTabbarPage = Object.values(TabBarPageRouterForCheck).some((x) => + // getRouterPath(router.path).toLowerCase().includes(x.toLowerCase()) + // ); + // 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, success() { -- Gitblit v1.9.1