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