新增getUserProfile接口声称开发者每次通过该接口获取用户个人信息均需用户确认。但采取措施,在云数据库user中存储用户个人信息后就不用用户每次确认。那不和原来使用getUserInfo一样了吗?那何必改成getUserProfile接口多此一举呢?
来看看用户授权的前世今生:https://developers.weixin.qq.com/community/develop/article/doc/000c8ce9a10070794cfbb0c085b013?t=12212121
我们要从更高的角度看待这次改动。如果让我们重新设计用户登陆模块,会怎么设计呢?
如果是我的话,我会这样设计:
1.用 wx.login 获取 openId(unionId),这个过程是静默的,不需要用户参与,这个能满足市场大多数应用的需求
2.对于社交分享类的应用,可以进入首页后,用户点击首页可点击区域时,申请用户头像信息(申请成功后保存到后端)
3.在我的页面在增加个用户头像更新能力即可
4.对于分享无法获取实时头像的问题,可以在用户点击分享时,先申请获取用户最新头像,然后在进行分享
这段时间社区很多人吐槽,其实我们还是要看这些改到背后的事情
1.对用户隐私要求越来越严,权限细分越来越细,我觉得是好事
2.我们要抛出历史包袱去想用户授权,别被历史包袱所束缚
3.getUserInfo 的能力可以通过 wx.login 和 wx.getUserProfile 来实现,都是只需要用户操作一次,唯一的弊端是 wx.getUserProfile 每次都需要用户触发才能拿到最新头像
4.我觉得没有几个应用对头像的更新频次比微信本身要高,所以也不用在纠结了头像是否为最新的了,只需要提供用户具有更新头像的能力即可