From 818d0f406772f00c43c8d6d68e9b52e9b729f35a Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 07 三月 2025 16:14:23 +0800 Subject: [PATCH] fix: 对接 --- apps/taro/src/hooks/router.ts | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/apps/taro/src/hooks/router.ts b/apps/taro/src/hooks/router.ts index 59447e7..448a183 100644 --- a/apps/taro/src/hooks/router.ts +++ b/apps/taro/src/hooks/router.ts @@ -1,6 +1,8 @@ import Taro from '@tarojs/taro'; import { TabBarPageRouter } from '@/constants'; import { useSystemStore } from '@/stores/modules/system'; +import { useAppStore } from '@/stores/modules/app'; +import { isInAlipay } from '@/utils/env'; export function useSwitchTab() { const systemStore = useSystemStore(); @@ -25,3 +27,44 @@ // return { isFirstEnter }; // } + +export function useFocus() { + const isFocus = ref(false); + + Taro.useDidShow(() => { + isFocus.value = true; + }); + + Taro.useDidHide(() => { + isFocus.value = false; + }); + + return { + isFocus, + }; +} + +export function useTabRouteEnhance() { + const appStore = useAppStore(); + const { latestRoute } = storeToRefs(appStore); + + const router = Taro.useRouter(); + + Taro.useDidShow(() => { + const isTabbarPage = Object.values(TabBarPageRouter).some((x) => + latestRoute.value.toLowerCase().includes(x.toLowerCase()) + ); + if (isTabbarPage && isInAlipay) { + Taro.reLaunch({ + url: router.path, + success() { + appStore.setLatestRoute(''); + }, + }); + } + }); + + Taro.useDidHide(() => { + appStore.setLatestRoute(router.path); + }); +} -- Gitblit v1.9.1