微信小程序如何利用checkSession实现高效性能优化?
- 内容介绍
- 相关推荐
本文共计575个文字,预计阅读时间需要3分钟。
直接发现小程序运行缓慢,尤其是首次打开时。这是因为第一次会涉及到登录权限的获取,官方文档指出:通过wx.login()获取到用户登录态后,需要维护登录态。开发者应注意不要过度频繁地执行。
一直发现小程序好慢,尤其是第一次打开的时候。因为第一次会涉及到登录的授权,官方文档是这么说的:
通过 wx.login() 获取到用户登录态之后,需要维护登录态。开发者要注意不应该直接把 session_key、openid 等字段作为用户的标识或者 session 的标识,而应该自己派发一个 session 登录态(请参考登录时序图)。
所以后台存储了一个session标识,和微信的session_key 是独立的。而且业务自身的session也有设置有效期,和微信的session_key 是一致的。
我们的业务处理流程是:
1、前端检测有无session,没有的话wx.login(),获取session_key 。
2、通过session_key 调用后台接口,换取session。
3、前端缓存session。
4、如果前端检测有session,调用wx.checkSession(),判断session_key 有效期,然后请求业务CGI。
上面有个问题,只要成功获取session_key后,后续的请求都会先调用wx.checkSession()来判断它的有效期。
本文共计575个文字,预计阅读时间需要3分钟。
直接发现小程序运行缓慢,尤其是首次打开时。这是因为第一次会涉及到登录权限的获取,官方文档指出:通过wx.login()获取到用户登录态后,需要维护登录态。开发者应注意不要过度频繁地执行。
一直发现小程序好慢,尤其是第一次打开的时候。因为第一次会涉及到登录的授权,官方文档是这么说的:
通过 wx.login() 获取到用户登录态之后,需要维护登录态。开发者要注意不应该直接把 session_key、openid 等字段作为用户的标识或者 session 的标识,而应该自己派发一个 session 登录态(请参考登录时序图)。
所以后台存储了一个session标识,和微信的session_key 是独立的。而且业务自身的session也有设置有效期,和微信的session_key 是一致的。
我们的业务处理流程是:
1、前端检测有无session,没有的话wx.login(),获取session_key 。
2、通过session_key 调用后台接口,换取session。
3、前端缓存session。
4、如果前端检测有session,调用wx.checkSession(),判断session_key 有效期,然后请求业务CGI。
上面有个问题,只要成功获取session_key后,后续的请求都会先调用wx.checkSession()来判断它的有效期。

