Web

用户资料托管

更新时间: 2024/03/14 19:21:11

云信 IM 提供用户资料功能,支持用户资料托管以及用户关系的维护。

初始化时同步用户资料

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

示例代码:

javascriptnim.on('syncMyNameCard', function(data) {
    // 同步时收到个人信息
    data.myInfo = data
})

nim.on('updateMyNameCard', function(data) {
    // 收到多端同步个人信息更新
    data.myInfo = data
})

nim.on('users', function(data) {
    // 同步阶段收到用户信息的事件
    data.users = {}
    for (let user of data) {
        data.users[user.account] = user
    }
})

nim.on('updateUserInfo', function(userInfo) {
    // 收到用户资料更新的事件
    data.users = data.users || {}
    data.users[userInfo.account] = userInfo
})

// 本地更新个人名片后,通过返回数据设置
const newMyNameCard = await nim.user.updateMyNameCard({nick: 'new nick name'})
data.myInfo = newMyNameCard

参数解释:

  • syncMyNameCard: 同步个人资料回调, 返回个人资料
  • updateMyNameCard: 当前登录用户在其它端修改自己的个人资料后的回调,返回个人资料
  • users: 同步好友等其他用户资料的回调,返回其他用户资料
  • updateUserInfo: 其他用户资料更新回调,返回更新后的其他用户资料
  • updateMyNameCard:个人资料更新回调,返回更新后的个人用户资料

更新我的资料

调用 updateMyNameCard 更新我的资料。

示例代码:

js  nim.user.updateMyNameCard({
    // 头像地址
    avatar: 'https://www.xxx.yy/zz.jpg',
    // 昵称
    nick: 'nick',
    // 邮箱
    email: 'xxx@yyy.zzz'
  })

用户资料更新时机

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

获取用户资料

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

示例代码:

jsconst nameCards = await nim.user.getUsersNameCardFromServer({
  "accounts": [
    "cs1"
  ]
})

用户关系管理

黑名单及静音管理接口如下:

示例代码:

jsawait nim.user.setBlack({
  "account": "{{TARGET_USER_ACCOUNT_ID}}",
  "isAdd": true
})

var blacklist = await nim.user.getBlackList()
console.log(blacklist)
// [
//     {
//         "account": "{{TARGET_USER_ACCOUNT_ID}}",
//         "updateTime": 1640832246454,
//         "createTime": 1640832246454,
//         "isBlack": true
//     },
// ]

await nim.user.setBlack({
  "account": "{{TARGET_USER_ACCOUNT_ID}}",
  "isAdd": false
})
var blacklist = await nim.user.getBlackList()
console.log(blacklist)
// []
此文档是否对你有帮助?
有帮助
去反馈
  • 初始化时同步用户资料
  • 更新我的资料
  • 用户资料更新时机
  • 获取用户资料
  • 用户关系管理