From c092d3b86a223e279ccf57be27d8f1eb315de089 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 26 二月 2025 17:21:56 +0800
Subject: [PATCH] fix: 对接

---
 apps/taro/package.json                                                |   44 +++++++++++-----------
 apps/taro/src/components/Layout/PageLayout.vue                        |    4 +
 apps/taro/src/pages/home/index.vue                                    |    2 
 packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue |    4 +-
 apps/taro/src/pages/mine/index.vue                                    |    6 +-
 apps/taro/src/hooks/router.ts                                         |   27 +++++++++++++
 apps/taro/config/index.js                                             |    1 
 apps/taro/src/stores/modules/app.ts                                   |   26 +++++++++++++
 8 files changed, 85 insertions(+), 29 deletions(-)

diff --git a/apps/taro/config/index.js b/apps/taro/config/index.js
index fbd1d2e..940dfcb 100644
--- a/apps/taro/config/index.js
+++ b/apps/taro/config/index.js
@@ -226,6 +226,7 @@
     htmlPluginOption: {
       favicon: './public/logo-v.png',
     },
+    useHtmlComponents: true,
     webpackChain(chain, webpack) {
       chain.plugin('unplugin-auto-import').use(
         AutoImport({
diff --git a/apps/taro/package.json b/apps/taro/package.json
index 986d91d..fbffeee 100644
--- a/apps/taro/package.json
+++ b/apps/taro/package.json
@@ -50,23 +50,23 @@
     "@nutui/icons-vue-taro": "^0.0.9",
     "@nutui/nutui-taro": "^4.3.13",
     "@tanstack/vue-query": "^4.35.3",
-    "@tarojs/components": "4.0.9",
-    "@tarojs/helper": "4.0.9",
-    "@tarojs/plugin-framework-vue3": "4.0.9",
-    "@tarojs/plugin-html": "4.0.9",
-    "@tarojs/plugin-http": "4.0.9",
-    "@tarojs/plugin-platform-alipay": "4.0.9",
-    "@tarojs/plugin-platform-h5": "4.0.9",
-    "@tarojs/plugin-platform-jd": "4.0.9",
-    "@tarojs/plugin-platform-qq": "4.0.9",
-    "@tarojs/plugin-platform-swan": "4.0.9",
-    "@tarojs/plugin-platform-tt": "4.0.9",
-    "@tarojs/plugin-platform-weapp": "4.0.9",
-    "@tarojs/router": "4.0.9",
-    "@tarojs/runtime": "4.0.9",
-    "@tarojs/shared": "4.0.9",
-    "@tarojs/taro": "4.0.9",
-    "@tarojs/taro-h5": "4.0.9",
+    "@tarojs/components": "3.6.20",
+    "@tarojs/helper": "3.6.20",
+    "@tarojs/plugin-framework-vue3": "3.6.20",
+    "@tarojs/plugin-html": "3.6.20",
+    "@tarojs/plugin-http": "3.6.20",
+    "@tarojs/plugin-platform-alipay": "3.6.20",
+    "@tarojs/plugin-platform-h5": "3.6.20",
+    "@tarojs/plugin-platform-jd": "3.6.20",
+    "@tarojs/plugin-platform-qq": "3.6.20",
+    "@tarojs/plugin-platform-swan": "3.6.20",
+    "@tarojs/plugin-platform-tt": "3.6.20",
+    "@tarojs/plugin-platform-weapp": "3.6.20",
+    "@tarojs/router": "3.6.20",
+    "@tarojs/runtime": "3.6.20",
+    "@tarojs/shared": "3.6.20",
+    "@tarojs/taro": "3.6.20",
+    "@tarojs/taro-h5": "3.6.20",
     "@vant/weapp": "^1.11.1",
     "axios": "^1.4.0",
     "crypto-js": "^4.1.1",
@@ -85,12 +85,12 @@
   "devDependencies": {
     "@babel/core": "^7.8.0",
     "@nutui/auto-import-resolver": "^1.0.0",
-    "@tarojs/cli": "4.0.9",
+    "@tarojs/cli": "3.6.20",
     "@tarojs/plugin-mini-ci": "^4.0.7",
     "@tarojs/plugin-mock": "^0.0.9",
-    "@tarojs/plugin-vue-devtools": "^4.0.9",
-    "@tarojs/service": "^4.0.9",
-    "@tarojs/webpack5-runner": "4.0.9",
+    "@tarojs/plugin-vue-devtools": "^3.6.20",
+    "@tarojs/service": "^3.6.20",
+    "@tarojs/webpack5-runner": "3.6.20",
     "@types/crypto-js": "^4.1.1",
     "@types/lodash": "^4.14.198",
     "@types/webpack-env": "^1.13.6",
@@ -99,7 +99,7 @@
     "babel-plugin-import": "^1.13.8",
     "babel-plugin-lodash": "^3.3.4",
     "babel-plugin-transform-remove-console": "^6.9.4",
-    "babel-preset-taro": "4.0.9",
+    "babel-preset-taro": "3.6.20",
     "cache-loader": "^4.1.0",
     "cross-env": "^7.0.3",
     "mockjs": "^1.1.0",
diff --git a/apps/taro/src/components/Layout/PageLayout.vue b/apps/taro/src/components/Layout/PageLayout.vue
index 0117384..1b283f0 100644
--- a/apps/taro/src/components/Layout/PageLayout.vue
+++ b/apps/taro/src/components/Layout/PageLayout.vue
@@ -42,7 +42,7 @@
 import { useSystemStore } from '@/stores/modules/system';
 import Taro from '@tarojs/taro';
 import { TabBarPageRouter } from '@/constants';
-import { useAuth } from '@/hooks';
+import { useAuth, useTabRouteEnhance } from '@/hooks';
 import { Portal } from 'senin-mini/components';
 import { usePickProps } from 'senin-mini/hooks';
 import { isWeb, isInAlipay, isInWeChat } from '@/utils/env';
@@ -76,6 +76,8 @@
 
 setPageTitle(props.title);
 
+useTabRouteEnhance();
+
 const _commonNavigationBarProps = usePickProps(props, commonNavigationBarProps);
 
 const _showNavigationBar = computed(() => {
diff --git a/apps/taro/src/hooks/router.ts b/apps/taro/src/hooks/router.ts
index 6d7bf5f..b1236c1 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();
@@ -41,3 +43,28 @@
     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) {
+      Taro.reLaunch({
+        url: router.path,
+        success() {
+          appStore.setLatestRoute('');
+        },
+      });
+    }
+  });
+
+  Taro.useDidHide(() => {
+    appStore.setLatestRoute(router.path);
+  });
+}
diff --git a/apps/taro/src/pages/home/index.vue b/apps/taro/src/pages/home/index.vue
index 23f4464..1c09530 100644
--- a/apps/taro/src/pages/home/index.vue
+++ b/apps/taro/src/pages/home/index.vue
@@ -10,7 +10,7 @@
 </template>
 
 <script setup lang="ts">
-import { useUser, useAccessLogin } from '@/hooks';
+import { useUser, useAccessLogin, useTabRouteEnhance } from '@/hooks';
 import { useUserStore } from '@/stores/modules/user';
 import Taro from '@tarojs/taro';
 import IconLogo from '@/assets/home/icon-logo.png';
diff --git a/apps/taro/src/pages/mine/index.vue b/apps/taro/src/pages/mine/index.vue
index 7022b2f..8068ee3 100644
--- a/apps/taro/src/pages/mine/index.vue
+++ b/apps/taro/src/pages/mine/index.vue
@@ -59,9 +59,9 @@
   });
 }
 
-Taro.showShareMenu({
-  showShareItems: ['shareAppMessage'],
-});
+// Taro.showShareMenu({
+//   showShareItems: ['shareAppMessage'],
+// });
 
 Taro.useShareAppMessage((res) => {
   return {
diff --git a/apps/taro/src/stores/modules/app.ts b/apps/taro/src/stores/modules/app.ts
new file mode 100644
index 0000000..019c588
--- /dev/null
+++ b/apps/taro/src/stores/modules/app.ts
@@ -0,0 +1,26 @@
+import { defineStore } from 'pinia';
+import { store } from '@/stores';
+
+interface AppState {
+  latestRoute: string;
+}
+
+export const useAppStore = defineStore({
+  id: 'app-app',
+
+  state: (): AppState => {
+    return {
+      latestRoute: '',
+    };
+  },
+
+  actions: {
+    setLatestRoute(route: string) {
+      this.latestRoute = route;
+    },
+  },
+});
+
+export function useAppStoreHook() {
+  return useAppStore(store);
+}
diff --git a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
index a343098..ddfea6b 100644
--- a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
+++ b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
@@ -118,8 +118,8 @@
             state.msg = '璇峰湪鎵嬫満寰俊涓墦寮�';
             state.show = true;
           } else {
-            state.msg = res.err_msg;
-            state.show = true;
+            // state.msg = res.err_msg;
+            // state.show = true;
           }
         }
       );

--
Gitblit v1.9.1