tt.getUserInfo
获取已登录用户的基本信息或特殊信息,首次使用的用户会弹出授权提示窗,若用户同意,则会返回用户的真实数据。
本 API 需要用户授权方可调用,详细信息可参考 用户授权
本 API 依赖于 login,请确保调用前已经调用了该 API
语法
tt.getUserInfo(options);
参数说明
options
为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
success | Function | 否 | 接口调用成功的回调函数 | 1.0.0 | |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 1.0.0 | |
fail | Function | 否 | 接口调用失败的回调函数 | 1.0.0 | |
withCredentials | boolean | false | 否 | 是否需要返回敏感数据 | 1.0.0 |
withRealNameAuthenticationInfo | boolean | false | 否 | 是否需要返回用户实名认证状态 | 1.80.0 |
回调成功
object 类型,属性如下:
属性 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "getUserInfo:ok" | 1.0.0 |
rawData | string | userInfo 的 JSON 字符串形式 | 1.0.0 |
userInfo | object | 用户信息 | 1.0.0 |
userInfo
为 object 类型,属性如下:
属性 | 类型 | 说明 |
---|---|---|
avatarUrl | string | 用户头像 |
nickName | string | 用户名 |
gender | number | 用户性别,0: 未知;1:男性;2:女性 |
city | string | 用户城市 |
province | string | 用户省份 |
country | string | 用户国家 |
language | string | 用户语言,目前为空 |
如果输入中传递了 withCredentials:true
,返回对象参数会增加如下扩展属性:
属性 | 类型 | 说明 |
---|---|---|
signature | string | 用于校验用户信息是否被篡改,请参考文档 |
encryptedData | string | 包括敏感信息(如 |
iv | string | 加密算法参数 |
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 | 时间戳,可以用于检查数据的时效性 |
如果输入中传递了 withRealNameAuthenticationInfo:true
, 返回对象会增加 realNameAuthenticationStatus
字段, 说明如下
值 | 类型 | 说明 |
---|---|---|
"certified" | object | 当前用户已经通过实名认证 |
"uncertified" | object | 当前用户未通过实名认证 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "getUserInfo:fail " + 详细错误信息 | 1.0.0 |
扫码体验
请使用字节宿主APP扫码
代码示例
tt.login({
success(_res) {
console.log("登录成功");
// 调用 getUserInfo 前, 请确保登录成功
// 获取用户信息
tt.getUserInfo({
// withCredentials: true,
// withRealNameAuthenticationInfo: true,
success(res) {
console.log(`getUserInfo 调用成功`, res.userInfo);
},
fail(res) {
console.log(`getUserInfo 调用失败`, res.errMsg);
},
});
},
});