Taro.getUserProfile(option)

获取用户信息。每次请求都会弹出授权窗口,用户同意后返回 userInfo

tip" class="reference-link">getUserProfile - 图2tip

微信基础库 2.10.4 开始支持

Taro 2.2.17,3.0.29,3.1,3.2 已经支持

微信端调整背景和说明,请参考文档

getUserProfile

若开发者需要获取用户的个人信息(头像、昵称、性别与地区),可以通过 Taro.getUserProfile 接口进行获取,微信该接口从基础库 2.10.4 版本开始支持,该接口只返回用户个人信息,不包含用户身份标识符。该接口中 desc 属性(声明获取用户个人信息后的用途)后续会展示在弹窗中,请开发者谨慎填写。

开发者每次通过该接口获取用户个人信息均需用户确认,请开发者妥善保管用户快速填写的头像昵称,避免重复弹窗。

类型

  1. (option?: Option) => Promise<SuccessCallbackResult>

参数

Option

参数类型必填说明
complete(res: CallbackResult) => void接口调用结束的回调函数(调用成功、失败都会执行)
fail(res: CallbackResult) => void接口调用失败的回调函数
success(result: SuccessCallbackResult) => void接口调用成功的回调函数
lang“en” | “zh_CN” | “zh_TW”显示用户信息的语言(en: 英文;zh_CN:简体中文;zh_TW:繁体中文
descstring声明获取用户个人信息后的用途,不超过 30 个字符

SuccessCallbackResult

参数类型说明
cloudIDstring敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见云调用直接获取开放数据
encryptedDatastring包括敏感数据在内的完整用户信息的加密数据,详见 用户数据的签名验证和加解密
ivstring加密算法的初始向量,详见 用户数据的签名验证和加解密
rawDatastring不包括敏感信息的原始数据字符串,用于计算签名
signaturestring使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 用户数据的签名验证和加解密
userInfoUserInfo用户信息对象 (文档参考 API > 开发接口 > 用户信息 > UserInfo)

示例代码

  1. // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
  2. // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
  3. Taro.getUserProfile({
  4. desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
  5. success: (res) => {
  6. this.setState({
  7. userInfo: res.userInfo,
  8. hasUserInfo: true
  9. })
  10. }
  11. })

API 支持度

API微信小程序H5React Native
Taro.getUserProfile✔️

相关资料

相关 issue : Taro什么时候支持 getUserProfile 方法