| | |
| | | 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(); |
| | |
| | | if (pages.length > 1) { |
| | | Taro.navigateBack({ delta: delta }); |
| | | } else { |
| | | Taro.switchTab({ |
| | | RouteHelper.switchTab({ |
| | | url: Object.values(TabBarPageRouter)[systemStore.activeTab], |
| | | }); |
| | | } |
| | |
| | | export function goHome() { |
| | | const systemStore = useSystemStoreWithOut(); |
| | | systemStore.setTabIndex(0); |
| | | Taro.switchTab({ |
| | | 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 }), |
| | | }); |
| | | } |
| | | } |