1.問題描述:安卓系統可以正常支付,然而蘋果系統怎么支付都不能正常支付,debug顯示當前頁面url未注冊。
原理:單頁應用,ios系統獲取簽名的url是首次進入頁面的地址,安卓系統獲取的是當前頁面的url地址
解決方案:我們要在支付頁面獲取到url,所以需要在支付的前一個頁面跳轉的時候加上這個就可以了。
uni.navigateTo({ url: '/pages/order/order' , // #ifdef H5 success:(res)=>{ if(res.errMsg == 'navigateTo:ok'){ window.location.reload ( true ); } } // #endif })
2.如果是url地址中的“?”后面的參數獲取不到可加上這一段代碼
原理:在瀏覽器中的url地址中的“?”后邊是用來當做參數的
if (location.href.indexOf("?#") < 0) { location.href = location.href.replace("#", "?#"); }