From e662aa7d894a0b259dc1816e79514c1f0d38da9f Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期三, 21 五月 2025 16:14:05 +0800 Subject: [PATCH] Merge branch 'dev-ui' of http://120.26.58.240:8888/r/LifePaymentFront into dev-ui --- apps/taro/src/utils/page.ts | 45 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 42 insertions(+), 3 deletions(-) diff --git a/apps/taro/src/utils/page.ts b/apps/taro/src/utils/page.ts index 9538688..1d45c4e 100644 --- a/apps/taro/src/utils/page.ts +++ b/apps/taro/src/utils/page.ts @@ -1,6 +1,8 @@ import { TabBarPageRouter } from '@/constants'; import Taro from '@tarojs/taro'; import { useSystemStoreWithOut } from '@/stores/modules/system'; +import { query2object, object2query } from '@life-payment/utils'; +import { blLifeRecharge } from './blLifeRecharge'; export function goBack(delta = 1) { const pages = Taro.getCurrentPages(); @@ -10,7 +12,7 @@ if (pages.length > 1) { Taro.navigateBack({ delta: delta }); } else { - Taro.switchTab({ + RouteHelper.switchTab({ url: Object.values(TabBarPageRouter)[systemStore.activeTab], }); } @@ -19,7 +21,44 @@ export function goHome() { const systemStore = useSystemStoreWithOut(); systemStore.setTabIndex(0); - Taro.switchTab({ - url: '/pages/home/index', + RouteHelper.switchTab({ + url: TabBarPageRouter['Home'], }); } + +export function pathAddExtraParam(path: string, object: Record<string, string | number>) { + console.log('path: ', path, object); + const pathList = path.split('?'); + if (pathList.length > 1) { + const query = query2object(pathList[1]); + for (const key in object) { + query[key] = object[key] as any; + } + return `${pathList[0]}?${object2query(query)}`; + } else { + return `${pathList[0]}?${object2query(object)}`; + } +} + +export class RouteHelper { + static switchTab(option: Taro.switchTab.Option) { + return Taro.switchTab({ + ...option, + url: pathAddExtraParam(option.url, { channelId: blLifeRecharge.accountModel.channlesNum }), + }); + } + + static navigateTo(option: Taro.navigateTo.Option) { + return Taro.navigateTo({ + ...option, + url: pathAddExtraParam(option.url, { channelId: blLifeRecharge.accountModel.channlesNum }), + }); + } + + static redirectTo(option: Taro.redirectTo.Option) { + return Taro.redirectTo({ + ...option, + url: pathAddExtraParam(option.url, { channelId: blLifeRecharge.accountModel.channlesNum }), + }); + } +} -- Gitblit v1.9.1