From 9b87bcbcad94873dedee7389d1ef9742a8d72c2b Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 21 二月 2025 18:38:57 +0800 Subject: [PATCH] fix: 对接 --- apps/taro/src/subpackages/recharge/phoneBillRecharge/InnerPage.vue | 4 +- packages/components/src/views/PhoneBillRecharge/PhoneBillRecharge.vue | 23 +++++------ packages/components/src/utils/index.ts | 1 packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue | 54 ++++++++++++++++++++++++++ packages/components/src/utils/lifeRechargeServices.ts | 19 ++++++++- 5 files changed, 82 insertions(+), 19 deletions(-) diff --git a/apps/taro/src/subpackages/recharge/phoneBillRecharge/InnerPage.vue b/apps/taro/src/subpackages/recharge/phoneBillRecharge/InnerPage.vue index 97bebf1..f44d4e2 100644 --- a/apps/taro/src/subpackages/recharge/phoneBillRecharge/InnerPage.vue +++ b/apps/taro/src/subpackages/recharge/phoneBillRecharge/InnerPage.vue @@ -12,9 +12,9 @@ name: 'InnerPage', }); -function goPay() { +function goPay(orderNo: string) { Taro.navigateTo({ - url: RouterPath.selectPayType, + url: `${RouterPath.selectPayType}?orderNo=${orderNo}`, }); } </script> diff --git a/packages/components/src/utils/index.ts b/packages/components/src/utils/index.ts index d446ea1..a9807bb 100644 --- a/packages/components/src/utils/index.ts +++ b/packages/components/src/utils/index.ts @@ -3,3 +3,4 @@ export * from './lifeRechargeServices'; export * from './types'; export * from './validator'; +export * from './lifeRechargeConstants'; diff --git a/packages/components/src/utils/lifeRechargeServices.ts b/packages/components/src/utils/lifeRechargeServices.ts index f8f6b2b..d45d643 100644 --- a/packages/components/src/utils/lifeRechargeServices.ts +++ b/packages/components/src/utils/lifeRechargeServices.ts @@ -88,6 +88,17 @@ } ); } + + async setLifePayOrderPayType(body: SetLifePayOrderPayTypeInput, options?: RequestConfig) { + return this.request<string>('/api/LifePay/SetLifePayOrderPayType', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); + } } export interface PhoneMesssageCodeLoginInput { @@ -151,7 +162,6 @@ export interface LifePhoneDataCreateLifePayOrderInput { userId?: string; - lifePayType?: LifeRechargeConstants.LifePayTypeEnum; productData?: LifePhoneData; } @@ -168,12 +178,10 @@ export interface CreateLifePayOrderOutput { orderNo?: string; - payUrl?: string; } export interface LifeElectricDataCreateLifePayOrderInput { userId?: string; - lifePayType?: LifeRechargeConstants.LifePayTypeEnum; productData?: LifeElectricData; } @@ -197,3 +205,8 @@ export interface APIgetPayStatusByOrderNoParams { orderNo?: string; } + +export interface SetLifePayOrderPayTypeInput { + orderNo: string; + lifePayType?: LifeRechargeConstants.LifePayTypeEnum; +} diff --git a/packages/components/src/views/PhoneBillRecharge/PhoneBillRecharge.vue b/packages/components/src/views/PhoneBillRecharge/PhoneBillRecharge.vue index a8130de..43fb296 100644 --- a/packages/components/src/views/PhoneBillRecharge/PhoneBillRecharge.vue +++ b/packages/components/src/views/PhoneBillRecharge/PhoneBillRecharge.vue @@ -113,12 +113,13 @@ const emit = defineEmits<{ ( e: 'goPay', - form: { - ispCode: typeof BlLifeRecharge.constants.IspCode; - phone: string; - parValue: number; - name: string; - } + // form: { + // ispCode: typeof BlLifeRecharge.constants.IspCode; + // phone: string; + // parValue: number; + // name: string; + // } + orderNo: string ): void; }>(); @@ -172,23 +173,19 @@ confirmDialogVisible.value = true; } -async function createLifePayPhoneOrder() { +async function goPay() { try { let params: LifePhoneDataCreateLifePayOrderInput = { userId: blLifeRecharge.userId, - // lifePayType: 10, productData: { ispCode: form.ispCode, parValue: 0.1, - phone: '18858418480', + phone: form.phone, name: form.ispCode === BlLifeRecharge.constants.IspCode.dianxin ? form.name : '', }, }; let res = await blLifeRecharge.services.createLifePayPhoneOrder(params); + emit('goPay', res.orderNo); } catch (error) {} -} - -function goPay() { - emit('goPay'); } </script> diff --git a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue index 95cf51f..6df3a0e 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,50 @@ // const props = withDefaults(defineProps<Props>(), {}); -function handleAliPay() {} +const emit = defineEmits<{ + (e: 'paySuccess', id: number): void; +}>(); + +const router = Taro.useRouter(); +const orderNo = router.params?.orderNo ?? ''; + +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/getPlaformServicePayQRCode', orderNo], +// queryFn: async () => { +// return await blLifeRecharge.services.getPayStatusByOrderNo( +// { +// orderNo, +// }, +// { +// showLoading: false, +// } +// ); +// }, +// onSuccess(data) { +// if (data === blLifeRecharge.constants.LifePayStatusEnum.宸叉敮浠�) { +// } +// }, +// refetchInterval: 1000 * 3, +// }); </script> -- Gitblit v1.9.1