問題:安卓機可以正常使用掃一掃,ios會出現以下錯誤
我的流程:進入掃一掃頁面,配置wx.config. 點擊按鈕進行掃一掃。
原因:IOS的微信內置瀏覽器,驗證簽名,單頁應用的路由是不行的,也就是說 到需要調用掃一掃的頁面,必須是由window.location.href跳轉過來,而不是this.$router.push.
解決方案:1.調用掃一掃的上一個頁面 到 調用掃一掃的頁面 必須 是window.location.href.
2.前端發送給后台,為了配置簽名 需要用到url, 這個url = window.location.href.split('#')。(路由模式為hash),我瀏覽其他帖子的時候,說的都含糊其詞,什么不包括#號后面,又包括get請求的參數部分。記住就是url = window.location.href.split('#')
另外的小坑:當我將跳轉url形式改為window.location.href時,發現安卓機跳轉時無比緩慢
解決方案:判斷下機型,代碼如下
//判斷機型ios/安卓 appSource() { const u = navigator.userAgent; const isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); if (isiOS) { return true; } else { return false; } },
如果未解決 可聯系本人 QQ:1726928218