适配 wx.getUserProfile 的一点简单想法

2021-04-23 14:57:29 浏览数 (1)

先看官方的最新通知

周知:getUserInfo 开发版和体验版 已对齐 getUserInfo 匿名表现,正式版将于 4月13日 正式对齐 getUserInfo 匿名表现。

请开发者使用 getUserProfile 获取用户信息。 小程序登录、用户信息相关接口调整说明: https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801

原先的getUserInfo能力

原先的 getUserInfo 的能力,具体看这里:https://developers.weixin.qq.com/community/develop/doc/000c2424654c40bd9c960e71e5b009?highline=getUserInfo

我对 getUserInfo 的理解

我们一般开发者,会用 wx.getUserInfo 来实现 openId 和 用户信息的获取,是非常的便捷的。

并且还能通过 wx.getSetting 获取 "scope.userInfo" 判断用户用户是否已经授权。

wx.getSetting wx.getUserInfo 能近似完美解决用户登陆授权场景

华丽的分割线

2021-02-04 官方要对小程序登录、用户信息相关接口调整说,具体链接:https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801?blockType=1

这样我们开发者会面临的用户登陆授权的调整,会比较痛,但也必须要去改,因为没办法。

怎么改呢

先不要着急去适配 getUserProfile,先要弄清楚自己的小程序用 getUserInfo 获取那些能力?实现哪些能力?

我的理解,如果是用 wx.getSetting wx.getUserInfo 来实现获取用户的openId(unioinId) 和用户头像昵称信息的话,可以这样去调整?

wx.login 可以拿到用户的 openId,流程如下:

如果绑定了开发平台,还可以通过 wx.login 静默获取用户的 uninonId

这个过程是静默的,不需要用户参与。

然后对于需要用户头像信息的时候,在使用 wx.getUserProfile 能力即可。

小结

1.wx.login wx.getUserProfile 能实现 wx.getUserInfo 的能力,也能满足我们的业务场景。

2.看到官方的调整,先不要着急去调整,先弄清楚要我们的业务场景使用了那些API获取那些能力

3.关于wx.getSetting 返回 "scope.userInfo" 为 undefined。我记得社区有人提问了,等官方回复就好,其实我们可以不依赖这个,原因留给你

4.用户头像更新不及时的问题,我们看看微信聊天记录,当你好友更新头像,当你不点击时,有时候展示的还是老头像,当你点击时,会显示新头像(我们何不借鉴一下,提供给用户更新的能力即可)

0 人点赞