国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

angular.js - Angular によって開発されたシングルページ アプリケーション。Web ページの認証を正しく実裝し、WeChat で js SDK を呼び出す方法
phpcn_u1582
phpcn_u1582 2017-05-15 17:12:10
0
5
1012

WeChat 公開アカウントの外部リンク Web ページが、angular を使用して シングルページ アプリケーション に作成されました。現(xiàn)在、WeChat Web ページの認証と js SDK

の呼び出しで問題が発生しています。

WeChat 認証

これまでに私が知っている限り、WeChat 認証を呼び出した後、シングルページ アプリケーションの入り口 URL は次のようになります (ドメイン名が example.com であると仮定します):

  • http://example.com?code=aaabbb/#/home

または (html5 mode が有効な場合) は次のようになります:

  • http://example.com/home?code=aaabbb

?code=aaabbb は、WeChat 認証後のリダイレクト時に入力されます。これによってのみ、WeChat 開発ドキュメント > コードの取得

を參照できます。

今のところ問題はありません


js SDK を呼び出す

Android WeChat クライアントは新しい H5 機能の PushState をサポートしていないため、URL ② は放棄されています (個人テスト、検証に合格しません)。そのため、入口 URL は次のようになります:

  • http://example.com?code=aaabbb/#/home

ここで問題が発生します。?code=aaabbb がない場合、署名検証に合格し、js SDK を正常に呼び出すことができます。ただし、実際の狀況では、承認が必要な場合は、?code=aaabbb が必要です。が存在し、署名検証は失敗する必要があります。では、認証と SDK 呼び出しを利用できるようにするにはどうすればよいでしょうか? ? ?

私の現(xiàn)在の考えと実踐は次のとおりです。WeChat が http://example.com?code=aaabbb/#/home へのリダイレクトを承認した後、コードを取得し、次に location.href = http://example.com/#/home を取得します。これにより、ユーザー情報を取得して SDK を正常に呼び出すことができますが、問題は、アプリケーションに入るたびに が 2 回 更新され、ユーザー エクスペリエンスが非常に低下することです。たとえ強迫性障害であっても受け入れられません。

信頼できる解決策を教えてください


phpcn_u1582
phpcn_u1582

全員に返信(5)
黃舟

純粋なフロントエンドは実裝できません。許可コールバック ページのドメイン名をバックエンド サーバーに設定し、バックエンドからリダイレクトすることのみ可能です。

いいねを押す +0
PHPzhong

indexOf()を使用してコード値を取得できます

リーリー

これでコード値を取得できます

いいねを押す +0
phpcn_u1582

純粋なフロントエンドは実裝できません。たまたま、私は最近同様のプロジェクトを実行しましたが、これも angularjs を使用し、angular-route.js を通じて単一ページのプログラムを実裝しました。

単一ページ プログラム (index.html) で ajax を介してバックグラウンド インターフェイスを呼び出します。
成功した場合は、戻り値: {status:true,...}
ログインしておらず失敗した場合、戻り値: {status:falst,next: 'login',errmsg :'Error'}
その他のエラーが返されました: {status:falst,next:'次の操作',errmsg:'Error'}

戻りステータスが result.status==false の場合、 result.next=='login':

リーリー

ログインが成功したことを確認した後、SESSIONを設定した後、シングルページプログラム(index.html)にジャンプします。
すでにログインしているため、プログラムは引き続きインターフェイスを呼び出します。 、次を返します: {status:true ,...}

いいねを押す +0
某草草

元のポスターは location.href=""?

になってしまいました
いいねを押す +0
洪濤

これをどうやって解決すればよいでしょうか? 私も Vue を使って WeChat を開発する予定です。

いいねを押す +0
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート