在onLunch中调用wx.checkSession 判断session_key 是否过期,如果过期Wx.login 获取code 发到后台,后台换取openID和session_key并且根据openId和session_key生成3rdsession,将3rdsession传到小程序端保存到缓存中,每次发请求带到后台进行验证,这个流程是是官网的流程
问题
1.我是否可以每次打开小程序在onLunch中直接调用wx.login 然后根据code 到后台 获取opendId 到数据库将用户信息查出来,如果没有用户信息就进行授权登录,再将用户信息保存到数据库,我就不需要再判断session是否过期,也不需要生成3rdsession了
1、不能。授权弹窗必须有用户点击行为才能触发。
“如果没有用户信息就进行授权登录”,这一步目测无法实现。
你可以每次打开小程序在onLunch中直接调用wx.login 然后根据code 到后台 获取opendId 到数据库将用户信息查出来,如果没有用户信息就进行授权登录,再将用户信息保存到数据库
这里没问题 问题是用户会换头像改昵称的,你后续每次更新用户信息比如头像呢称时候你依旧要检查session是否过期
我们流程是 登陆新用户会只入库openid,头像昵称等默认空,后续每次授权都去当做更新用户信息