From 797fa07355a312a06541ca105a00928e95dbded6 Mon Sep 17 00:00:00 2001
From: zym2525 <540361168@qq.com>
Date: 星期日, 23 二月 2025 14:39:44 +0800
Subject: [PATCH] fix: some

---
 packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 1 deletions(-)

diff --git a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
index 95cf51f..1511491 100644
--- a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
+++ b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
@@ -14,6 +14,13 @@
 <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';
+import { useQuery } from '@tanstack/vue-query';
 
 defineOptions({
   name: 'SelectPayTypeView',
@@ -23,5 +30,56 @@
 
 // const props = withDefaults(defineProps<Props>(), {});
 
-function handleAliPay() {}
+const emit = defineEmits<{
+  (
+    e: 'paySuccess',
+    orderNo: string,
+    lifePayOrderType: LifeRechargeConstants.LifePayOrderTypeEnum
+  ): void;
+}>();
+
+const router = Taro.useRouter();
+const orderNo = router.params?.orderNo ?? '';
+const lifePayOrderType = Number(router.params?.lifePayOrderType ?? '');
+
+const { blLifeRecharge } = useLifeRechargeContext();
+
+async function handleAliPay() {
+  try {
+    let res = await setLifePayOrderPayType(blLifeRecharge.constants.LifePayTypeEnum.AliPay);
+    if (res) {
+      location.href = res;
+    }
+  } catch (error) {}
+}
+
+async function setLifePayOrderPayType(lifePayType: LifeRechargeConstants.LifePayTypeEnum) {
+  try {
+    let params: SetLifePayOrderPayTypeInput = {
+      orderNo: orderNo,
+      lifePayType: lifePayType,
+    };
+    return await blLifeRecharge.services.setLifePayOrderPayType(params);
+  } catch (error) {}
+}
+
+useQuery({
+  queryKey: ['platformServicePayServices/getPayStatusByOrderNo', orderNo],
+  queryFn: async () => {
+    return await blLifeRecharge.services.getPayStatusByOrderNo(
+      {
+        orderNo,
+      },
+      {
+        showLoading: false,
+      }
+    );
+  },
+  onSuccess(data) {
+    if (data === blLifeRecharge.constants.LifePayStatusEnum.宸叉敮浠�) {
+      emit('paySuccess', orderNo, lifePayOrderType);
+    }
+  },
+  refetchInterval: 1000 * 3,
+});
 </script>

--
Gitblit v1.9.1