WeChat パブリック アカウントの使用時に永続的な openid に関する問題が発生しました。現在のプロジェクトでは、サーバー側を使用して openid を取得し、それをセッションに保存してからフロントエンドに戻ります。 angular のbase.js ファイルを使用して、openid を非同期的に取得し、他のページが呼び出すために localStorage に書き込みます。
現状の問題は、最初にページに入ってopenidを取得した後は、そのページ内では普通に利用できるし、ページ間を移動した際にも取得できるのですが、一旦WeChatをバックグラウンドで閉じてしまうと、openidが取得できないことです。公式アカウントのメニューを入力してクリックすると、openidが再度取得され、redirect_urlで定義されたページにリダイレクトされてしまい、該当メニューに正常に入ることができなくなります。 openidの取得方法が間違っているか、サーバー側のアプローチが間違っているので、アドバイスをいただければ幸いです。
滿天的星座2017-07-04 13:46:38
この問題の説明はあまり明確ではありません。 openid を取得したい場合は、まず WeChat の Web ページを通じて認証コードを取得し、次に openid を取得する必要があります。したがって、openid はそれをキャッシュしようとします。
怪我咯2017-07-04 13:46:38
WeChat が提供するブラウザーでプログラムが実行されるのは当然です。WeChat が起動したら、プログラムも終了する必要があります。ここに入るときは、サーバーに再度アクセスして取得します。すべてが新しいものです。実際、openId はサービスに保存でき、ローカル ストレージに保存する必要はありません。
意味がわからないのでもう一度整理してください。