目录
写在前面
调整背景
调整说明
最佳实践
对于刚接触uni-app开发微信小程序,或是没有时常关注微信小程序官方文档调整的朋友,可能会遇到,想要实现微信用户授权登录,发现以前的用户授权弹窗没有了,而且获取到的用户信息中用户头像是灰白的,姓名统一是微信用户。是的,微信官方对用户头像昵称获取规则已做了调整!
微信小程序在2022年11月份就通知了,取消主动获取用户名和头像的功能。wx.getUserProfile 与 wx.getUserInfo 都会失效。wx.login 接口直接获取用户的 openId 与 unionId 信息,实现微信身份登录。 参考:用户信息接口调整说明、小程序用户头像昵称获取规则调整公告
以下公告信息来源于微信官方:
更新时间:2022年11月9日
由于 PC/macOS 平台「头像昵称填写能力」存在兼容性问题,对于来自低于2.27.1版本的访问,小程序通过 wx.getUserProfile 接口将正常返回用户头像昵称,插件通过 wx.getUserInfo 接口将正常返回用户头像昵称。
更新时间:2022年9月28日
考虑到近期开发者对小程序用户头像昵称获取规则调整的相关反馈,平台将接口回收的截止时间由2022年10月25日延期至2022年11月8日24时。
在小程序内,开发者可以通过 wx.login 接口直接获取用户的 openId 与 unionId 信息,实现微信身份登录,支持开发者在多个小程序或其它应用间匿名关联同一用户。
同时,为了满足部分小程序业务中需要创建用户的昵称与头像的诉求,平台提供了wx.getUserProfile 接口,支持在用户授权的前提下,快速使用自己的微信昵称头像。
但实践中发现有部分小程序,在用户刚打开小程序时就要求收集用户的微信昵称头像,或者在支付前等不合理路径上要求授权。如果用户拒绝授权,则无法使用小程序或相关功能。在已经获取用户的 openId 与 unionId 信息情况下,用户的微信昵称与头像并不是用户使用小程序的必要条件。为减少此类不合理的强迫授权情况,作出如下调整。
自 2022 年 10 月 25 日 24 时后(以下统称 “生效期” ),用户头像昵称获取规则将进行如下调整:
对于上述 3,wx.getUserProfile 接口、wx.getUserInfo 接口、头像昵称填写能力的基础库版本支持能力详细对比见下表:
* 针对低版本基础库,兼容处理可参考 兼容文档
请已使用 wx.getUserProfile 接口的小程序开发者和已使用 wx.getUserInfo 接口的插件开发者尽快适配。小游戏不受本次调整影响。
小程序可在个人中心或设置等页面使用头像昵称填写能力让用户完善个人资料:
——— 来自:微信团队 2022年5月9日
官方API
wx.getUserInfo(Object object) | 微信开放文档
wx.getUserProfile(Object object) | 微信开放文档
官方公告
小程序用户头像昵称获取规则调整公告 | 微信开放社区
小程序登录、用户信息相关接口调整说明 | 微信开放社区