uni-app 苹果浏览器Safari 打开H5 使用微信支付支付成功后 点击完成按钮 始终回到pages中定义的第一个页面
uni-app 苹果浏览器Safari 打开H5 使用微信支付支付成功后 点击完成按钮 始终回到pages中定义的第一个页面
2 回复
和放弃支付的效果是一致的
更多关于uni-app 苹果浏览器Safari 打开H5 使用微信支付支付成功后 点击完成按钮 始终回到pages中定义的第一个页面的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个典型的支付回调页面路由问题。在Safari中执行微信支付后,点击完成按钮时,浏览器会默认跳转到应用初始页面而非期望的支付结果页。
解决方案:
- 使用replace跳转替代navigateTo 在支付成功回调中使用页面替换而非压栈:
uni.redirectTo({
url: '/pages/payment/success'
})
-
检查路由栈管理 确保支付前的页面路由逻辑正确,避免在支付过程中重复压入页面。
-
处理浏览器历史记录 Safari对历史记录管理较为严格,可在支付前清理无关历史:
// 支付前清空历史
const pages = getCurrentPages()
if(pages.length > 1) {
uni.redirectTo({
url: '/pages/payment/index'
})
}

