diff --git a/front/templates/payPage.html b/front/templates/payPage.html
index 7d29acb..e28cb1c 100644
--- a/front/templates/payPage.html
+++ b/front/templates/payPage.html
@@ -197,8 +197,6 @@
case 3: // 支付成功
if (data.return_url) {
window.location.href = data.return_url; // 自动跳转
- } else {
- window.location.reload(); // 无链接则刷新
}
break;
default: // 其他状态(待支付/失败/关闭)
@@ -238,9 +236,17 @@
const pay = document.getElementById('pay');
pay.innerHTML = '
支付环境异常,请检查
';
} else if (data.data.length === 1) {
- // 只有一种支付方式,显示loading效果,并跳转
+ // 只有一种支付方式,显示loading效果
showLoading();
- window.location.href = `/pay/front/api/v1/payPage/submit?pay_channel_id=${data.data[0].pay_channel_id}&no=${id}`;
+
+ if(localStorage.getItem('auto-redirect')){
+ // 如果有自动跳转标记,展示支付界面
+ renderPaymentMethods(data.data);
+ }else{
+ // 否则设置自动跳转标记,并跳转
+ localStorage.setItem('auto-redirect', "true");
+ window.location.href = `/pay/front/api/v1/payPage/submit?pay_channel_id=${data.data[0].pay_channel_id}&no=${id}`;
+ }
} else {
// 多种支付方式,展示支付界面
renderPaymentMethods(data.data);
@@ -337,12 +343,11 @@
// 页面加载时执行
window.onload = function() {
- if (getQueryParam('return') == 'true') {
- // 如果是支付回调,处理支付结果
- handlePaymentCallback();
+ if (getQueryParam('return') == 'true' && !localStorage.getItem('auto-redirect')) {
+ handlePaymentCallback(); // 如果是支付回调且不是自动跳转,处理支付结果
} else {
- // 获取支付方式
- fetchPaymentMethods();
+ localStorage.removeItem('auto-redirect'); // 清除可能的auto-redirect标记
+ fetchPaymentMethods(); // 获取支付方式
}
};