diff --git a/front/templates/payPage.html b/front/templates/payPage.html
index d5fd6c8..ba4f365 100644
--- a/front/templates/payPage.html
+++ b/front/templates/payPage.html
@@ -164,7 +164,7 @@
function showLoading() {
document.getElementById('payment-info').style.display = 'none';
document.getElementById('pay-container').style.display = 'none';
- document.getElementById('loading').style.display = 'flex';
+ document.getElementById('loading').style.display = 'block';
}
// 关闭Loading效果
@@ -177,11 +177,8 @@
// 处理支付回调
function handlePaymentCallback() {
const id = getQueryParam('no');
- alert(id, 'id')
if (!id) return;
- showLoading(); // 显示加载状态
-
// 查询订单状态
fetch(`/pay/front/api/v1/payPage/query?no=${id}`, {
method: 'POST',
@@ -193,7 +190,7 @@
.then(data => {
switch(data.status) {
case 2: // 处理中
- setTimeout(handlePaymentCallback, 1000); // 1秒后重查
+ handlePaymentCallback(); // 重查状态
break;
case 3: // 支付成功
if (data.return_url) {
@@ -201,6 +198,7 @@
}
break;
default: // 其他状态(待支付/失败/关闭)
+ alert('其他状态:待支付/失败/关闭');
closeLoading();
// window.location.reload();
}
@@ -215,7 +213,7 @@
// 获取支付方式列表
function fetchPaymentMethods() {
const id = getQueryParam('no');
- console.log('Order no:', id);
+ alert(`订单id:${id}`);
if (id) {
fetch(`/pay/front/api/v1/payPage/list?id=${id}`, {
method: 'POST',
@@ -239,25 +237,27 @@
const pay = document.getElementById('pay');
pay.innerHTML = '
支付环境异常,请检查
';
} else if (data.data.length === 1) {
- // 只有一种支付方式,显示loading效果
- showLoading();
+ alert('只有一种支付方式');
- if(localStorage.getItem('auto-redirect') == 1){
+ if(localStorage.getItem('auto-redirect') == 2){
+ alert(`只有一种支付方式,有自动跳转标记:${localStorage.getItem('auto-redirect')}`);
// 如果有自动跳转标记,展示支付界面
renderPaymentMethods(data.data);
}else{
+ alert(`只有一种支付方式,没有自动跳转标记`);
// 否则设置自动跳转标记,并跳转
localStorage.setItem('auto-redirect', 2);
window.location.href = `/pay/front/api/v1/payPage/submit?pay_channel_id=${data.data[0].pay_channel_id}&no=${id}`;
}
} else {
+ alert(`多种支付方式`);
// 多种支付方式,展示支付界面
renderPaymentMethods(data.data);
}
})
.catch(error => {
console.error('获取支付方式失败:', error);
- document.getElementById('loading').style.display = 'none';
+ closeLoading();
const pay = document.getElementById('pay');
pay.innerHTML = '获取支付方式失败,请刷新重试
';
});
@@ -345,18 +345,20 @@
// 页面加载时执行
window.onload = function() {
- showLoading()
+ alert(`auto-redirect:${!localStorage.getItem('auto-redirect')}`);
if (localStorage.getItem('auto-redirect') == 2) {
+ alert('支付回调且不是自动跳转');
handlePaymentCallback(); // 如果是支付回调且不是自动跳转,处理支付结果
} else {
- localStorage.setItem('auto-redirect', 1)
- // localStorage.removeItem('auto-redirect'); // 清除可能的auto-redirect标记
+ alert('首次加载');
+ localStorage.setItem('auto-redirect', 1); // 设置自动跳转标记
fetchPaymentMethods(); // 获取支付方式
}
};
+
window.onunload = function() {
- localStorage.removeItem('auto-redirect'); // 清除可能的auto-redirect标记
- }
+ localStorage.removeItem('auto-redirect'); // 离开页面时清除自动跳转标记
+ };