Files
frontend-app/utils/payment-navigation.js
T
2026-09-23 10:29:41 +08:00

20 lines
871 B
JavaScript

// Shared result pages for WeChat, Alipay and Douyin. Keep the existing page design.
export function jumpToPaymentSuccess(customUrl) {
return jumpToPaymentResult(customUrl || '/pages/order_package/order_submit_ok/order_submit_ok');
}
export function jumpToPaymentFailure() {
return jumpToPaymentResult('/pages/order_package/order_submit_error/order_submit_error');
}
function jumpToPaymentResult(url) {
const pages = typeof getCurrentPages === 'function' ? getCurrentPages() : [];
if (pages[pages.length - 1]?.route === url.slice(1)) return Promise.resolve(true);
return new Promise(resolve => {
uni.navigateTo({ url, success: () => resolve(true), fail: () => {
// A full page stack must not leave a confirmed payment on the checkout screen.
uni.redirectTo({ url, success: () => resolve(true), fail: () => resolve(false) });
} });
});
}