WeChat アプレットでセッション管理を開発するにはどうすればよいですか?チュートリアルの紹介

青灯夜游
リリース: 2021-04-25 08:58:22
転載
5873 人が閲覧しました

WeChat アプレットでセッション管理を開発するにはどうすればよいですか?チュートリアルの紹介

WeChat ミニ プログラムの開発では、wx.request() によって開始された各リクエストはサーバーの異なるセッションです。WeChat ミニ プログラムはセッション情報を保存しません。サーバー。サーバー上のさまざまなセッションに対応します。セッションはプロジェクトにユーザー情報を保存するために使用されるため、後続のリクエストはログインしないことと同じです。

ここでのセッションは、wx.login() メソッドを通じてミニ プログラムによって維持されるセッションではなく、独自のサーバー側セッションであることに注意してください。

通常の状況では、クライアントがサーバーへのリクエストを開始すると、セッション情報が Cookie に保存され、リクエスト ヘッダーの形式でサーバーに戻され、リクエスト内の特定の情報が返されます。 header はセッション ID です。下の図に示すように

WeChat アプレットでセッション管理を開発するにはどうすればよいですか?チュートリアルの紹介

#赤色の部分は、リクエストを行うときにサーバーに返されるリクエスト ヘッダーを運ぶ必要があることを示しています。必要なのは JESSIONID の値です。たまたま、WeChat アプレットもリクエスト ヘッダーのサポートを提供しています。

解決策:

1. ユーザーがログインすると、サーバーはユーザーの sessionId を返します。

2. アプレットは sessionId を保存し、後続の各リクエストのリクエスト ヘッダーに sessionId を含めます。

サーバー キー コード:

sessionId を取得するメソッド。 request オブジェクトは簡単に取得できます

Sting sessionId = request.getSession().getId();
ログイン後にコピー

セッション Id を返す

...//登录时的业务代码
response.getWriter.write(sessionId);//把sessionId返回给前台
ログイン後にコピー

アプレットにログインした後、グローバル変数にセッション ID を保存します。グローバル変数を保存するには、App.js が適しています。

...//登录后的逻辑处理
getApp().globalData.header.Cookie = \'JSESSIONID=\' + _data.sessionId;
ログイン後にコピー

app.js のコード

globalData:{
header:{\'Cookie\': \'\'} //这里还可以加入其它需要的请求头,比如\'x-requested-with\': \'XMLHttpRequest\'表示ajax提交,微信的请求时不会带上这个的
},
ログイン後にコピー

アプレットをリクエストするときにセッション ID を取得する

var header = getApp().globalData.header; //获取app.js中的请求头
wx.request({
url: localhost:8080/xx/xx,
header: header, //请求时带上这个请求头
success:function(res){
  }
}
ログイン後にコピー

独自のリクエスト情報をカプセル化し、いくつかの共通ロジックを処理することをお勧めします。

推奨事項: 「 ミニ プログラム開発チュートリアル

以上がWeChat アプレットでセッション管理を開発するにはどうすればよいですか?チュートリアルの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート