diff --git a/app/pages/payment/checkoutPage/index.vue b/app/pages/payment/checkoutPage/index.vue index 90da516..39f872a 100644 --- a/app/pages/payment/checkoutPage/index.vue +++ b/app/pages/payment/checkoutPage/index.vue @@ -41,7 +41,7 @@ async function handleSubmit(e) { const { error } = await stripe.confirmPayment({ elements: elements.value, confirmParams: { - return_url: "http://192.168.88.68:3000/payment/result?orderNo="+payUid.value, + return_url: `${window.location.origin}/payment/result?orderNo=${payUid.value}`, }, }) diff --git a/app/pages/payment/result/index.vue b/app/pages/payment/result/index.vue index a8f412a..db87be4 100644 --- a/app/pages/payment/result/index.vue +++ b/app/pages/payment/result/index.vue @@ -14,21 +14,28 @@ let timer = null let startTime = Date.now() const queryOrder = async () => { + // 首先检查是否已经超过5秒 + if (Date.now() - startTime > 5000) { + clearInterval(timer) + closeToast() + return + } + showLoadingToast({ message: '加载中...', forbidClick: true, }); - + try { const res = await orderQuery({ orderNo: route.query.orderNo }) - + if (res.status === 0) { resData.value = res.data - - // 如果状态为1或者超过5秒,停止轮询 - if (resData.value.status === 1 || Date.now() - startTime > 5000) { + + // 只在支付成功时停止轮询 + if (resData.value.status === 1) { clearInterval(timer) closeToast() } @@ -68,11 +75,12 @@ const goHome = () => {