.Net6微信小程序Session解决方案
微信小程序不保存cookie,而session是依托cookie,因此开发的 微信小程序api无法直接使用session。
解决方案:
在微信小程序发送请求给服务器端,服务器端处理后返回给微信小程序的response的header中会包含有Set-Cookie内容,顾名思义是要客户端保存这部分的内容作为cookie值,因此把这个部分内容保存到storage或者全局参数内,当微信小程序再次向服务器端发送请求时,在header里带上Cookie内容,其值就是前面保存的数据即可。
服务器端基本无需修改,只需要添加如下2个代码:
保存Set-Cookie内容(UniApp):
if(res.header['Set-Cookie']){
getApp().globalData.cookie = res.header['Set-Cookie'];
}
请求时:
uni.request({
url:'http://xxxx',
header:{
'Cookie':getApp().globalData.cookie,
.......
},
.........
})
相对来说,把http请求抽象成一个工具类,就不需要每次请求时都要设置或者保存这个数据。