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 | 62 ++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 1 deletions(-) diff --git a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue index 818faa5..1511491 100644 --- a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue +++ b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue @@ -1,6 +1,6 @@ <template> <div class="select-pay-type-view"> - <div class="select-pay-type-view-item"> + <div class="select-pay-type-view-item" @click="handleAliPay"> <img class="select-pay-type-view-item-icon" :src="IconAliPay" /> <div class="select-pay-type-view-item-text">鏀粯瀹濇敮浠�</div> </div> @@ -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', @@ -22,4 +29,57 @@ // type Props = {}; // const props = withDefaults(defineProps<Props>(), {}); + +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