用户资料托管

更新时间: 2024/03/14 18:45:31

云信 IM 提供用户资料功能,将用户资料保存到云端托管服务中,支持用户信息管理、用户资料同步、资料更新推送,实现用户资料的统一管理和共享。

初始化时同步用户资料

用户资料相关初始化参数如下:

示例代码:

javascriptvar 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);
}

参数解释:

更新我的资料

调用 updateMyInfo 更新我的资料。

示例代码:

javascriptnim.updateMyInfo({
    nick: 'newNick',
    avatar: 'http://newAvatar',
    sign: 'newSign',
    gender: 'male',
    email: 'new@email.com',
    birth: '1900-01-01',
    tel: '13523578129',
    // 扩展字段推荐使用 JSON 格式构建,否则会被其它客户端丢弃
    custom: '{type: "newCustom", value: "new"}',
    done: updateMyInfoDone
});
function updateMyInfoDone(error, user) {
    console.log('更新我的名片' + (!error?'成功':'失败'));
    console.log(error);
    console.log(user);
    if (!error) {
        onUpdateMyInfo(user);
    }
}

用户资料更新时机

  • 用户资料除自己之外,不保证其他用户资料实时更新,其他用户资料更新时机为:
    • 收到此用户发来的消息,会触发用户资料更新回调(onupdateuser
    • 初始化时同步好友的用户资料(syncFriendUsers
  • 如果想手动更新用户资料,请参考获取用户资料

获取用户资料

调用 getUser 手动获取用户资料。

示例代码:

javascriptnim.getUser({
    account: 'account',
    done: getUserDone
});
function getUserDone(error, user) {
    console.log(error);
    console.log(user);
    console.log('获取用户资料' + (!error?'成功':'失败'));
    if (!error) {
        onUsers(user);
    }
}

获取用户资料数组

调用 getUsers 手动获取用户资料列表,每次最多 150 个。

示例代码:

javascriptnim.getUsers({
    accounts: ['account1', 'account2'],
    done: getUsersDone
});
function getUsersDone(error, users) {
    console.log(error);
    console.log(users);
    console.log('获取用户资料数组' + (!error?'成功':'失败'));
    if (!error) {
        onUsers(users);
    }
}
此文档是否对你有帮助?
有帮助
去反馈
  • 初始化时同步用户资料
  • 更新我的资料
  • 用户资料更新时机
  • 获取用户资料
  • 获取用户资料数组