マイクロチャネルJSSDKの[スイッチ]ドリーネは、「無効な署名」の遭遇しました

著者:MapleShawの
リンクします。https://juejin.im/post/5a3cc5ae5188252103347221
出典:ナゲッツの
著者によって予約の著作権。著者は認可商業転載してください接触、非商用の転載は、ソースを明記してください。

 

wx.config()が多すぎるオンライン情報の一片、このバイパスの基本的な構成、問題のピットが発生する最も直接的な発言----無効署名

各ケースの調査は、常に何の原因ではありませんが、魔法も明らかに現在のURLのURLの署名と同じで印刷、単に「無効な署名」してiOSでは、Androidの通常の位置で提供されています、なぜ問題がある署名があります!

ページの構造は次のよう:

スパ:

  • ページ
  • ページB

Aからのアクセスは非常に簡単で、アプリケーション全体、そしてBにジャンプ、Bは位置を取得する必要があり、I Bの内側だけマイクロチャネル構成JSSDK、そして我々は前述の問題に走りました。その後!ここで重要なの!デバッグ時には、私がして、その上に、Bから直接、ページをリフレッシュ!何FUK?

この問題を保持しているので、それぞれの時間を撮影するために、Bから、およびAからBに非常に絹のようなすべての負荷を更新し、私はHTML5-履歴モードマイクロブラウザの手紙について----この新しい世界に来ました内の問題

これは、江紫ことが判明しましたか?

IOS:IOS、アンドリュースマイクロチャンネルバージョンのマイクロチャネルバージョン、あなたはルーティング切り替えるたびに、SPAのURLは変更されません、現在のページは、ページのURLを入力する最初のときに、URLパラメータの署名要求がURLである必要があります開始

アンドロイド:アンドリュースマイクロチャンネルバージョン、あなたはSPAのURLが変更にバインドされ、ルーティング切り替えるたびに、開始URLパラメータ署名要求は、現在のページ(いないページへの1回目)のURLである必要があります

ピットの父ああ!損失私はバイMingmingのため、現在のページのURL(LOCATION.HREF)で要求署名のURLを入れても同じです!

 

ソリューション:

URL SPAへのグローバルメモリの(window.entryUrl)、Androidの変わらないが、それでも現在のページのURLを取得し、window.entryUrlの使用上のIOSは、その後、署名は、やりました!

// マイクロチャネルSDKの後ろ、アプリケーションのURLを入力レコード
IF(window.entryUrl === '' ){ 
    window.entryUrl = location.href.split( '#')[0 ] 
} 
// 署名する際 
のURLを:isAndroid ?()location.href.split( '#' )[0]:window.entryUrl

余談:のように見えますが、人々は、マイクロチャネルの共有に対処する上で同様の問題を持って参照するには



おすすめ

転載: www.cnblogs.com/sungong1987/p/12384322.html