用户资料托管
SDK 提供用户资料托管
初始化参数
- 这里的参数并不是所有的初始化参数, 请查阅初始化SDK, 以及其它章节的初始化参数
示例代码
var nim = NIM.getInstance({
onmyinfo: onMyInfo,
onupdatemyinfo: onUpdateMyInfo,
onusers: onUsers,
onupdateuser: onUpdateUser
});
function onMyInfo(user) {
console.log('收到我的名片', user);
data.myInfo = user;
updateMyInfoUI();
}
function onUpdateMyInfo(user) {
console.log('我的名片更新了', user);
data.myInfo = NIM.util.merge(data.myInfo, user);
updateMyInfoUI();
}
function updateMyInfoUI() {
// 刷新界面
}
function onUsers(users) {
console.log('收到用户资料列表', users);
data.users = nim.mergeUsers(data.users, users);
}
function onUpdateUser(user) {
console.log('用户资料更新了', user);
data.users = nim.mergeUsers(data.users, user);
}
参数解释
onmyinfo
: 同步登录用户资料的回调, 会传入用户资料onupdatemyinfo
: 当前登录用户在其它端修改自己的个人名片之后的回调, 会传入用户资料onusers
: 同步好友用户资料的回调, 会传入用户资料数组- 此回调是增量回调, 可以调用nim.mergeUsers来合并数据
onupdateuser
: 用户资料更新后的回调, 会传入用户资料,请参考用户资料更新时机
用户资料对象
用户资料对象有以下字段:
account
: 账号nick
: 昵称avatar
: 头像sign
: 签名gender
: 性别email
: 邮箱birth
: 生日tel
: 电话号码custom
: 扩展字段- 推荐使用
JSON
格式构建, 非JSON
格式的话, Web端会正常接收, 但是会被其它端丢弃
- 推荐使用
createTime
: 创建时间updateTime
: 更新时间
性别
'unknown'
(未知)'male'
(男)'female'
(女)
更新我的资料
nim.updateMyInfo({
nick: 'newNick',
avatar: 'http://newAvatar',
sign: 'newSign',
gender: 'male',
email: 'new@email.com',
birth: '1900-01-01',
tel: '13523578129',
custom: '{type: "newCustom", value: "new"}',
done: updateMyInfoDone
});
function updateMyInfoDone(error, user) {
console.log('更新我的名片' + (!error?'成功':'失败'));
console.log(error);
console.log(user);
if (!error) {
onUpdateMyInfo(user);
}
}
用户资料更新时机
获取用户资料
- 请参考用户资料更新时机
- 可以传入参数
sync=true
来强制从服务器获取最新的数据
nim.getUser({
account: 'account',
done: getUserDone
});
function getUserDone(error, user) {
console.log(error);
console.log(user);
console.log('获取用户资料' + (!error?'成功':'失败'));
if (!error) {
onUsers(user);
}
}
获取用户资料数组
- 请参考用户资料更新时机
- 可以传入参数
sync=true
来强制从服务器获取最新的数据 - 每次最多 150 个
nim.getUsers({
accounts: ['account1', 'account2'],
done: getUsersDone
});
function getUsersDone(error, users) {
console.log(error);
console.log(users);
console.log('获取用户资料数组' + (!error?'成功':'失败'));
if (!error) {
onUsers(users);
}
}
本篇文档内容是否对您有帮助?


此文档对你是否有帮助
×


×