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

---
 packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue |   13 +++++++++----
 apps/taro/src/subpackages/recharge/selectPayType/InnerPage.vue        |    9 ++++++---
 apps/taro/src/hooks/router.ts                                         |   16 ++++++++++++++++
 3 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/apps/taro/src/hooks/router.ts b/apps/taro/src/hooks/router.ts
index 59447e7..6d7bf5f 100644
--- a/apps/taro/src/hooks/router.ts
+++ b/apps/taro/src/hooks/router.ts
@@ -25,3 +25,19 @@
 
 //   return { isFirstEnter };
 // }
+
+export function useFocus() {
+  const isFocus = ref(false);
+
+  Taro.useDidShow(() => {
+    isFocus.value = true;
+  });
+
+  Taro.useDidHide(() => {
+    isFocus.value = false;
+  });
+
+  return {
+    isFocus,
+  };
+}
diff --git a/apps/taro/src/subpackages/recharge/selectPayType/InnerPage.vue b/apps/taro/src/subpackages/recharge/selectPayType/InnerPage.vue
index e214be7..a82b7ac 100644
--- a/apps/taro/src/subpackages/recharge/selectPayType/InnerPage.vue
+++ b/apps/taro/src/subpackages/recharge/selectPayType/InnerPage.vue
@@ -9,8 +9,9 @@
       :showWeixinPay="!isInAlipay"
       :openId="wxOpenId"
       :isInWeChat="isInWeChat"
-      :isH5="isH5"
+      :isH5="isWeb"
       :appId="WXPayAppId"
+      :isFocus="isFocus"
     />
   </ContentScrollView>
 </template>
@@ -19,8 +20,8 @@
 import { SelectPayTypeView } from '@life-payment/components';
 import { LifeRechargeConstants } from '@life-payment/core-vue';
 import Taro from '@tarojs/taro';
-import { isInAlipay, isInWeChat, isH5 } from '@/utils/env';
-import { useUser } from '@/hooks';
+import { isInAlipay, isInWeChat, isH5, isWeb } from '@/utils/env';
+import { useUser, useFocus } from '@/hooks';
 import { WXPayAppId } from '@/constants';
 
 defineOptions({
@@ -33,6 +34,8 @@
 
 const { wxOpenId } = useUser();
 
+const { isFocus } = useFocus();
+
 function handePaySuccess(
   orderNo: string,
   lifePayOrderType: LifeRechargeConstants.LifePayOrderTypeEnum
diff --git a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
index 0e784f8..a343098 100644
--- a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
+++ b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
@@ -23,7 +23,7 @@
 } from '@life-payment/core-vue';
 import { useQuery } from '@tanstack/vue-query';
 import { Toast as NutToast } from '@nutui/nutui-taro';
-import { reactive } from 'vue';
+import { onMounted, reactive, ref, computed } from 'vue';
 
 defineOptions({
   name: 'SelectPayTypeView',
@@ -38,6 +38,7 @@
   isInWeChat?: boolean;
   isH5?: boolean;
   appId?: string;
+  isFocus?: boolean;
 };
 
 const props = withDefaults(defineProps<Props>(), {
@@ -113,10 +114,13 @@
           if (res.err_msg == 'get_brand_wcpay_request:ok') {
             // 浣跨敤浠ヤ笂鏂瑰紡鍒ゆ柇鍓嶇杩斿洖,寰俊鍥㈤槦閮戦噸鎻愮ず锛�
             //res.err_msg灏嗗湪鐢ㄦ埛鏀粯鎴愬姛鍚庤繑鍥瀘k锛屼絾骞朵笉淇濊瘉瀹冪粷瀵瑰彲闈狅紝鍟嗘埛闇�杩涗竴姝ヨ皟鐢ㄥ悗绔煡鍗曠‘璁ゆ敮浠樼粨鏋溿��
+          } else if (res.err_msg == 'system:access_denied') {
+            state.msg = '璇峰湪鎵嬫満寰俊涓墦寮�';
+            state.show = true;
+          } else {
+            state.msg = res.err_msg;
+            state.show = true;
           }
-        },
-        function (res) {
-          console.log('res: ', res);
         }
       );
     }
@@ -151,5 +155,6 @@
     }
   },
   refetchInterval: 1000 * 3,
+  enabled: computed(() => props.isFocus),
 });
 </script>

--
Gitblit v1.9.1