很多人说使用reLaunch方式来跳转,此方法在 IOS 正常跳转,而在 Android 报错 relaunch:fail can not invoka lelaunch in background.
是因为支付成功后就会立马试图执行relaunch,而页面还停留在支付完成这个页面,导致小程序实际上是在后台的,而relaunch无法在后台执行,所以无法跳转。
因此可以尝试使用其他调整方式,如需要跳转到一级(tab)页面,用wx.switchTab。如果跳转到二级(非tab)页面,用wx.redirectTo:
wx.requestPayment({
success: function (res) {
//一级(tab)页面
wx.switchTab({
url: ''
});
//二级(非tab)页面
wx.redirectTo({
url: ''
});
},
fail: function (err) {
}
});