通过一段时间对微信小程序的研发后 总结出如下三种受权登陆的方式,我给他们命名为‘一次性受权’‘永久受权’‘不受权前端
1.一次性受权 常规写法,须要获取用户公开信息(头像,昵称等)时,判断调取受权登陆接口,可是此方法若是不经处理的话 用户若是拒绝受权或者删除该微信小程序后 须要从新调取并获取用户公开信息(头像,昵称等),此方法用户体验较差,不建议使用;git
2.永久受权 在没必要要使用用户公开信息(头像,昵称等)时,不调取受权登陆接口,只有在必要的时候再去判断调取受权登陆接口并把获取到的用户公开信息存入数据库,这样在每次登陆时直接先运行指定函数从数据库索取须要的用户公开信息(头像,昵称等)便可,此方法在删除小程序后不用再次去受权登陆(由于在用户第一次受权登陆时已经把用户的公开信息存入数据库了之后直接向数据库索取便可),建议使用;github
3.不受权 不须要受权登陆获取用户公开信息(头像,昵称等),使用wx.login获取用户code并传入后台,后台能够经过用户的code值向微信要一个值(具体须要问后台,我只是个小前端,后台的东西不是很懂,只是知道一些逻辑并且也已经成功实现)而后经过这个用code换取的值就能够识别到指定用户,若是须要的话,前端要显示的头像、昵称等这些信息可使用自定义可编辑的功能,固然,也能够经过小程序提供的这个组件显示用户的头像及昵称(不过这个组件只有显示功能),用户若是想直接使用本身的头像昵称,也能够自行受权(好比添加个引导按钮什么之类的),建议使用;数据库
图片添加失败,点击连接查看详情 [github.crmeb.net/u/LXT]小程序
文中使用的微信自带接口、组件及函数:微信小程序
图片添加失败,点击连接查看详情 [github.crmeb.net/u/LXT]微信
微信受权登陆函数
以上三种方式能够灵活运用,也能够把须要的结合到一块儿,并不冲突;学习
固然,大佬不少,我也只是个小前端而已,第一次发表技术方面的帖子,但愿互相学习,互相指导,若有说的不对的地方还望大佬们及时指出!!! 谢谢.net