小程序模拟Session

公司要基于原来的网站,开发微信小程序,原网站是基于阿里开源的nodejs企业级开发框架eggjs,开发过程中出现了点小问题,微信小程序不支持cookie,无法保持会话状态,便使用开发小程序js模拟session

获取服务端session

请求后台数据,本地全局保存session

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
App({
//加载运行
onLaunch:function(){
this.loginServer();
},
//登录方法
loginServer:function(){
var that = this;
//请求服务器,获取session
wx.request({
url:'请求登录地址',
header:{
'Content-Type':'application/x-www-form-urlencoded'
},
method:'GET',
data:'登录需要的参数',
success:function(res){
const sessionStr = res.header['set-cookie'];
//将session存储到全局变量
this.globalData.jscookie = session
}
}
})
}
})

携带session请求数据

请求的时候只需要把session加到请求头模拟session请求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var header;
header = {
'content-type': 'application/x-www-form-urlencoded',
'cookie':getApp().globalData.jscookie//读取cookie
};
//进行请求,一般外层都有一个封装,然后放在公共类里边
wx.request({
url: realURL,
method: method,
header: header,//传在请求的header里
data: datas,
success(res) {
//请求成功的处理

}
)}

这就是简单的小程序模拟session

李金鹏 wechat
ex. subscribe to my blog by scanning my public wechat account
努力工作,好好赚钱