返回
小程序新规:获取头像昵称不再那么简单,开发者需留意!
前端
2023-09-25 12:05:41
微信小程序获取用户头像和昵称的新方式
获取用户头像和昵称的常见需求
在微信小程序开发中,获取用户的头像和昵称是一种常见需求。这些信息通常用于完善用户资料、显示用户头像,或者用于其他需要个人信息的场景。
以往的获取方式:wx.getUserInfo()方法
以往,开发者可以通过wx.getUserInfo()方法轻松获取用户的头像、昵称和性别信息。该方法不需要用户授权,开发者可以直接调用即可。
微信官方的新规定
然而,微信小程序官方最近宣布了新的规定,更改了获取用户头像和昵称的方式。根据新规定,开发者需要使用wx.getUserProfile()方法,才能获取到用户的完整信息。
获取用户头像和昵称的新方法:wx.getUserProfile()
目前,获取用户头像和昵称主要有两种方法:
-
wx.getUserProfile()方法:
- 微信小程序官方推荐的新方法
- 可以获取用户的头像、昵称、性别、所在城市和国家等信息
- 需要用户授权才能使用
-
wx.getUserInfo()方法:
- 传统获取方法
- 只能获取用户的头像、昵称和性别信息
- 不需要用户授权
- 已不再推荐使用
使用wx.getUserProfile()方法的步骤
- 引入wx.getUserProfile()方法:
const { getUserProfile } = require('@/utils/wx.js');
- 调用wx.getUserProfile()方法:
getUserProfile({
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
const { avatarUrl, nickName } = res.userInfo;
// 使用头像和昵称
}
});
-
获取用户授权:
- 调用wx.getUserProfile()方法后,会弹出授权弹窗
- 用户点击授权后,开发者可以获取到用户的完整信息
需要注意的事项
- wx.getUserProfile()方法需要用户授权才能使用。如果用户拒绝授权,则无法获取到用户信息。
- wx.getUserProfile()方法只能在真机上使用,在开发工具中无法正常工作。
- 使用wx.getUserProfile()方法获取头像昵称需要向微信小程序官方进行申请,获取申请通过后才能使用该方法。
总结
微信小程序获取头像昵称的方式已经发生变化,开发者需要使用wx.getUserProfile()方法来获取用户头像和昵称。wx.getUserProfile()方法需要用户授权才能使用,并且只能在真机上使用。开发者需要特别注意这些事项,以免在开发小程序时遇到问题。
常见问题解答
-
为什么微信官方更改了获取用户头像和昵称的方式?
- 为了保护用户隐私,提高用户对个人信息的安全性和控制权。
-
wx.getUserProfile()方法和wx.getUserInfo()方法有什么区别?
- wx.getUserProfile()方法需要用户授权,可以获取用户的完整信息,包括头像、昵称、性别、所在城市和国家等。
- wx.getUserInfo()方法不需要用户授权,只能获取用户的头像、昵称和性别信息。
-
如何向微信小程序官方申请使用wx.getUserProfile()方法?
- 在微信小程序管理后台提交申请,填写相关信息和材料,等待官方审核。
-
为什么在开发工具中无法使用wx.getUserProfile()方法?
- 因为wx.getUserProfile()方法需要调用微信开放能力,而开发工具无法模拟真机的环境。
-
如果用户拒绝授权,如何获取用户的头像和昵称?
- 如果用户拒绝授权,则无法直接获取用户的头像和昵称。开发者可以考虑通过其他方式,例如提供匿名登录或仅显示部分用户信息,来满足业务需求。