tt.getUserInfo收藏我的收藏
基础库 1.0.0 开始支持本方法,这是一个异步方法。
用户信息获取规则已调整,参考 公告。
语法
tt.getUserInfo(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
withCredentials | boolean | false | 否 | 是否需要返回敏感数据,如果是则在成功回调的参数中额外返回 `encryptedData`,`signature` 和 `iv` 字段 | 1.0.0 |
withRealNameAuthenticationInfo | boolean | false | 否 | 是否需要返回用户实名认证状态,如果是则在成功回调参数中额外返回 `realNameAuthenticationStatus` 字段 | 1.0.0 |
success | function | 否 | 接口调用成功的回调函数 | 1.0.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 1.0.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 1.0.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
userInfo | object | 用户信息 | 1.0.0 |
rawData | string | userInfo 的 JSON 字符串形式 | 1.0.0 |
signature | string | 用于校验用户信息是否被篡改,请参考敏感数据处理 。仅在 `withCredentials: true` 时返回 | 1.0.0 |
encryptedData | string | 包括敏感信息(如 openId)在内的已加密用户数据,如需解密数据请参考敏感数据处理。仅在 `withCredentials: true` 时返回 | 1.0.0 |
iv | string | 加密算法参数,仅在 `withCredentials: true` 时返回 | 1.0.0 |
realNameAuthenticationStatus | number | 实名认证情况,仅在 `withRealNameAuthenticationInfo: true` 时返回 | 1.0.0 |
errMsg | string | "getUserInfo:ok" | 1.0.0 |
encryptedData 参数说明
encryptedData 解密后可以获得:
属性 | 类型 | 说明 |
nickName | string | 用户昵称 |
avatarUrl | string | 用户头像网络地址 |
gender | number | 用户性别,0: 未知;1:男性;2:女性 |
city | string | 用户所在城市 |
province | string | 用户所在省份 |
country | string | 用户所在国家 |
openId | string | 用户 openId |
watermark | object | 敏感数据水印 |
敏感数据水印包含字段:
属性 | 类型 | 说明 |
appid | string | 数据源小程序 id |
timestamp | number | 时间戳,可以用于检查数据的时效性 |
realNameAuthenticationStatus 参数说明
值 | 类型 | 说明 |
"certified" | String | 当前用户已经通过实名认证 |
"uncertified" | String | 当前用户未通过实名认证 |
userInfo 类型说明
object 类型,属性如下:
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "getUserInfo:fail" + 详细错误信息 | 1.0.0 |
错误码
代码示例
tt.login({ success(_res) { console.log("登录成功"); // 调用 getUserInfo 前, 请确保登录成功 // 获取用户信息 tt.getUserInfo({ // withCredentials: true, // withRealNameAuthenticationInfo: true, success(res) { console.log(`getUserInfo 调用成功`, res.userInfo, res.encryptedData, res.iv, res.signature); }, fail(res) { console.log(`getUserInfo 调用失败`, res.errMsg); }, }); }, });