一步一步实现自己的小程序:登录,授权,获取用户信息

1,126 阅读2分钟

引导语

现在的场景是我们实现完了用户的登录接口,已在理想状态下(能登录,数据库已准备好,用户信息为当前微信用户信息),我们来看看在这个情景下几个同学的对话,也许能帮助我们搞清:登录授权获取用户信息之间的关系。

人物 角色 问题 看法
大黑 老师 登录授权获取用户信息之间的关系 我就看看不说话
小黑 学生 登录授权获取用户信息之间的关系 登录后才能获取用户信息
小白 学生 登录授权获取用户信息之间的关系 授权后才能获取用户信息

三个人的对话

老师问: 小黑,小白你们俩过来,为师考验一下你们。

老师问: 小程序需要展示用户信息,需要获取用户信息,此时应该进行什么操作才能实现?

A: 用户登录,B:用户授权,C:获取用户信息,D:以上都有

开始抢答!!!

小黑:(一脸黑人尼克杨问号脸)???

小白:(一脸黑人尼克杨问号脸)???

小黑: 老师,你这个问题是你没有想好怎么问?还是我觉得太简单?既然要获取用户信息那必须先登录呀,登录完之后获取用户信息展示,所以选 A, C

小白: 不对,不对,微信小程序,你可以不登陆也能获取用户信息的,所以应该是直接获取用户信息,老师应该选 C

老师: 你们说的不是不对,但对于当前情况来讲是不完整的答案,来,听我细细的讲解。


老师的讲解

  • 微信小程序无需登录能获取当前用户的基本公开信息
  • 只有用户授权之后才能获取用户信息

如果说是平常所见的App,那么用户必须登录后才能获取信息,不登陆肯定不知道它是谁,但微信小程序有点特殊,它能在不登陆的状况下获取当前所登录微信的信息(有个爸爸就是不一样),但是就算有牛B的爸爸也不能为所欲为,因为用户才是真正的爸爸。那么用户爸爸不愿意在他不知情的情况下被小程序获取信息了,这下怎么办呢?于是用户授权便诞生了。用户爸爸同意了(即同意授权获取信息),那么此时小程序便可以调用wx.getUserInfo()接口来获取用户信息。

小结

  • 用户登录,根据自己的情况去操作(更改,扩展信息)。
  • 获取用户信息(昵称,头像,性别)之前必须显示让用户授权,不然wx.getUserInfo()直接回调错误方法。

推荐阅读

一步一步实现自己的小程序:实现后台登录