Wie verwaltet man Sitzungen in Miniprogrammen?

青灯夜游
Freigeben: 2020-05-16 18:01:02
nach vorne
3188 Leute haben es durchsucht

Wie verwaltet man Sitzungen in Miniprogrammen? Der folgende Artikel stellt Ihnen ein Tutorial zur Sitzungsverwaltung für die WeChat-Applet-Entwicklung vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Bei der Entwicklung des WeChat-Applets ist jede von wx.request() initiierte Anfrage eine andere Sitzung für den Server, und das WeChat-Applet gibt die Sitzungsinformationen nicht zurück an den Server, dh entsprechend verschiedenen Sitzungen auf dem Server. Da die Sitzung im Projekt zum Speichern von Benutzerinformationen verwendet wird, entsprechen nachfolgende Anforderungen einer Nichtanmeldung.

Beachten Sie, dass es sich bei der Sitzung hier nicht um die Sitzung handelt, die vom Miniprogramm über die Methode wx.login() verwaltet wird, sondern um unsere eigene serverseitige Sitzung.

Wenn der Client unter normalen Umständen eine Anfrage an den Server initiiert, werden die Sitzungsinformationen im Cookie gespeichert und in Form eines Anfrageheaders und der spezifischen Informationen im Anfrageheader an den Server zurückgebracht ist die Sitzungs-ID. Wie in der Abbildung unten gezeigt

Wie verwaltet man Sitzungen in Miniprogrammen?

Was rot markiert ist, ist, dass wir den Anforderungsheader beim Senden der Anforderung an den Server zurückgeben müssen Was wir brauchen, ist der Wert von JESSIONID. Zufälligerweise bietet das WeChat-Applet auch Unterstützung für Anforderungsheader.

Lösung:

1. Wenn sich der Benutzer anmeldet, gibt der Server die Sitzungs-ID des Benutzers zurück.

2. Das Applet speichert die SessionId und trägt die SessionId im Request-Header bei jeder weiteren Anfrage

Schlüsselcode des Servers:

Um die Sitzungs-ID zu erhalten, können Sie sie ganz einfach abrufen, solange Sie das Anforderungsobjekt erhalten

Sting sessionId = request.getSession().getId();
Nach dem Login kopieren

Sitzungs-ID zurückgeben

...//登录时的业务代码
response.getWriter.write(sessionId);//把sessionId返回给前台
Nach dem Login kopieren

Speichern Sie die Sitzungs-ID nach der Anmeldung beim Applet im globalen Variable, app.js Es ist ein guter Ort zum Speichern globaler Variablen.

...//登录后的逻辑处理
getApp().globalData.header.Cookie = \'JSESSIONID=\' + _data.sessionId;
Nach dem Login kopieren

Der Code in app.js

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

bringt die Sitzungs-ID bei der Anforderung des Applets

var header = getApp().globalData.header; //获取app.js中的请求头
wx.request({
url: localhost:8080/xx/xx,
header: header, //请求时带上这个请求头
success:function(res){
  }
}
Nach dem Login kopieren

Es wird empfohlen, Ihre eigenen Anforderungsinformationen zu kapseln und eine allgemeine Logik zu verarbeiten.

Empfohlen: „Mini-Tutorial zur Programmentwicklung

Das obige ist der detaillierte Inhalt vonWie verwaltet man Sitzungen in Miniprogrammen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage