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中执行微信支付后,点击完成按钮时,浏览器会默认跳转到应用初始页面而非期望的支付结果页。

解决方案:

  1. 使用replace跳转替代navigateTo 在支付成功回调中使用页面替换而非压栈:
uni.redirectTo({
  url: '/pages/payment/success'
})
  1. 检查路由栈管理 确保支付前的页面路由逻辑正确,避免在支付过程中重复压入页面。

  2. 处理浏览器历史记录 Safari对历史记录管理较为严格,可在支付前清理无关历史:

// 支付前清空历史
const pages = getCurrentPages()
if(pages.length > 1) {
  uni.redirectTo({
    url: '/pages/payment/index'
  })
}
回到顶部