• 2022年7月11日

.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请求抽象成一个工具类,就不需要每次请求时都要设置或者保存这个数据。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注