微信js-sdk configはアンドロイドシステムで正常だが、iosシステムは「invalid signature」と報告している.

699 ワード

プロジェクト背景:Vue単一ページルーティングモードhash用微信スイープ
問題が発生しました:見出しを参照
解決方法:バックエンドに現在の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   
    }