E企盈营销工具技术服务商 热线:4006-838-530

微信小程序保持登录状态(自己服务端的session)的解决方案(java)

E企盈直播平台营销卖货系统

问题:由于wx.request()发起的每次请求对于服务器来说都是不同的会话(wx.request()请求是先经过微信服务器再到达我们的服务器),这样导致后续请求都相当于未登录的状态。解决方案:session信息存放在cookie中以请求头的方式带回给服务端JSESSIONID=***;小程序有提供对请求头的支持流程:1、在用户登录时,服务器将会话sessionId返回到客户端(小程序)HttpSession session = request.getSession();Sting sessionId = session.getId();2、小程序保存session到storage(全局变量app.js),在之后的每一次请求中都携带请求头sessionId/*保存到storage*/wx.setStorage({  key: ‘sessionId’,  data: ‘JSESSIONID=’+res.data.sessionId,  success: function (res) {    console.log(res)  }})/*保存到app.js*/App({  onLaunch: function () {      },  globalData: {    header: { ‘Cookie’: ‘JSESSION=***’ }  }})getApp().globalData.header.Cookie = ‘JSESSIONID=’ + sessionId;/*服务端返回的消息*/请求中带上请求头:sessionIdvar header = getApp().globalData.header; //获取app.js中的请求头wx.request({  url: “****”,  header: header, //请求时带上这个请求头  success:function(res){  }})//获取storage中的请求头getCheckLoginFlag:function(){    var loginFlag = wx.getStorageSync(‘loginFlag’)    var sessionId = wx.getStorageSync(‘sessionId’)    if (typeof (loginFlag)!=”undefined”){      wx.request({        url: ‘***’,        data: {          loginFlag: loginFlag        },        header: {          ‘content-type’: ‘application/json’,          ‘Cookie’: sessionId        },        success: function (res) {          console.log(res)        }      })    }  }微信小程序

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序保持登录状态(自己服务端的session)的解决方案(java)
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏