bl.getUserInfo(Object object)
获取用户信息。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
withCredentials | boolean | 否 | 是否带上登录态信息。当 withCredentials 为 true 时,要求此前有调用过 bl.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息。 | |
lang | string | zh_CN | 否 | 显示用户信息的语言 |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.lang 的合法值
值 | 说明 |
---|---|
en | 英文 |
zh_CN | 简体中文 |
zh_TW | 繁体中文 |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
userInfo | UserInfo | 用户信息对象,不包含 openid 等敏感信息 |
rawData | string | 不包括敏感信息的原始数据字符串,用于计算签名 |
signature | string | 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 用户数据的签名验证和加解密 |
encryptedData | string | 包括敏感数据在内的完整用户信息的加密数据,详见 用户数据的签名验证和加解密 |
iv | string | 加密算法的初始向量,详见 用户数据的签名验证和加解密 |
示例代码
要求此前有调用过 bl.login 且登录态尚未过期 bl.checkSession
// 检查登录态是否过期
bl.checkSession({
success() {
// 如果登录态未失效,可以直接调用 getUserInfo 获取头像昵称等
bl.getUserInfo({
success(res) {
console.log(res.userInfo);
}
});
},
fail() {
// 如果登录态失效,重新登录
bl.login({
success() {
bl.getUserInfo({
success(res) {
console.log(res.userInfo);
}
});
},
fail() {}
})
}
});
encryptedData 解密后为以下 json 结构,详见加密数据解密算法
{
"openId": "OPENID",
"nickName": "NICKNAME",
"gender": "GENDER",
"city": "CITY",
"province": "PROVINCE",
"country": "COUNTRY",
"avatarUrl": "AVATARURL",
"unionId": "UNIONID",
"watermark": {
"appId": "APPID",
"timestamp": "TIMESTAMP"
},
"vip": {// vip字段非必返回,如果需要,请与运营同学联系
"active": true //true:用户有大会员,false:用户无大会员
}
}