ホームページ  >  に質問  >  本文

angular.js - angular は公式アカウントの開発中に openid ステータスをどのように維持しますか?

WeChat パブリック アカウントの使用時に永続的な openid に関する問題が発生しました。現在のプロジェクトでは、サーバー側を使用して openid を取得し、それをセッションに保存してからフロントエンドに戻ります。 angular のbase.js ファイルを使用して、openid を非同期的に取得し、他のページが呼び出すために localStorage に書き込みます。

現状の問題は、最初にページに入ってopenidを取得した後は、そのページ内では普通に利用できるし、ページ間を移動した際にも取得できるのですが、一旦WeChatをバックグラウンドで閉じてしまうと、openidが取得できないことです。公式アカウントのメニューを入力してクリックすると、openidが再度取得され、redirect_urlで定義されたページにリダイレクトされてしまい、該当メニューに正常に入ることができなくなります。 openidの取得方法が間違っているか、サーバー側のアプローチが間違っているので、アドバイスをいただければ幸いです。

ringa_leeringa_lee2687日前1291

全員に返信(2)返信します

  • 滿天的星座

    滿天的星座2017-07-04 13:46:38

    この問題の説明はあまり明確ではありません。 openid を取得したい場合は、まず WeChat の Web ページを通じて認証コードを取得し、次に openid を取得する必要があります。したがって、openid はそれをキャッシュしようとします。

    返事
    0
  • 怪我咯

    怪我咯2017-07-04 13:46:38

    WeChat が提供するブラウザーでプログラムが実行されるのは当然です。WeChat が起動したら、プログラムも終了する必要があります。ここに入るときは、サーバーに再度アクセスして取得します。すべてが新しいものです。実際、openId はサービスに保存でき、ローカル ストレージに保存する必要はありません。

    意味がわからないのでもう一度整理してください。

    返事
    0
  • キャンセル返事