Comment développer la gestion de session dans l'applet WeChat ? Introduction du didacticiel

青灯夜游
Libérer: 2021-04-25 08:58:22
avant
5874 Les gens l'ont consulté

Comment développer la gestion de session dans l'applet WeChat ? Introduction du didacticiel

Dans le développement de l'applet WeChat, chaque requête initiée par wx.request() est une session différente pour le serveur. L'applet WeChat ne stockera pas les informations de session. le serveur, ce qui correspond à différentes sessions sur le serveur. Puisque la session est utilisée dans le projet pour enregistrer les informations utilisateur, les demandes ultérieures équivalent à ne pas se connecter.

Notez que la session ici n'est pas la session maintenue par le mini programme via la méthode wx.login(), mais notre propre session côté serveur.

Dans des circonstances normales, lorsque le client initie une requête au serveur, les informations de session sont stockées dans le cookie et ramenées au serveur sous la forme d'un en-tête de requête, et les informations spécifiques dans l'en-tête de requête est l'identifiant de session. Comme le montre la figure ci-dessous

Comment développer la gestion de session dans lapplet WeChat ? Introduction du didacticiel

Ce qui est marqué en rouge est que nous devons transporter l'en-tête de requête renvoyé au serveur lors de la demande, donc ce dont nous avons besoin, c'est de la valeur de JESSIONID. Heureusement, l'applet WeChat prend également en charge les en-têtes de requête.

Solution :

1. Lorsque l'utilisateur se connecte, le serveur renvoie l'ID de session de l'utilisateur.

2. L'applet enregistre le sessionId, et porte le sessionId dans l'en-tête de la requête dans chaque requête suivante

Code clé du serveur :

Pour obtenir le sessionId, il suffit get L'objet de requête peut être facilement obtenu

Sting sessionId = request.getSession().getId();
Copier après la connexion

Renvoie le sessionId

...//登录时的业务代码
response.getWriter.write(sessionId);//把sessionId返回给前台
Copier après la connexion

Après vous être connecté à l'applet, stockez le sessionId dans une variable globale App.js est un bon endroit pour stocker global. variables.

...//登录后的逻辑处理
getApp().globalData.header.Cookie = \'JSESSIONID=\' + _data.sessionId;
Copier après la connexion

Le code dans app.js

globalData:{
header:{\'Cookie\': \'\'} //这里还可以加入其它需要的请求头,比如\'x-requested-with\': \'XMLHttpRequest\'表示ajax提交,微信的请求时不会带上这个的
},
Copier après la connexion

apporte le sessionId lors de la demande de l'applet

var header = getApp().globalData.header; //获取app.js中的请求头
wx.request({
url: localhost:8080/xx/xx,
header: header, //请求时带上这个请求头
success:function(res){
  }
}
Copier après la connexion

Il est recommandé d'encapsuler vos propres informations de demande et de traiter une logique commune.

Recommandé : "Tutoriel de développement de mini-programmes"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal