小程序的wx.login

wx.login时返回一个code,这表示已经处于登录状态,小程序后台会生成有session_key,如果要换取session_key的话,可以通过这个code通过后台请求微信接口拿到session_key。不管通不通过微信的接口拿session_key,只要调用wx.login就会生成session_key,多次调用wx.login可能会刷新session_key,也可能不刷新,所以会出现多次调用wx.login会使原来的session_key失效的情况。
code的有效期是5分钟,过了5分钟就要重新拿code,这时由于重新调用wx.login,可能会使session_key刷新,所以此时应该将用session_key解密或者验证的地方重新包裹在wx.login中重新执行一次。
session_key的有效期大概是三天,用户越久未使用小程序,用户登录态越有可能失效。反之如果用户一直在使用小程序,则用户登录态一直保持有效,所以虽然过了5分钟code失效了,重新获取新的code之后再次换取到的session_key可能还是和之前的一样,也可能不一样。
wx.checkSession可以检测当前的登录是否失效,即session_key是否失效,如果没有失效,说明session_key还能继续使用,可以避免再次调用wx.login。如果失效了可以再次使用wx.login刷新session_key

你可能感兴趣的:(小程序的wx.login)