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