關於解決ios獲取url異常造成獲取微信數字簽名失敗的問題

由於ios微信保留首次進入的url,導致獲取微信數字簽名失敗。

經過搜索資料,通過把首次進入的url保存在cookies裏,每次判斷如果是ios就從cookies取出url,如果是android就直接用window.location.href獲取當前url。以爲終於解決了這個問題。最後發現並不是所有ios都行,部分蘋果機型比如6plus,仍然報簽名失敗,這部分機型需要跟安卓一樣獲取當前url。

經過多方面考量,最終找到如下方式。

在每次路由跳轉時,攔截,判斷如果是ios,就用location.assign方法跳轉真實路徑,解決掉ios只保留首次url的問題。

歡迎各位小夥伴,交流一下自己是怎麼解決這個問題的。

其中process.env.BASE_URL爲根路徑,全局變量

const to_fullPath = process.env.BASE_URL + to.fullPath.replace('/', '')
const to_path = process.env.BASE_URL + to.path.replace('/', '')
if (isIos() === true && to_path !== global.location.pathname) {  // 判斷是否是ios
  location.assign(to_fullPath)
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章