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

---
 apps/taro/src/utils/page.ts |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/apps/taro/src/utils/page.ts b/apps/taro/src/utils/page.ts
index 8670a6f..1652ec0 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();
@@ -23,3 +25,33 @@
     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) {
+    Taro.navigateTo({
+      ...option,
+      url: pathAddExtraParam(option.url, { channelId: blLifeRecharge.accountModel.channlesNum }),
+    });
+  }
+}

--
Gitblit v1.9.1