|
@@ -7,7 +7,7 @@ type PublicData = {
|
|
|
orderCondition: string,//支付场景
|
|
|
}
|
|
|
/**现金购买-预下单*/
|
|
|
-export function cashBuy(data: PublicData, callbackFn?: (b:boolean) => void) {
|
|
|
+export function cashBuy(data: PublicData, callbackFn?: (b: boolean) => void) {
|
|
|
return new Promise(async (resolve, reject) => {
|
|
|
try {
|
|
|
// 初始化
|
|
@@ -16,7 +16,7 @@ export function cashBuy(data: PublicData, callbackFn?: (b:boolean) => void) {
|
|
|
method: 'POST',
|
|
|
data,
|
|
|
success: async (res) => {
|
|
|
- let r = await whcatPay(res.data?.data?.wechatMchPayInfo)
|
|
|
+ let r = await whcatPay(res.data?.data?.wechatMchPayInfo, res.data?.data?.orderNo)
|
|
|
console.log("支付操作完成!!", r)
|
|
|
callbackFn?.(true)
|
|
|
resolve(r)
|
|
@@ -31,7 +31,7 @@ export function cashBuy(data: PublicData, callbackFn?: (b:boolean) => void) {
|
|
|
})
|
|
|
}
|
|
|
/**书币购买*/
|
|
|
-export function virtualBuy(data: PublicData, callbackFn?: (b:boolean) => void) {
|
|
|
+export function virtualBuy(data: PublicData, callbackFn?: (b: boolean) => void) {
|
|
|
return new Promise(async (resolve, reject) => {
|
|
|
try {
|
|
|
// 初始化
|
|
@@ -40,7 +40,7 @@ export function virtualBuy(data: PublicData, callbackFn?: (b:boolean) => void) {
|
|
|
method: 'POST',
|
|
|
data,
|
|
|
success: async (res) => {
|
|
|
- getUserInfo()//刷新个人信息
|
|
|
+ await getUserInfo()//刷新个人信息
|
|
|
callbackFn?.(true)
|
|
|
resolve(res)
|
|
|
},
|
|
@@ -58,7 +58,7 @@ interface Data extends PublicData {
|
|
|
templateIndex: number,//下标
|
|
|
}
|
|
|
/**模板购买-预下单*/
|
|
|
-export function templateBuy(data: Data, callbackFn?: (b:boolean) => void) {
|
|
|
+export function templateBuy(data: Data, callbackFn?: (b: boolean) => void) {
|
|
|
return new Promise(async (resolve, reject) => {
|
|
|
try {
|
|
|
// 初始化
|
|
@@ -66,11 +66,11 @@ export function templateBuy(data: Data, callbackFn?: (b:boolean) => void) {
|
|
|
url: '/app/pay/buyOfTemplate',
|
|
|
method: 'POST',
|
|
|
data,
|
|
|
- success:async (res) => {
|
|
|
- let r = await whcatPay(res.data?.data?.wechatMchPayInfo)
|
|
|
+ success: async (res) => {
|
|
|
+ let r = await whcatPay(res.data?.data?.wechatMchPayInfo, res.data?.data?.orderNo)
|
|
|
console.log("支付操作完成!!", r)
|
|
|
- getUserInfo()//刷新个人信息
|
|
|
- getRechargeTemplate()//刷新模板
|
|
|
+ await getUserInfo()//刷新个人信息
|
|
|
+ await getRechargeTemplate()//刷新模板
|
|
|
callbackFn?.(true)
|
|
|
resolve(r)
|
|
|
},
|
|
@@ -92,8 +92,10 @@ type WhcatPay = {
|
|
|
signType: any,//签名算法
|
|
|
paySign: string,//签名
|
|
|
}
|
|
|
-export function whcatPay(params: WhcatPay) {
|
|
|
- console.log("微信支付:", params)
|
|
|
+export function whcatPay(params: WhcatPay, orderNo: string) {
|
|
|
+ console.log("微信支付:", params, { orderNo })
|
|
|
+ let time: any = null
|
|
|
+ let num = 0
|
|
|
return new Promise(async (resolve, reject) => {
|
|
|
try {
|
|
|
// 初始化
|
|
@@ -105,7 +107,23 @@ export function whcatPay(params: WhcatPay) {
|
|
|
title: '支付成功!',
|
|
|
icon: 'success'
|
|
|
});
|
|
|
- resolve(true)
|
|
|
+ if (time) {
|
|
|
+ clearInterval(time)
|
|
|
+ }
|
|
|
+ time = setInterval(async () => {
|
|
|
+ let data: any = await queryOrder(orderNo)
|
|
|
+ if (data && data?.orderStatus === 2) {
|
|
|
+ resolve(true)
|
|
|
+ clearInterval(time)
|
|
|
+ num = 0
|
|
|
+ }
|
|
|
+ num += 1
|
|
|
+ if (num > 10) {
|
|
|
+ resolve(true)
|
|
|
+ clearInterval(time)
|
|
|
+ num = 0
|
|
|
+ }
|
|
|
+ }, 1000)
|
|
|
},
|
|
|
fail: (err) => {
|
|
|
console.log("支付失败:", err)
|
|
@@ -127,4 +145,24 @@ export function whcatPay(params: WhcatPay) {
|
|
|
reject(error);
|
|
|
}
|
|
|
})
|
|
|
+}
|
|
|
+/**查询订单结果*/
|
|
|
+export function queryOrder(orderNo) {
|
|
|
+ return new Promise(async (resolve, reject) => {
|
|
|
+ try {
|
|
|
+ // 初始化
|
|
|
+ Taro.request({
|
|
|
+ url: `/app/pay/orderInfo/${orderNo}`,
|
|
|
+ method: 'GET',
|
|
|
+ success: (res) => {
|
|
|
+ resolve(res.data?.data)
|
|
|
+ },
|
|
|
+ fail: (err) => {
|
|
|
+ reject(err);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } catch (error) {
|
|
|
+ reject(error);
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|