fix:修复订单创建跳转等待弹出页面的bug
This commit is contained in:
+55
-3
@@ -480,21 +480,73 @@
|
|||||||
try {
|
try {
|
||||||
// 调用微信支付分小程序
|
// 调用微信支付分小程序
|
||||||
const payResult = await initiateWeChatScorePayment(res);
|
const payResult = await initiateWeChatScorePayment(res);
|
||||||
|
console.log('支付分调用结果', payResult);
|
||||||
// 成功则跳转等待页,轮询在等待页处理
|
// 成功则跳转等待页,轮询在等待页处理
|
||||||
if (payResult.errCode == '0') {
|
if (payResult.errCode == '0' && payResult.extraData && Object.keys(payResult.extraData).length > 0) {
|
||||||
console.log('支付分授权成功,准备跳转,时间:', new Date().toLocaleTimeString());
|
console.log('支付分授权成功,准备跳转,时间:', new Date().toLocaleTimeString());
|
||||||
// 直接跳转(订阅消息已经在前面完成了)
|
// 直接跳转(订阅消息已经在前面完成了)
|
||||||
uni.redirectTo({
|
uni.redirectTo({
|
||||||
url: `/pages/waiting/index?orderNo=${order.orderNo}&deviceId=${deviceId.value}`
|
url: `/pages/waiting/index?orderNo=${order.orderNo}&deviceId=${deviceId.value}`
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
|
} else {
|
||||||
|
console.log('支付分未完成授权或用户取消,extraData:', payResult.extraData);
|
||||||
|
// 用户取消授权,需要取消订单
|
||||||
|
try {
|
||||||
|
uni.showLoading({
|
||||||
|
title: '取消订单中'
|
||||||
|
});
|
||||||
|
const cancelRes = await cancelOrder({ orderId: order.orderNo });
|
||||||
|
console.log('订单取消结果:', cancelRes);
|
||||||
|
uni.hideLoading();
|
||||||
|
|
||||||
|
uni.showToast({
|
||||||
|
title: '已取消订单',
|
||||||
|
icon: 'none',
|
||||||
|
duration: 2000
|
||||||
|
});
|
||||||
|
|
||||||
|
// 延迟返回首页
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.switchTab({
|
||||||
|
url: '/pages/index/index'
|
||||||
|
});
|
||||||
|
}, 2000);
|
||||||
|
} catch (cancelError) {
|
||||||
|
console.error('取消订单失败:', cancelError);
|
||||||
|
uni.hideLoading();
|
||||||
|
uni.showToast({
|
||||||
|
title: '取消订单失败,请联系客服',
|
||||||
|
icon: 'none'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
// 用户取消等其他情况,不做特殊处理
|
|
||||||
} catch (payError) {
|
} catch (payError) {
|
||||||
|
console.error('支付分调用异常:', payError);
|
||||||
|
// 支付分调用异常,也需要取消订单
|
||||||
|
try {
|
||||||
|
uni.showLoading({
|
||||||
|
title: '取消订单中'
|
||||||
|
});
|
||||||
|
const cancelRes = await cancelOrder({ orderId: order.orderNo });
|
||||||
|
console.log('订单取消结果:', cancelRes);
|
||||||
|
uni.hideLoading();
|
||||||
|
} catch (cancelError) {
|
||||||
|
console.error('取消订单失败:', cancelError);
|
||||||
|
uni.hideLoading();
|
||||||
|
}
|
||||||
|
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '支付分调用失败,请重试',
|
title: '支付分调用失败,订单已取消',
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.switchTab({
|
||||||
|
url: '/pages/index/index'
|
||||||
|
});
|
||||||
|
}, 2000);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
|
|||||||
Reference in New Issue
Block a user