用户资料与关系链(Web & 小程序)

最近更新时间:2019-08-27 11:30:18

用户资料

获取我的个人资料

获取个人资料,更多详情请参见 Profile

接口名

tim.getMyProfile()

返回值

该接口返回Promise对象:

  • then的回调函数参数为 IMResponse,可在IMResponse.data中获取个人信息。
  • catch的回调函数参数为 IMError

示例

let promise = tim.getMyProfile();
promise.then(function(imResponse) {
  console.log(imResponse.data); // 个人资料 - Profile 实例
}).catch(function(imError) {
  console.warn('getMyProfile error:', imError); // 获取个人资料失败的相关信息
});

获取用户资料

接口名

tim.getUserProfile(options)

请求参数

参数optionsObject类型,包含的属性值如下表所示:

名称 类型 描述
userIDList Array<String> 用户的帐号列表,类型为数组

返回值

该接口返回Promise对象:

  • then的回调函数参数为 IMResponse,可在IMResponse.data中获取用户资料数组。
  • catch的回调函数参数为 IMError

示例

let promise = tim.getUserProfile({
  userIDList: ['user1', 'user2'] // 请注意:即使只拉取一个用户的资料,也需要用数组类型,例如:userIDList: ['user1']
});
promise.then(function(imResponse) {
  console.log(imResponse.data); // 存储用户资料的数组 - [Profile]
}).catch(function(imError) {
  console.warn('getUserProfile error:', imError); // 获取其他用户资料失败的相关信息
});

更新个人资料

接口名

tim.updateMyProfile(options)

请求参数

参数optionsObject类型,包含的属性值如下表所示:

名称 类型 描述
nick String 昵称
avatar String 头像地址
gender String 性别
TIM.TYPES.GENDER_UNKNOWN 表示未设置性别
TIM.TYPES.GENDER_FEMALE 表示女
TIM.TYPES.GENDER_MALE 表示男
selfSignature String 个性签名
allowType String 当被加人加好友时是否需要验证
TIM.TYPES.ALLOW_TYPE_ALLOW_ANY 表示允许直接加为好友
TIM.TYPES.ALLOW_TYPE_NEED_CONFIRM 表示需要验证
TIM.TYPES.ALLOW_TYPE_DENY_ANY 表示拒绝
birthday Number 生日,推荐用法:20000101
location String 所在地,推荐用法:App 本地定义一套数字到地名的映射关系,后台实际保存的是4个 uint32_t 类型的数字:
  • 第一个 uint32_t 表示国家
  • 第二个 uint32_t 用于表示省份
  • 第三个 uint32_t 用于表示城市
  • 第四个 uint32_t 用于表示区县
  • language Number 语言
    messageSettings Number 消息设置,0表示接收消息,1表示不接收消息
    adminForbidType String 管理员禁止加好友标识:
    TIM.TYPES.FORBID_TYPE_NONE 表示允许加好友,默认值
    TIM.TYPES.FORBID_TYPE_SEND_OUT 表示禁止该用户发起加好友请求
    level Number 等级,建议拆分以保存多种角色的等级信息
    role Number 角色,建议拆分以保存多种角色信息

    返回值

    该接口返回Promise对象:

    • then的回调函数参数为 IMResponse,可在IMResponse.data中获取用户的新资料。
    • catch的回调函数参数为 IMError

    示例

    let promise = tim.updateMyProfile({
      nick: '我的昵称',
      avatar: 'http(s)://url/to/image.jpg',
      gender: TIM.TYPES.GENDER_MALE,
      selfSignature: '我的个性签名',
      allowType: TIM.TYPES.ALLOW_TYPE_ALLOW_ANY
    });
    promise.then(function(imResponse) {
      console.log(imResponse.data); // 更新资料成功
    }).catch(function(imError) {
      console.warn('updateMyProfile error:', imError); // 更新资料失败的相关信息
    });

    黑名单

    获取我的黑名单列表

    接口名

    tim.getBlacklist()

    请求参数

    参数optionsObject类型,包含的属性值如下:

    返回值

    该接口返回Promise对象:

    • then的回调函数参数为 IMResponse,可在IMResponse.data中获取黑名单列表。
    • catch的回调函数参数为 IMError

    示例

    let promise = tim.getBlacklist();
    promise.then(function(imResponse) {
      console.log(imResponse.data); // 我的黑名单列表,结构为包含用户 userID 的数组 - [userID]
    }).catch(function(imError) {
      console.warn('getBlacklist error:', imError); // 获取黑名单列表失败的相关信息
    });

    添加用户到黑名单列表

    添加用户到黑名单列表。将用户加入黑名单后可以屏蔽来自 TA 的所有消息,因此该接口可以实现“屏蔽该用户消息”的功能。

    • 如果用户 A 与用户 B 之间存在好友关系,拉黑时会解除双向好友关系。
    • 如果用户 A 与用户 B 之间存在黑名单关系,二者之间无法发起会话。
    • 如果用户 A 与用户 B 之间存在黑名单关系,二者之间无法发起加好友请求。

    接口名

    tim.addToBlacklist(options)

    请求参数

    参数optionsObject类型,包含的属性值如下:

    名称 类型 描述
    userIDList Array<String> 待添加为黑名单的用户 userID 列表,单次请求的 userID 数不得超过1000

    返回值

    该接口返回Promise对象:

    • then的回调函数参数为 IMResponse,可在IMResponse.data中获取黑名单列表。
    • catch的回调函数参数为 IMError

    示例

    let promise = tim.addToBlacklist({userIDList: ['user1', 'user2']}); // 请注意:即使只添加一个用户帐号到黑名单,也需要用数组类型,例如:userIDList: ['user1']
    promise.then(function(imResponse) {
      console.log(imResponse.data); // 成功添加到黑名单的帐号信息,结构为包含用户 userID 的数组 - [userID]
    }).catch(function(imError) {
      console.warn('addToBlacklist error:', imError); // 添加用户到黑名单列表失败的相关信息
    });

    将用户从黑名单中移除

    将用户从黑名单中移除。移除后,可以接收来自 TA 的所有消息。

    接口名

    tim.removeFromBlacklist(options)

    请求参数

    参数optionsObject类型,包含的属性值如下表所示:

    名称 类型 描述
    userIDList Array<String> 待从黑名单中移除的 userID 列表,单次请求的 userID 数不得超过1000

    返回值

    该接口返回Promise对象:

    • then的回调函数参数为 IMResponse,可在IMResponse.data中获取从黑名单中成功移除的帐号列表。
    • catch的回调函数参数为 IMError

    示例

    let promise = tim.removeFromBlacklist({userIDList: ['user1', 'user2']}); // 请注意:即使只从黑名单中移除一个用户帐号,也需要用数组类型,例如:userIDList: ['user1']
    result.then(function(imResponse) {
      console.log(imResponse.data); // 从黑名单中成功移除的帐号列表,结构为包含用户 userID 的数组 - [userID]
    }).catch(function(imError) {
      console.warn('removeFromBlacklist error:', imError); // 将用户从黑名单中移除失败的相关信息
    });