uni.requestPayment 是用于發(fā)起微信支付的統(tǒng)一接口,而 wx.onAppRoute 是用于監(jiān)聽小程序的路由變化。當(dāng) uni.requestPayment 支付成功后,如果發(fā)生了頁面跳轉(zhuǎn)或者其他路由變化,wx.onAppRoute 會被觸發(fā)。這個(gè)行為是正常的,因?yàn)橹Ц冻晒罂赡軙痦撁嫣D(zhuǎn)來展示支付結(jié)果或其他信息。如果你不希望在支付成功后監(jiān)聽路由變化,你可以在支付請求前后使用變量來控制監(jiān)聽行為。例如:
let isListeningRoute = false;
if (!isListeningRoute) {wx.onAppRoute(function(res) {console.log('路由變化:', res.path);});isListeningRoute = true;
}
uni.requestPayment({success: function () {console.log('支付成功');wx.offAppRoute();},fail: function () {console.log('支付失敗');}
});