「瑞思小程序技术分享」小程序SESSION问题
author:一佰互联 2019-04-04   click:156

简介:前段时间承接一个物流平台小程序开发,需要使用原有的后台系统,并和线上APP接口进行兼容。进入开发阶段,查看后台代码发现,APP登录后将用户信息保存在后台session之中。按照通常WEB端的开发逻辑,没有问题,我们可 ...

前段时间承接一个物流平台小程序开发,需要使用原有的后台系统,并和线上APP接口进行兼容。进入开发阶段,查看后台代码发现,APP登录后将用户信息保存在后台session之中。按照通常WEB端的开发逻辑,没有问题,我们可以从session中取出用户信息,但是,在小程序端就尴尬了。小程序不能,如何解决?小程序并不是WEB程序,请求时并不会携带sessionId参数。问题来了,APP可以正常取到session,问题产生场景:获取验证码、获取用户信息....问题产生原因:网上有很多朋友说是因为小程序不属于WEB程序,请求不会携带sessionId,小编对这种说法持有怀疑态度(因为小程序就算不属于WEB程序,个人认为请求时也会携带sessionID参数)。于是亲自去实验了一把,发现其实是有sessionID存在的。

「瑞思小程序技术分享」小程序SESSION问题

那么到底是由于什么原因导致这种问题呢?小编认为其实每次请求都会携带sessionID参数,只不过小程序通过wx.request请求的时候,先要请求微信服务器,通过微信服务器请求我们的应用接口获取信息。中间存在两次请求,sessionID自然会产生变化,sessionID不统一,在后台程序中自然获取不到session。问题解决方案:统一SessionID,在小程序端,当用户每次进入小程序时,通过后台接口获取 sessionID,并将SessionID保存到本地,当前会话的所有接口请求操作都将sessionId 置入 header中。实例代码展示:

「瑞思小程序技术分享」小程序SESSION问题

「瑞思小程序技术分享」小程序SESSION问题

「瑞思小程序技术分享」小程序SESSION问题

不知道大家觉得产生这个问题的原因是什么呢?欢迎留言交流,一起提高技术。小编会持续发布一些项目中遇到的问题及解决方案,感谢大家的阅读!小编近期会上线一套CMS系统:BOODCMS,可以快速开发企业网站、企业展示小程序,并实现商城系统(后期开放商城API接口)、电商CRM系统。喜欢的小编文字的朋友点一波关注,谢谢!本文仅代表作者个人观点,不代表巅云官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员,邮箱2522407257@qq.com。更多相关资讯,请到巅云www.yinxi.net学习互联网营销技术请到巅云建站www.yx10011.com。