微信js-sdk configはアンドロイドシステムで正常だが、iosシステムは「invalid signature」と報告している.
699 ワード
プロジェクト背景:Vue単一ページルーティングモードhash用微信スイープ
問題が発生しました:見出しを参照
解決方法:バックエンドに現在のurlを転送して微信configを取得する場合、hashルーティング#の後ろの内容を削除するので、urlを取る方法はlocationである.href.split('#')[0].
補足:iosとandroidではlocation.hrefはspaページのメカニズムが異なる(iosはページをリフレッシュしない限りhrefは変わらない)ので、対応するシステムを適切に調整する必要があります.
最終的なソリューション:
問題が発生しました:見出しを参照
解決方法:バックエンドに現在のurlを転送して微信configを取得する場合、hashルーティング#の後ろの内容を削除するので、urlを取る方法はlocationである.href.split('#')[0].
補足:iosとandroidではlocation.hrefはspaページのメカニズムが異なる(iosはページをリフレッシュしない限りhrefは変わらない)ので、対応するシステムを適切に調整する必要があります.
最終的なソリューション:
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios
let url=''
if (isAndroid) {
url=location.href
}
if (isIOS) {
url=location.href.split('#')[0] //hash ios config
}