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

---
 packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue |   69 ++++++++++++++++++++--------------
 1 files changed, 41 insertions(+), 28 deletions(-)

diff --git a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
index 6df3a0e..7c942bf 100644
--- a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
+++ b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
@@ -4,7 +4,7 @@
       <img class="select-pay-type-view-item-icon" :src="IconAliPay" />
       <div class="select-pay-type-view-item-text">鏀粯瀹濇敮浠�</div>
     </div>
-    <div class="select-pay-type-view-item">
+    <div class="select-pay-type-view-item" @click="handleWeixinPay">
       <img class="select-pay-type-view-item-icon" :src="IconWeixin" />
       <div class="select-pay-type-view-item-text">寰俊鏀粯</div>
     </div>
@@ -14,28 +14,31 @@
 <script setup lang="ts">
 import IconWeixin from '../../../assets/icon-weixin-pay.png';
 import IconAliPay from '../../../assets/icon-alipay.png';
-import Taro from '@tarojs/taro';
 import {
   useLifeRechargeContext,
   SetLifePayOrderPayTypeInput,
   LifeRechargeConstants,
-} from '../../utils';
+} from '@life-payment/core-vue';
 import { useQuery } from '@tanstack/vue-query';
 
 defineOptions({
   name: 'SelectPayTypeView',
 });
 
-// type Props = {};
+type Props = {
+  orderNo?: string;
+  lifePayOrderType?: LifeRechargeConstants.LifePayOrderTypeEnum;
+};
 
-// const props = withDefaults(defineProps<Props>(), {});
+const props = withDefaults(defineProps<Props>(), {});
 
 const emit = defineEmits<{
-  (e: 'paySuccess', id: number): void;
+  (
+    e: 'paySuccess',
+    orderNo: string,
+    lifePayOrderType: LifeRechargeConstants.LifePayOrderTypeEnum
+  ): void;
 }>();
-
-const router = Taro.useRouter();
-const orderNo = router.params?.orderNo ?? '';
 
 const { blLifeRecharge } = useLifeRechargeContext();
 
@@ -48,32 +51,42 @@
   } catch (error) {}
 }
 
+async function handleWeixinPay() {
+  try {
+    let res = await setLifePayOrderPayType(blLifeRecharge.constants.LifePayTypeEnum.WxPay);
+    if (res) {
+      location.href = res;
+    }
+  } catch (error) {}
+}
+
 async function setLifePayOrderPayType(lifePayType: LifeRechargeConstants.LifePayTypeEnum) {
   try {
     let params: SetLifePayOrderPayTypeInput = {
-      orderNo: orderNo,
+      orderNo: props.orderNo,
       lifePayType: lifePayType,
     };
     return await blLifeRecharge.services.setLifePayOrderPayType(params);
   } catch (error) {}
 }
 
-// useQuery({
-//   queryKey: ['platformServicePayServices/getPlaformServicePayQRCode', orderNo],
-//   queryFn: async () => {
-//     return await blLifeRecharge.services.getPayStatusByOrderNo(
-//       {
-//         orderNo,
-//       },
-//       {
-//         showLoading: false,
-//       }
-//     );
-//   },
-//   onSuccess(data) {
-//     if (data === blLifeRecharge.constants.LifePayStatusEnum.宸叉敮浠�) {
-//     }
-//   },
-//   refetchInterval: 1000 * 3,
-// });
+useQuery({
+  queryKey: ['platformServicePayServices/getPayStatusByOrderNo', props.orderNo],
+  queryFn: async () => {
+    return await blLifeRecharge.services.getPayStatusByOrderNo(
+      {
+        orderNo: props.orderNo,
+      },
+      {
+        showLoading: false,
+      }
+    );
+  },
+  onSuccess(data) {
+    if (data === blLifeRecharge.constants.LifePayStatusEnum.宸叉敮浠�) {
+      emit('paySuccess', props.orderNo, props.lifePayOrderType);
+    }
+  },
+  refetchInterval: 1000 * 3,
+});
 </script>

--
Gitblit v1.9.1