zhengyiming
2025-03-07 b916fb416c25a7e11c25fb62bc83f2f3434778d0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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();
 
  const switchTab = (option: Taro.switchTab.Option) => {
    const index = Object.values(TabBarPageRouter).findIndex((x) => option.url.includes(x));
    console.log('index: ', index);
    systemStore.setTabIndex(index);
    Taro.switchTab(option);
  };
  return switchTab;
}
 
// export function useFirstEnter() {
//   const systemStore = useSystemStore();
//   const { isFirstEnter } = storeToRefs(systemStore);
//   console.log('isFirstEnter: ', isFirstEnter);
 
//   onMounted(() => {
//     systemStore.setIsFirstEnter(false);
//   });
 
//   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);
  });
}