更新记录

1.0.0(2025-12-04)

1.0.0 版本上传


平台兼容性

uni-app(4.76)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - 7.0 12 -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

uni-app x(4.76)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

TencentIM 插件

  • 版本号( 7.9.5680)

InitSDK

初始化腾讯云 IM SDK

tencentIM.InitSDK(appId: number, logLevel: number): void    
参数名 类型 是否必填 描述
appId number 腾讯云 IM 应用的 SDKAppID(从 腾讯云 IM 控制台 申请)
logLevel number 日志输出级别:1.V2TIM_LOG_DEBUG ,2.V2TIM_LOG_ERROR,3.V2TIM_LOG_INFO,4.V2TIM_LOG_NONE,5.V2TIM_LOG_WARN
//示例
tencentIM.InitSDK("XXX", 3, (res) => {
  console.log(res)
});

unInitSDK

反初始化腾讯云 IM SDK

tencentIM.unInitSDK(): void

//示例
tencentIM.unInitSDK()

login

用户登录

tencentIM.login(userId: string, userSig: string, callback: CallBack): void
参数名 类型 是否必填 描述
userId string 用户唯一标识(自定义,需与后端一致)
userSig string 用户签名(从后端获取,用于身份校验)
callback CallBack 登录结果回调,返回登录成功 / 失败信息
tencentIM.login("penglele", "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwgWpeek5qTmpULnilOzEgoLMFCUrQzMDAwNjSxNLc4hMakVBZlEqUNzU1NQIKAURLcnMBYmZmxlbmhtZWJhCTclMBxrtaOkV5Z9UEaOf4xoYYZAUox9Zqm3i7WOQmBgcGhoQZhkElPIoLA0IyssKNS23VaoFAHtdMz0_", (res:UTSJSONObject) => {
  console.log(res)
})

logout

退出登录

tencentIM.logout(callback: CallBack): void
tencentIM.logout((res) => {
                    console.log(res)
})

addAdvancedMsgListener

高级监听器

回调事件

事件类型 描述 回调数据
onRecvNewMessage 收到新消息 { type: "onRecvNewMessage", data: MessageType }
onRecvMessageRevoked 消息撤回 { type: "onRecvMessageRevoked", msgID: string }
onRecvC2CReadReceipt 收到单聊已读回执 { type: "onRecvC2CReadReceipt", receiptList: UTSJSONObject[] }
onRecvMessageModified 消息内容被修改 { type: "onRecvMessageModified", data: MessageType }
onRecvMessageExtensionsDeleted 消息扩展信息被删除 { type: "onRecvMessageExtensionsDeleted", msgID: string,extensionKeys:string[] }
onGroupMessagePinned 置顶群消息列表变更 {type:"",groupID:string,message:MessageType,isPinned:boolean,opUser:UTSJSONObject}
tencentIM.addAdvancedMsgListener((res) => {
  console.log(res)
})

removeAdvancedMsgListener

移除高级监听器

tencentIM.removeAdvancedMsgListener();

addConversationListener

会话监听

回调事件

事件类型描述 回调数据 方法说明
onSyncServerStart { type: "onSyncServerStart" } 触发时机:开始同步服务器数据时回调,无额外参数,仅通知同步启动状态
onSyncServerFinish { type: "onSyncServerFinish" } 触发时机:服务器数据同步完成时回调,标识同步流程正常结束
onSyncServerFailed { type: "onSyncServerFailed" } 触发时机:服务器数据同步失败时回调,可用于提示用户同步异常或触发重试逻辑
onNewConversation { type: "onNewConversation", data: ConversationType[] } 触发时机:收到新的会话时回调,data 包含所有新增会话的详细信息(经 setConversation 格式化处理)
onConversationChanged { type: "onConversationChanged", data: ConversationType[] } 触发时机:已有会话信息发生变更(如消息未读数、会话名称等)时回调,data 为变更后的会话列表
onConversationDeleted { type: "onConversationDeleted", data: string[] } 触发时机:会话被删除时回调,data 为被删除会话的 ID 列表
onTotalUnreadMessageCountChanged { type: "onTotalUnreadMessageCountChanged", data: number } 触发时机:所有会话的未读消息总数发生变化时回调,data 为最新的未读消息总数
onConversationGroupCreated { type: "onConversationGroupCreated", data: ConversationType[], groupName: string } 触发时机:创建会话分组时回调,groupName 为新分组名称,data 为分组下关联的会话列表
onConversationGroupDeleted { type: "onConversationGroupDeleted", groupName: string } 触发时机:删除会话分组时回调,groupName 为被删除的分组名称
onConversationGroupNameChanged { type: "onConversationGroupNameChanged", oldName: string, newName: string } 触发时机:会话分组名称修改时回调,oldName 为原分组名称,newName 为修改后的新名称
onConversationsAddedToGroup { type: "onConversationsAddedToGroup", data: ConversationType[], groupName: string } 触发时机:将会话添加到指定分组时回调,groupName 为目标分组名称,data 为新增到该分组的会话列表
onConversationsDeletedFromGroup { type: "onConversationsDeletedFromGroup", data: ConversationType[], groupName: string } 触发时机:从指定分组中移除会话时回调,groupName 为目标分组名称,data 为从该分组移除的会话列表
tencentIM.addConversationListener((res) => {
        console.log(res)
})

removeConversationListener

移除会话监听

tencentIM.removeConversationListener()

addGroupListener

群监听器

回调事件

事件类型描述 回调数据 方法说明
onAllGroupMembersMuted { type: "onAllGroupMembersMuted", groupID: string, isMute: boolean } 触发时机:群内所有成员被静音或取消静音时回调,isMutetrue 表示全员静音,false 表示取消全员静音
onApplicationProcessed { type: "onApplicationProcessed", groupID: string, opUser: UTSJSONObject, isAgreeJoin: boolean, opReason: string } 触发时机:群加入申请被处理时回调,opUser 为处理申请人信息,isAgreeJoin 标识是否同意加入,opReason 为处理原因
onGrantAdministrator { type: "onGrantAdministrator", groupID: string, opUser: UTSJSONObject, memberList: UTSJSONObject[] } 触发时机:群内授予管理员权限时回调,opUser 为操作人信息,memberList 为被授予管理员权限的成员列表
onGroupAttributeChanged { type: "onGroupAttributeChanged", groupID: string, groupAttributeMap: UTSJSONObject } 触发时机:群属性发生变更时回调,groupAttributeMap 为变更后的群属性键值对集合
onGroupCounterChanged { type: "onGroupCounterChanged", groupID: string, key: string, newValue: any } 触发时机:群计数器数值变更时回调,key 为计数器标识,newValue 为变更后的计数器值
onGroupCreated { type: "onGroupCreated", groupID: string } 触发时机:成功创建群聊时回调,groupID 为新创建群的唯一标识
onGroupDismissed { type: "onGroupDismissed", groupID: string, opUser: UTSJSONObject } 触发时机:群聊被解散时回调,opUser 为执行解散操作的用户信息
onGroupInfoChanged { type: "onGroupInfoChanged", groupID: string, changeInfos: UTSJSONObject[] } 触发时机:群基本信息(如群名称、简介等)变更时回调,changeInfos 为具体变更信息列表
onGroupRecycled { type: "onGroupRecycled", groupID: string, opUser: UTSJSONObject } 触发时机:群聊被回收时回调,opUser 为执行回收操作的用户信息
onMemberEnter { type: "onMemberEnter", groupID: string, memberList: UTSJSONObject[] } 触发时机:有新成员加聊时回调,memberList 为加的成员信息列表
onMemberInfoChanged { type: "onMemberInfoChanged", groupID: string, memberList: UTSJSONObject[] } 触发时机:群成员信息(如昵称、头像等)变更时回调,memberList 为信息变更的成员列表及变更详情
onMemberInvited { type: "onMemberInvited", groupID: string, opUser: UTSJSONObject, memberList: UTSJSONObject[] } 触发时机:通过邀请加***聊时回调,opUser 为邀请人信息,memberList 为被邀请加入的成员列表
onMemberKicked { type: "onMemberKicked", groupID: string, opUser: UTSJSONObject, memberList: UTSJSONObject[] } 触发时机:群成员被移出群聊时回调,opUser 为执行移出操作的用户信息,memberList 为被移出的成员列表
onMemberLeave { type: "onMemberLeave", groupID: string, member: UTSJSONObject } 触发时机:群成员主动退出群聊时回调,member 为退出群聊的成员信息
onMemberMarkChanged { type: "onMemberMarkChanged", groupID: string, memberIDList: string[], markType: number, enableMark: boolean } 触发时机:群成员标记状态变更时回调,memberIDList 为标记状态变更的成员 ID 列表,markType 为标记类型,enableMark 标识是否启用该标记
onQuitFromGroup { type: "onQuitFromGroup", groupID: string } 触发时机:当前用户主动退出群聊时回调,groupID 为退出的群标识
onReceiveJoinApplication { type: "onReceiveJoinApplication", groupID: string, member: UTSJSONObject, opReason: string } 触发时机:收到他人加***聊的申请时回调,member 为申请人信息,opReason 为申请理由
onReceiveRESTCustomData { type: "onReceiveRESTCustomData", groupID: string, customData: string } 触发时机:收到通过 REST API 发送的群自定义数据时回调,customData 为自定义数据内容
onRevokeAdministrator { type: "onRevokeAdministrator", groupID: string, opUser: UTSJSONObject, memberList: UTSJSONObject[] } 触发时机:群内管理员权限被撤销时回调,opUser 为执行撤销操作的用户信息,memberList 为被撤销管理员权限的成员列表
onTopicCreated { type: "onTopicCreated", groupID: string, topicID: string } 触发时机:群内创建话题时回调,topicID 为新创建话题的唯一标识
onTopicDeleted { type: "onTopicDeleted", groupID: string, topicIDList: string[] } 触发时机:群内话题被删除时回调,topicIDList 为被删除话题的 ID 列表
onTopicInfoChanged { type: "onTopicInfoChanged", groupID: string, topicInfo: UTSJSONObject } 触发时机:群内话题信息(如话题名称、描述等)变更时回调,topicInfo 为变更后的话题详细信息
tencentIM.addGroupListener((res) => {
  console.log(res)
})

removeGroupListener

移除群监听器

tencentIM.removeGroupListener((res)=> {
  console.log(res)
})  

addFriendListener

关系链监听器

回调内容

事件类型描述 回调数据 方法说明
onFriendInfoChanged { type: "onFriendInfoChanged", infoList: UTSJSONObject[] } 触发时机:好友信息发生变更时回调,infoList 为变更后的好友信息列表(经 coverFriendInfo 格式化处理)
onFriendListAdded { type: "onFriendListAdded", friendInfoList: UTSJSONObject[] } 触发时机:新增好友时回调,friendInfoList 为新增的好友信息列表(经 coverFriendInfo 格式化处理)
onFriendListDeleted { type: "onFriendListDeleted", userIDList: string[] } 触发时机:删除好友时回调,userIDList 为被删除好友的用户 ID 列表(注:代码中入参为 groupNameList,按事件语义标注为 userIDList
onFriendApplicationListAdded { type: "onFriendApplicationListAdded", applicationList: UTSJSONObject[] } 触发时机:收到新的好友申请时回调,applicationList 为好友申请列表(经 coverfrinedLocation 格式化处理,推测为拼写笔误,实际为好友申请格式化)
onBlackListAdd { type: "onBlackListAdd", applicationList: UTSJSONObject[] } 触发时机:添加用户到黑名单时回调,applicationList 为新增到黑名单的用户信息列表(经 coverFriendInfo 格式化处理,注:回调字段名 applicationList 与事件语义一致,沿用代码定义)
onBlackListDeleted { type: "onBlackListDeleted", userList: string[] } 触发时机:从黑名单中移除用户时回调,userList 为被移除的用户 ID / 信息列表
onFriendApplicationListDeleted { type: "onFriendApplicationListDeleted", userIDList: string[] } 触发时机:删除好友申请时回调,userIDList 为对应好友申请的发起者用户 ID 列表
onFriendApplicationListRead { type: "onFriendApplicationListRead" } 触发时机:好友申请列表标记为已读时回调,无额外参数,仅通知已读状态变更
onMutualFollowersListChanged { type: "onMutualFollowersListChanged", userInfoList: UTSJSONObject[], isAdd: boolean } 触发时机:双向关注(互粉)列表变更时回调,userInfoList 为变更的用户信息列表(经 converUserFullInfo 格式化),isAdd 标识是新增还是移除互粉关系
onMyFollowersListChanged { type: "onMyFollowersListChanged", userInfoList: UTSJSONObject[], isAdd: boolean } 触发时机:我的粉丝列表变更时回调,userInfoList 为变更的粉丝信息列表(经 converUserFullInfo 格式化),isAdd 标识是新增粉丝还是减少粉丝
onOfficialAccountDeleted { type: "onOfficialAccountDeleted", officialAccountID: string } 触发时机:删除公众号时回调,officialAccountID 为被删除公众号的唯一标识
onOfficialAccountInfoChanged { type: "onOfficialAccountInfoChanged", officialAccountInfo: { createTime: number, customData: string, faceUrl: string, introduction: string, officialAccountID: string, officialAccountName: string, organization: string, ownerUserID: string, subscribeTime: number, subscriberCount: number } } 触发时机:公众号信息发生变更时回调,officialAccountInfo 为变更后的公众号完整信息,包含创建时间、头像、简介等字段
onOfficialAccountSubscribed { type: "onOfficialAccountSubscribed", officialAccountInfo: { createTime: number, customData: string, faceUrl: string, introduction: string, officialAccountID: string, officialAccountName: string, organization: string, ownerUserID: string, subscribeTime: number, subscriberCount: number } } 触发时机:订阅公众号成功时回调,officialAccountInfo 为所订阅公众号的完整信息
onOfficialAccountUnsubscribed { type: "onOfficialAccountUnsubscribed", officialAccountID: string } 触发时机:取消订阅公众号时回调,officialAccountID 为取消订阅的公众号唯一标识(注:代码中存在赋值错误 obj["type"] = json['officialAccountID'],已按语义修正为 officialAccountID 字段)
tencentIM.addFriendListener((res)=> {
  console.log(res)
})

removeFriendListener

移除关系监听器

tencentIM.removeFriendListener((res)=> {
  console.log(res)
  })

addIMSdkListener

添加 IM SDK 全局事件监听器(异步方法,监听 SDK 核心状态变更、用户信息变更等事件)

tencentIM.addIMSdkListener(callback: CallBack): void
参数名 类型 是否必填 描述
callback CallBack 事件回调函数:- 当 SDK 触发对应事件时,会调用该回调返回事件类型及详情- 错误时返回错误信息

监听事件类型及回调参数说明

事件类型 触发场景 回调参数结构
onAllReceiveMessageOptChanged 全局消息接收选项变更(如全局免打扰时段调整) { type: "onAllReceiveMessageOptChanged", receiveMessageOptInfo: { duration: number, startHour: number, startMinute: number, startSecond: number, startTimeStamp: number, userID: string } }
onConnectFailed SDK 连接失败(如网络异常、鉴权失败) { type: "onConnectFailed", code: number }code 为错误码)
onConnecting SDK 正在连接中(首次登录 / 重连触发) { type: "onConnecting" }
onConnectSuccess SDK 连接成功 { type: "onConnectSuccess" }
onKickedOffline 当前用户被踢下线(如异地登录、账号封禁) { type: "onKickedOffline" }
onSelfInfoUpdated 当前用户的个人资料被修改(自己 / 后台修改) { type: "onSelfInfoUpdated", info: { allowType: number, birthday: number, customInfo: object, faceUrl: string, gender: number, level: number, nickName: string, role: number, selfSignature: string, userID: string } }
onUserInfoChanged 已订阅的非好友用户资料变更 { type: "onUserInfoChanged", userInfoList: Array<用户资料对象> }converUserFullInfo 格式化后的列表)
onUserSigExpired 用户签名(UserSig)过期(需重新生成签名登录) { type: "onUserSigExpired" }
onUserStatusChanged 已订阅用户的在线状态变更(如上线 / 下线 / 离开) { type: "onUserStatusChanged", userStatusList: Array<用户状态对象> }converUserStatusList 格式化后的列表)
tencentIM.addIMSdkListener((res)=> {
  console.log(res)
})

removeIMSdkListener

移除IMsdk

tencentIM.removeIMSdkListener((res)=> {
  console.log(res)
})

getLoginUser

获取当前登录用户信息(异步方法)

tencentIM.getLoginUser(callback: CallBack): void
参数名 类型 是否必填 描述
callback CallBack 回调函数,成功时返回格式化后的登录用户信息(含 userID、nickname 等字段),失败时返回错误信息
// 示例
tencentIM.getLoginUser((res) => {
  console.log("登录用户信息:", res);
});

getLoginStatus

获取当前用户登录状态(同步方法)

tencentIM.getLoginStatus(callback: CallBack): void
参数名 类型 是否必填 描述
callback CallBack 回调函数,返回登录状态结果,包含状态编码(code)和文字描述(data)
// 示例
tencentIM.getLoginStatus((res) => {
  console.log("当前登录状态:", res.code, res.data);
});

createTextMessage

创建文本消息(同步方法,结果通过回调返回)

tencentIM.createTextMessage(message: string, callback: CallBack): void
参数名 类型 是否必填 描述
message string 文本消息内容
callback CallBack 回调函数,返回处理后的统一格式消息对象(MessageType)
// 示例
tencentIM.createTextMessage("123123发布内容", (res:UTSJSONObject) => {
  console.log(res)
})

createCustomMessage

创建自定义消息(同步方法,结果通过回调返回)

tencentIM.createCustomMessage(message: string, callback: CallBack): void
参数名 类型 是否必填 描述
message string 自定义消息内容(字符串格式,原生内部会转为字节数组处理)
callback CallBack 回调函数,返回处理后的统一格式消息对象(MessageType)
// 示例
tencentIM.createCustomMessage("你好,请问你在干什么", (res:UTSJSONObject) => {
  console.log(res)
})

createSoundMessage

创建语音消息(同步方法,结果通过回调返回)

tencentIM.createSoundMessage(audioFilePath: string, duration: number, callback: CallBack): void
参数名 类型 是否必填 描述
audioFilePath string 语音文件本地存储路径
duration number 语音时长(单位:秒),会自动转为整数传入原生方法
callback CallBack 回调函数,返回处理后的统一格式消息对象(MessageType)
// 示例
tencentIM.createSoundMessage(path, duration, (response) => {
  console.log(response)
})

createVideoMessage

创建视频消息(同步方法,结果通过回调返回,自动获取文件类型)

tencentIM.createVideoMessage(path: string, duration: number, snapPath: string, callback: CallBack): void
参数名 类型 是否必填 描述
path string 视频文件本地存储路径
duration number 视频时长(单位:秒),会自动转为整数传入原生方法
snapPath string 视频封面图本地存储路径
callback CallBack 回调函数,返回处理后的统一格式消息对象(MessageType)
// 示例
uni.chooseImage({
  count: 1,
  success: (ress) => {
    let paths = ress.tempFilePaths[0];
    // #ifdef APP-IOS
    paths = paths.slice(paths.indexOf("/var"))
    // #endif
    this.imagePath = paths
    setTimeout(() => {
      uni.chooseVideo({
        success: (res) => {
          console.log(res)
          let path = res.tempFilePath;
          // #ifdef APP-IOS
          path = path.slice(path.indexOf("/var"))
          // #endif
          let duration = res.duration
          tencentIM.createVideoMessage(path, duration, this.imagePath, (response) => {
            console.log(response)
            this.customId = response["customId"] as string;
          });
        }
      })
    }, 1000)
  }
})

createFileMessage

创建文件消息(同步方法,结果通过回调返回)

tencentIM.createFileMessage(path: string, name: string, callback: CallBack): void
参数名 类型 是否必填 描述
path string 文件本地存储路径
name string 文件名(需包含后缀,如 "document.pdf"、"archive.zip")
callback CallBack 回调函数,返回处理后的统一格式消息对象(MessageType)
// 示例
uni.chooseVideo({
  success: (res) => {
    console.log(res)
    let path = res.tempFilePath;
    // #ifdef APP-IOS
    path = path.slice(path.indexOf("/var"))
    // #endif
    tencentIM.createFileMessage(path, "video", (response) => {
      console.log(response)
        this.customId = response["customId"] as string;
    })
  }
})

createLocationMessage

创建定位消息(同步方法,结果通过回调返回)

tencentIM.createLocationMessage(desc: string, longitude: number, latitude: number, callback: CallBack): void
参数名 类型 是否必填 描述
desc string 位置描述文本(如 "北京市朝阳区 XX 大厦"、"人民广场")
longitude number 经度(支持小数,内部自动转为 double 类型适配原生方法)
latitude number 纬度(支持小数,内部自动转为 double 类型适配原生方法)
callback CallBack 回调函数,返回处理后的统一格式消息对象(MessageType)
// 示例
uni.chooseLocation({
  success: (res) => {
    console.log(res)
    tencentIM.createLocationMessage("XXXXXX", res.longitude, res.latitude, (response) => {
      console.log(response)
    })

  }
})

createFaceMessage

创建表情消息(同步方法,结果通过回调返回)

tencentIM.createFaceMessage(index: number, callback: CallBack): void
参数名 类型 是否必填 描述
index number 表情索引(对应项目表情库中的位置序号,内部自动转为 int 类型)
callback CallBack 回调函数,返回处理后的统一格式消息对象(MessageType)
// 示例
tencentIM.createFaceMessage(1, (response) => {
  console.log(response);
})

createImageMessage

创建图片消息(同步方法,结果通过回调返回,

tencentIM.createImageMessage(imagepath: string, callback: CallBack): void
参数名 类型 是否必填 描述
imagepath string 图片文件本地存储路径(支持常见图片格式,如 jpg、png、webp 等)
callback CallBack 回调函数,返回处理后的统一格式消息对象(MessageType)
// 示例
uni.chooseImage({
  count: 1,
  success: (res) => {
    let path = res.tempFilePaths[0];
    // #ifdef APP-IOS
    path = path.slice(path.indexOf("/var"))
    // #endif
    tencentIM.createImageMessage(path, (response) => {
      this.customId = response["customId"] as string;
      console.log(response)
    })
  }
})

sendMessage

发送消息(异步方法,支持单聊 / 群聊,

tencentIM.sendMessage(params: sendMessageType, callback: CallBack): void
参数名 类型 是否必填 描述
params sendMessageType 发送消息的参数集合,包含消息主体、接收方等配置
callback CallBack 回调函数,返回发送结果(成功时返回消息发送详情,失败时返回错误信息)

params(sendMessageType)参数说明

参数名 类型 是否必填 描述
customId string 消息自定义 ID,用于关联本地 messageList 中创建好的消息对象(V2TIMMessage)
desc string 消息描述(可选补充信息)
ext string 消息扩展字段(自定义业务数据,字符串格式)
groupID string 群聊 ID(群聊场景必填,单聊场景无需传递)
onlineUserOnly boolean 是否仅在线用户可接收(默认 false,可选 true 仅发送给在线用户)
title string 消息标题(可选,多用于文件、链接等消息类型的补充说明)
userId string 单聊用户 ID(单聊场景必填,群聊场景无需传递)
// 创建文本消息
tencentIM.createTextMessage("123123发布内容", (res:UTSJSONObject) => {
  console.log(res)
  this.customId = res["customId"] as string;
})

// 然后发送消息
if (this.customId == "") {
  uni.showToast({
    title: "请先创建消息",
    icon: 'none'
  })
  return
}
let params : sendMessageType = {
  userId: this.user2,
  customId: this.customId,
  onlineUserOnly: false,
}
console.log(`自己id:${this.user1}`)
console.log(`对方id:${this.user2}`)
tencentIM.sendMessage(params, res => {
  console.log(res)
})

getC2CHistoryMessageList

获取单聊历史消息列表(异步方法,支持分页加载,

tencentIM.getC2CHistoryMessageList(params: getHistoryMessageType, callback: CallBack): void
参数名 类型 是否必填 描述
params getHistoryMessageType 获取历史消息的参数配置,包含接收方、分页等信息
callback CallBack 回调函数,返回单聊历史消息列表(MessageType []),失败时返回错误信息

params(getHistoryMessageType)参数说明

参数名 类型 是否必填 描述
userId string 单聊对方用户 ID(唯一标识)
count number 本次要获取的消息条数(分页大小)
lastMsgId string 分页起始消息 ID:- 传空字符串时,从最新消息开始往前获取- 传具体消息 ID 时,从该消息之前的消息开始获取(实现上拉加载更多)
tencentIM.getC2CHistoryMessageList({
  userId: this.user2,
  count: 20,
  lastMsgId: ""
} as getHistoryMessageType, (res) => {
  console.log(res)
  let aa = res.get("data") as MessageType[];
  this.msgId = aa[0].msgID as string;
})

getGroupHistoryMessageList

获取群聊历史消息列表(异步方法,支持分页加载,

tencentIM.getGroupHistoryMessageList(params: getHistoryMessageType, callback: CallBack): void
参数名 类型 是否必填 描述
params getHistoryMessageType 获取历史消息的参数配置,包含群 ID、分页等信息
callback CallBack 回调函数,返回群聊历史消息列表(MessageType []),失败时返回错误信息

params(getHistoryMessageType)参数说明

参数名 类型 是否必填 描述
groupID string 群聊 ID(唯一标识)
count number 本次要获取的消息条数(分页大小)
lastMsgId string 分页起始消息 ID:- 传空字符串时,从最新消息开始往前获取- 传具体消息 ID 时,从该消息之前的消息开始获取(实现上拉加载更多)
// 示例1:获取群聊最新20条消息
tencentIM.getGroupHistoryMessageList({
  groupID: "@TGS#2DY76VNO4",
  count: 20,
  lastMsgId: ""
} as getHistoryMessageType, (res) => {
  console.log(res)
})

createMergerMessage

创建合并转发消息(异步方法,

tencentIM.createMergerMessage(params: mergerMessageType, callback: CallBack): void
参数名 类型 是否必填 描述
params mergerMessageType 合并消息的配置参数,包含待合并消息、标题等信息
callback CallBack 回调函数,返回创建成功的合并消息对象(MessageType),失败时返回错误提示

params(mergerMessageType)参数说明

参数名 类型 是否必填 描述
msg string[] 待合并转发的消息 ID 列表(需传入有效消息 ID,内部通过 findMessages 查询对应消息对象)
title string 合并消息的标题(如 "XX 的聊天记录"、"合并转发")
abstractList string[] 合并消息的摘要列表(每条摘要对应一条待合并消息,用于展示预览,如 "文本消息:你好")
compatibleText string 兼容文本(用于不支持合并消息的客户端展示,如 "该消息为合并转发,点击查看详情")

downloadMergerMessage

下载合并消息的原始消息列表(异步方法,

tencentIM.downloadMergerMessage(msgID: string, callback: CallBack): void
参数名 类型 是否必填 描述
msgID string 合并消息的唯一 ID(需为类型为合并消息的 msgID,非合并消息会返回类型错误)
callback CallBack 回调函数,成功时返回合并消息包含的原始消息列表,失败时返回错误信息
// 示例:下载合并消息的原始内容
tencentIM.downloadMergerMessage("144115244096203778-1763621525-3661797454", (res) => {
  console.log(res)
})

modifyMessage

修改已发送的文本消息内容(异步方法,仅支持文本消息)

tencentIM.modifyMessage(msgID: string, text: string, callback: CallBack): void
参数名 类型 是否必填 描述
msgID string 待修改的文本消息唯一 ID(非文本消息不会修改内容,仅执行原生修改逻辑)
text string 修改后的文本内容
callback CallBack 回调函数,成功时返回修改后的消息对象,失败时返回错误信息
// 示例:修改已发送的文本消息
tencentIM.modifyMessage(this.msgId, "哈哈哈,这是修改的内容bbb", (res) => {
  console.log(res)
})

insertC2CMessageToLocalStorage

向单聊会话插入本地消息(仅本地存储,不发送到服务端,异步方法)

tencentIM.insertC2CMessageToLocalStorage(customId: string, userId: string, sender: string, callback: CallBack): void
参数名 类型 是否必填 描述
customId string 本地消息列表 messageList 中已创建的消息自定义 ID(需先通过 createXXXMessage 创建)
userId string 单聊对方用户 ID(接收方)
sender string 消息发送方用户 ID(通常为当前登录用户 ID)
callback CallBack 回调函数,成功时返回插入后的本地消息对象,失败时返回错误信息
// 示例:向单聊插入本地文本消息
tencentIM.insertC2CMessageToLocalStorage(this.customId, this.user2, this.user1, (res) => {
  console.log(res)
})

insertGroupMessageToLocalStorage

向群聊会话插入本地消息(仅本地存储,不发送到服务端,异步方法)

tencentIM.insertGroupMessageToLocalStorage(customId: string, groupId: string, sender: string, callback: CallBack): void
参数名 类型 是否必填 描述
customId string 本地消息列表 messageList 中已创建的消息自定义 ID(需先通过 createXXXMessage 创建)
groupId string 目标群聊 ID
sender string 消息发送方用户 ID(通常为当前登录用户 ID)
callback CallBack 回调函数,成功时返回插入后的本地消息对象,失败时返回错误信息
// 示例:向群聊插入本地图片消息
tencentIM.insertGroupMessageToLocalStorage(this.customId, "@TGS#2DY76VNO4", this.user1, (res) => {
  console.log(res)
})

deleteMessageFromLocalStorage

删除本地存储的单条消息(仅删除本地缓存,不影响云端消息,异步方法)

tencentIM.deleteMessageFromLocalStorage(msgId: string, callback: CallBack): void
参数名 类型 是否必填 描述
msgId string 待删除的本地消息唯一 ID(需为已存在的本地消息 ID)
callback CallBack 回调函数,成功时返回删除结果,失败时返回错误信息
// 示例:删除本地单条消息
tencentIM.deleteMessageFromLocalStorage("144115244096203778-1763621525-3661797454", (res) => {
  console.log(res)
})

deleteMessages

删除云端存储的消息(支持批量删除,同步删除本地缓存,异步方法)

tencentIM.deleteMessages(msgIdList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
msgIdList string[] 待删除的云端消息 ID 列表(需为已发送成功的消息 ID,空数组无操作)
callback CallBack 回调函数,成功时返回删除结果,失败时返回错误信息
// 示例:批量删除云端消息
tencentIM.deleteMessages(["144115244096203778-1763621525-3661797454"], (res) => {
  console.log(res)
})

clearC2CHistoryMessage

清空单聊的全部历史消息(同时删除本地和云端的单聊消息,异步方法)

tencentIM.clearC2CHistoryMessage(userId: string, callback: CallBack): void
参数名 类型 是否必填 描述
userId string 单聊对方用户 ID(清空与该用户的所有单聊消息)
callback CallBack 回调函数,成功时返回清空结果,失败时返回错误信息
// 示例:清空与指定用户的单聊消息
tencentIM.clearC2CHistoryMessage(this.user2, (res) => {
  console.log(res)
})

clearGroupHistoryMessage

清空群聊的全部历史消息(同时删除本地和云端的群聊消息,异步方法)

tencentIM.clearGroupHistoryMessage(groupId: string, callback: CallBack): void
参数名 类型 是否必填 描述
groupId string 目标群聊 ID(清空该群的所有历史消息)
callback CallBack 回调函数,成功时返回清空结果,失败时返回错误信息
// 示例:清空指定群聊的所有消息
tencentIM.clearGroupHistoryMessage("@TGS#2DY76VNO4", (res) => {
  console.log(res)
})

revokeMessage

撤回已发送的消息(支持单聊 / 群聊消息撤回,异步方法)

tencentIM.revokeMessage(msgId: string, callback: CallBack): void
参数名 类型 是否必填 描述
msgId string 待撤回的消息唯一 ID(需为已发送成功的消息,撤回有时间限制,参考腾讯 IM 官方规则)
callback CallBack 回调函数,成功时返回撤回结果,失败时返回错误信息(如超时、无权限等)
// 示例:撤回已发送的消息
tencentIM.revokeMessage(this.msgId, (res) => {
  console.log(res)
})

sendMessageReadReceipts

发送消息已读回执(标记指定消息为已读,异步方法)

tencentIM.sendMessageReadReceipts(msgIdList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
msgIdList string[] 待标记为已读的消息 ID 列表(支持批量标记,空数组无操作)
callback CallBack 回调函数,成功时返回已读回执发送结果,失败时返回错误信息
// 示例:批量发送已读回执
tencentIM.sendMessageReadReceipts(["144115247769404501-1763973073-1480785706"], (res) => {
  console.log(res)
})

getMessageReadReceipts

获取消息的已读回执信息(查询指定消息的已读 / 未读状态,异步方法)

tencentIM.getMessageReadReceipts(msgIdList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
msgIdList string[] 待查询的消息 ID 列表(支持批量查询,空数组无返回结果)
callback CallBack 回调函数,成功时返回各消息的已读回执详情,失败时返回错误信息
// 示例:查询消息已读回执信息
tencentIM.getMessageReadReceipts(["144115247769404501-1763973073-1480785706"], (res) => {
  console.log(res)
})

findLocalMessages

查询本地存储的消息(仅查询本地缓存,不请求云端,异步方法)

tencentIM.findLocalMessages(msgIdList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
msgIdList string[] 待查询的本地消息 ID 列表(空数组返回空列表)
callback CallBack 回调函数,成功时返回本地消息列表(MessageType []),失败时返回错误信息
// 示例:查询本地缓存的消息
tencentIM.findLocalMessages(["144115247769404501-1763973073-1480785706"], (res) => {
  console.log(res)
})

createAtSignedGroupMessage

创建带 @标记的群消息(支持 @指定成员 / 全员,同步方法)

tencentIM.createAtSignedGroupMessage(params: AtGroupType, callback: CallBack): void
参数名 类型 是否必填 描述
params AtGroupType 创建 @群消息的参数配置
callback CallBack 回调函数,返回创建成功的 @群消息对象(MessageType),失败时返回错误信息

params(AtGroupType)参数说明

参数名 类型 是否必填 描述
customId string 本地消息列表 messageList 中已创建的消息自定义 ID(需先通过 createXXXMessage 创建基础消息)
atList string[] @的群成员 ID 列表:- 传具体用户 ID 数组:@指定成员- 传 ["@all"]:@群内所有人
// 示例1:创建@指定成员的群文本消息
tencentIM.createAtSignedGroupMessage({
  customId: this.customId,
  atList: [this.user2]
} as AtGroupType, (res) => {
  console.log(res)
})

setC2CReceiveMessageOpt

设置单聊消息接收选项(免打扰 / 正常接收,异步方法)

tencentIM.setC2CReceiveMessageOpt(userList: string[], opt: number, callback: CallBack): void
参数名 类型 是否必填 描述
userList string[] 目标单聊用户 ID 列表(支持批量设置)
opt number 消息接收选项:- 0:正常接收消息- 1:消息免打扰(仅接收离线推送,不触发在线提醒)- 2:完全不接收该用户消息
callback CallBack 回调函数,返回设置结果,失败时返回错误信息
// 示例:设置对2个用户的单聊消息免打扰
tencentIM.setC2CReceiveMessageOpt([this.user2], 1, (res) => {
  console.log(res)
})

getC2CReceiveMessageOpt

获取单聊消息接收选项(查询免打扰状态,异步方法)

tencentIM.getC2CReceiveMessageOpt(userList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userList string[] 目标单聊用户 ID 列表(支持批量查询)
callback CallBack 回调函数,返回各用户的消息接收选项配置,失败时返回错误信息
// 示例:查询对2个用户的单聊消息接收状态
tencentIM.getC2CReceiveMessageOpt([this.user2,"ccc"], (res) => {
  console.log(res)
})

setGroupReceiveMessageOpt

设置群聊消息接收选项(免打扰 / 正常接收,异步方法)

tencentIM.setGroupReceiveMessageOpt(groupId: string, opt: number, callback: CallBack): void
参数名 类型 是否必填 描述
groupId string 目标群聊 ID
opt number 消息接收选项:- 0:正常接收群消息- 1:群消息免打扰(仅接收离线推送,不触发在线提醒)- 2:完全不接收该群消息- 3:仅接收 @我的群消息
callback CallBack 回调函数,返回设置结果,失败时返回错误信息
// 示例:设置群聊为“仅接收@我的消息”模式
tencentIM.setGroupReceiveMessageOpt("@TGS#2DY76VNO4", 1, (res) => {
  console.log(res)
})

getGroupsInfo

查询群聊信息(含消息接收选项等群属性,异步方法)

tencentIM.getGroupsInfo(groupIdList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
groupIdList string[] 目标群聊 ID 列表(支持批量查询,空数组无返回结果)
callback CallBack 回调函数,成功时返回群聊信息列表,失败时返回错误信息
// 示例:批量查询群聊信息(含消息接收选项)
tencentIM.getGroupsInfo(["@TGS#2DY76VNO4"], (res) => {
  console.log(res)
})

setAllReceiveMessageOpt

设置全局消息接收选项(全局免打扰 / 时段免打扰,异步方法)

tencentIM.setAllReceiveMessageOpt(opt: number, startTimeStamp: number, duration: number, callback: CallBack): void
参数名 类型 是否必填 描述
opt number 全局消息接收选项:- 0:正常接收所有消息- 1:全局消息免打扰- 2:完全不接收所有消息
startTimeStamp number 生效起始时间戳(毫秒):- 立即生效传当前时间戳- 定时生效传指定时间戳
duration number 生效时长(毫秒):- 永久生效传 0- 时段生效传具体时长(如 3600000 表示 1 小时)
callback CallBack 回调函数,返回设置结果,失败时返回错误信息
// 示例1:设置全局永久免打扰
tencentIM.setAllReceiveMessageOpt1(1, 22, 0, 0, 3600, (res) => {
  console.log(res)
})

getAllReceiveMessageOpt

获取全局消息接收选项配置(异步方法)

tencentIM.getAllReceiveMessageOpt(callback: CallBack): void
参数名 类型 是否必填 描述
callback CallBack 回调函数,成功时返回全局消息接收选项(含生效时间、时长等),失败时返回错误信息
// 示例:查询全局消息接收选项
tencentIM.getAllReceiveMessageOpt((res) => {
  console.log(res)
})

translateText

文本翻译(多文本批量翻译,异步方法)

tencentIM.translateText(textList: string[], sourceLanguage: string, targetLanguage: string, callback: CallBack): void
参数名 类型 是否必填 描述
textList string[] 待翻译的文本列表(支持批量翻译,空数组无返回结果)
sourceLanguage string 源语言类型(参考腾讯 IM 语言编码:如 "zh" 中文、"en" 英文、"ja" 日文)
targetLanguage string 目标语言类型(编码规则同源语言)
callback CallBack 回调函数,成功时返回翻译结果列表,失败时返回错误信息
// 示例:批量翻译文本(中译英)
tencentIM.translateText(["你好", "再见"], "zh", "en", (res) => {
  console.log(res)
})

convertVoiceToText

语音消息转文字(异步方法)

tencentIM.convertVoiceToText(msgId: string, totext: string, callback: CallBack): void
参数名 类型 是否必填 描述
msgId string 待转换的语音消息唯一 ID(需为已发送 / 接收的语音消息 ID)
totext string 目标语言类型(参考腾讯 IM 语音转文字编码:如 "zh" 中文、"en" 英文)
callback CallBack 回调函数,成功时返回转换后的文字内容,失败时返回错误信息
// 示例:将语音消息转为中文文本
tencentIM.convertVoiceToText("144115244096204086-1763954756-4182929792", "yue-Hant-HK", (res) => {
  console.log(res)
})

getConversationAllList

一次性拉取所有会话列表(异步方法,自动分页直至拉取完成)

tencentIM.getConversationAllList(callback: CallBack): void
参数名 类型 是否必填 描述
callback CallBack 回调函数,成功时返回完整会话列表及分页标识,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
msg string 结果描述:成功为 "成功",失败为错误信息
data ConversationType[] 拉取到的会话列表(已通过 setConversation 格式化)
nextSeq number 下一页分页标记:- 0 表示已拉取完所有会话- 非 0 表示还有更多会话(该方法会自动拉取至 nextSeq=0)
isFinished boolean 是否拉取完成:true 表示所有会话已拉取,false 表示还有更多
// 示例:一次性拉取所有会话
tencentIM.getConversationAllList((res) => {
  console.log(res)
})

getConversationList

分页拉取会话列表(异步方法,支持指定分页起始位置和条数)

tencentIM.getConversationList(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 分页参数配置
callback CallBack 回调函数,成功时返回分页会话列表及分页标识,失败时返回错误信息

params 参数说明

参数名 类型 是否必填 描述
nextSeq number 分页起始标记:- 首次拉取传 0- 后续拉取传上一次返回的 nextSeq
count number 本次拉取的会话条数(分页大小,建议设置为 20/30 条)

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
msg string 结果描述:成功为 "成功",失败为错误信息
data ConversationType[] 本次拉取的会话列表(已通过 setConversation 格式化)
nextSeq number 下一页分页标记:0 表示已拉取完所有会话,非 0 表示还有更多
isFinished boolean 是否拉取完成:true 无更多会话,false 可继续分页拉取
// 示例1:首次分页拉取20条会话
let params = {
  nextSeq: 0,
  count: 20
}
tencentIM.getConversationList(params, (res) => {
  console.log(res)
})

getConversationListByFilter

按筛选条件分页拉取会话列表(会话高级查询接口,异步方法)

tencentIM.getConversationListByFilter(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 分页参数 + 筛选条件配置(底层转为 Map 传递给原生 SDK)
callback CallBack 回调函数,成功时返回筛选后的分页会话列表,失败时返回错误信息

params 参数说明

参数名 类型 是否必填 描述
nextSeq number 分页起始标记:- 首次拉取传 0- 后续拉取传上一次返回的 nextSeq
count number 本次拉取的会话条数(分页大小,建议 20-50 条)

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
msg string 结果描述:成功为 "成功",失败为错误信息
data ConversationType[] 筛选后拉取的会话列表(已通过 setConversation 格式化)
nextSeq number 下一页分页标记:0 表示无更多会话,非 0 表示可继续拉取
isFinished boolean 是否拉取完成:true 无更多符合条件的会话,false 可继续分页
// 示例1:筛选有未读消息的群聊会话(首次拉取20条)
tencentIM.getConversationListByFilter({
    nextSeq: 0,
    count: 20,
    type: "C2C"
  }, (res) => {
    console.log(res)
  })

getConversationOne

获取指定的单个会话信息(异步方法)

tencentIM.getConversationOne(conversationID: string, callback: CallBack): void
参数名 类型 是否必填 描述
conversationID string 会话唯一 ID(单聊会话 ID 格式:c2c_${userId},群聊会话 ID 格式:group_${groupId}
callback CallBack 回调函数,成功时返回单个会话详情,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
msg string 结果描述:成功为 "成功",失败为错误信息(如会话不存在)
data ConversationType 单个会话信息(已通过 setConversation 格式化)
// 示例1:获取单聊会话信息
tencentIM.getConversationOne("c2c_penglele", (res) => {
  console.log(res)
})

getConversationSeveral

批量获取指定的多个会话信息(异步方法)

tencentIM.getConversationSeveral(conversationIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
conversationIDList string[] 会话 ID 列表(支持混合单聊 / 群聊会话 ID,空数组返回空列表)
callback CallBack 回调函数,成功时返回多个会话列表,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
msg string 结果描述:成功为 "成功",失败为错误信息
data ConversationType[] 多个会话信息列表(已通过 setConversation 格式化)
// 示例:批量获取多个会话信息
tencentIM.getConversationSeveral(["c2c_ale"], (res) => {
  console.log(res)
})

getTotalUnreadMessageCount

获取所有会话的未读消息总数(异步方法)

tencentIM.getTotalUnreadMessageCount(callback: CallBack): void
参数名 类型 是否必填 描述
callback CallBack 回调函数,成功时返回全局未读总数,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
count number 所有会话的未读消息总数(成功时返回,失败时无)
msg string 失败时的错误描述
// 示例:获取全局未读消息总数
tencentIM.getTotalUnreadMessageCount((res) => {
  console.log(res)
})

getUnreadMessageCountByFilter

按筛选条件获取未读消息总数(支持单聊 / 群聊分类统计,异步方法)

tencentIM.getUnreadMessageCountByFilter(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 筛选条件配置(底层转为 Map 传递给原生 SDK)
callback CallBack 回调函数,成功时返回筛选后的未读总数,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
count number 筛选后的未读消息总数(成功时返回)
msg string 失败时的错误描述
tencentIM.getUnreadMessageCountByFilter({
  nextSeq: 0,
  count: 20,
  type: "C2C"
}, (res) => {
  console.log(res)
})

cleanConversationUnreadMessageCount

清理指定会话的未读消息数(支持按时间 / 序列精准清理,异步方法)

tencentIM.cleanConversationUnreadMessageCount(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 清理参数配置
callback CallBack 回调函数,返回清理结果,失败时返回错误信息

params 参数说明

参数名 类型 是否必填 描述
conversationID string 目标会话 ID(单聊:c2c_${userId},群聊:group_${groupId}
cleanTimestamp number 清理时间戳(毫秒):- 传 0 清理该会话所有未读- 传指定时间戳清理该时间前的未读
cleanSequence number 清理序列值:- 传 0 配合 cleanTimestamp 使用- 原生 SDK 预留字段,通常传 0 即可
// 示例1:清理单聊会话所有未读消息数
tencentIM.cleanConversationUnreadMessageCount({
  conversationID: "c2c",
  cleanSequence: 0,
  cleanTimestamp: 0
}, (res) => {
  console.log(res)
})

pinConversation

置顶 / 取消置顶指定会话(异步方法)

tencentIM.pinConversation(conversationID: string, isPinned: boolean, callback: CallBack): void
参数名 类型 是否必填 描述
conversationID string 目标会话 ID(单聊 / 群聊均可)
isPinned boolean 是否置顶:- true:置顶会话- false:取消置顶
callback CallBack 回调函数,返回置顶 / 取消置顶结果,失败时返回错误信息
// 示例1:置顶单聊会话
tencentIM.pinConversation("c2c_ale", true, (res) => {
  console.log(res)
})

deleteConversation

删除单个会话(异步方法,删除后会话从列表移除,可保留消息)

tencentIM.deleteConversation(conversationID: string, callback: CallBack): void
参数名 类型 是否必填 描述
conversationID string 目标会话 ID(单聊 / 群聊均可)
callback CallBack 回调函数,返回删除结果,失败时返回错误信息
// 示例:删除单个单聊会话
tencentIM.deleteConversation("c2c_ale", (res) => {
  console.log(res)
})

deleteConversationList

批量删除多个会话(支持是否清空会话消息,异步方法)

tencentIM.deleteConversationList(conversationIDList: string[], clearMessage: boolean, callback: CallBack): void
参数名 类型 是否必填 描述
conversationIDList string[] 待删除的会话 ID 列表(支持混合单聊 / 群聊,空数组无操作)
clearMessage boolean 是否清空会话消息:- true:删除会话并清空该会话所有消息- false:仅删除会话,保留本地消息
callback CallBack 回调函数,返回批量删除结果,失败时返回错误信息

tencentIM.deleteConversationList(["c2c_ale"], true, (res) => {
  console.log(res)
})

setConversationDraft

设置指定会话的草稿内容(异步方法,草稿仅本地存储)

tencentIM.setConversationDraft(conversationID: string, draftText: string, callback: CallBack): void
参数名 类型 是否必填 描述
conversationID string 目标会话 ID(单聊:c2c_${userId},群聊:group_${groupId}
draftText string 草稿文本内容:- 传空字符串清空该会话草稿- 传具体文本设置 / 更新草稿
callback CallBack 回调函数,返回设置结果,失败时返回错误信息
// 示例1:设置单聊会话草稿
tencentIM.setConversationDraft("c2c_ale", "hahah", (res) => {
  console.log(res)
})

markConversation

标记 / 取消标记会话(支持批量标记,异步方法)

tencentIM.markConversation(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 标记参数配置
callback CallBack 回调函数,返回标记结果,失败时返回错误信息

params 参数说明

参数名 类型 是否必填 描述
conversationIDList string[] 待标记的会话 ID 列表(支持批量标记,空数组无操作)
type number 标记类型(参考腾讯 IM 原生定义):- 1:标记为已读- 2:标记为重要- 其他值参考官方文档
enableMark boolean 是否启用标记:- true:添加标记- false:取消标记

tencentIM.markConversation({
  conversationIDList: ["c2c_penglele"],
  type: 1,
  enableMark: true
}, (res) => {
  console.log(res)
})

createConversationGroup

新建会话分组并添加指定会话(异步方法,分组同步到云端)

tencentIM.createConversationGroup(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 分组创建参数
callback CallBack 回调函数,返回创建结果,失败时返回错误信息

params 参数说明

参数名 类型 是否必填 描述
groupName string 分组名称(不可重复,建议使用中文 / 英文命名,如 "工作群"、"亲友")
conversationIDList string[] 加入该分组的会话 ID 列表(支持混合单聊 / 群聊,空数组创建空分组)
// 示例:创建“项目组”分组并添加指定会话
tencentIM.createConversationGroup({
  groupName: "一家人",
  conversationIDList: ["c2c_ale"]
}, (res) => {
  console.log(res)
})

deleteConversationGroup

删除指定的会话分组(异步方法,仅删除分组,不删除会话)

tencentIM.deleteConversationGroup(groupName: string, callback: CallBack): void
参数名 类型 是否必填 描述
groupName string 待删除的分组名称(需与创建时的名称完全一致)
callback CallBack 回调函数,返回删除结果,失败时返回错误信息
// 示例:删除“项目组”会话分组
tencentIM.deleteConversationGroup("一家人", (res) => {
  console.log(res)
})

renameConversationGroup

重命名已创建的会话分组(异步方法,分组名称同步到云端)

tencentIM.renameConversationGroup(oldName: string, newName: string, callback: CallBack): void
参数名 类型 是否必填 描述
oldName string 原分组名称(需与已创建的分组名称完全一致)
newName string 新分组名称(不可与现有分组重名,建议使用中文 / 英文命名)
callback CallBack 回调函数,返回重命名结果,失败时返回错误信息(如分组不存在、名称重复)

tencentIM.renameConversationGroup("一家人", "两家人", (res) => {
  console.log(res)
})

getConversationGroupList

获取所有会话分组列表(异步方法,返回分组名称及分组内会话)

tencentIM.getConversationGroupList(callback: CallBack): void
参数名 类型 是否必填 描述
callback CallBack 回调函数,成功时返回分组列表,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data Array<{name: string, conversationIDs: string[]}> 分组列表:- name:分组名称- conversationIDs:该分组下的会话 ID 列表
msg string 失败时的错误描述
// 示例:获取所有会话分组信息
tencentIM.getConversationGroupList((res) => {
  console.log(res)
})

addConversationsToGroup

将指定会话添加到已有分组(异步方法,支持批量添加)

tencentIM.addConversationsToGroup(groupName: string, conversationIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
groupName string 目标分组名称(需已创建,名称需完全一致)
conversationIDList string[] 待添加的会话 ID 列表(支持混合单聊 / 群聊,空数组无操作)
callback CallBack 回调函数,返回添加结果,失败时返回错误信息(如分组不存在)
tencentIM.addConversationsToGroup("hh", ["c2c_ale"], (res) => {
  console.log(res)
})

deleteConversationsFromGroup

从指定分组中移除会话(异步方法,仅移除分组关系,不删除会话)

tencentIM.deleteConversationsFromGroup(groupName: string, conversationIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
groupName string 目标分组名称(需已创建,名称需完全一致)
conversationIDList string[] 待移除的会话 ID 列表(支持批量移除,空数组无操作)
callback CallBack 回调函数,返回移除结果,失败时返回错误信息(如分组不存在、会话不在分组中)
tencentIM.deleteConversationsFromGroup("hh", ["c2c_ale"], (res) => {
  console.log(res)
})

createGroup

创建群组(支持指定群类型 / 群 ID / 群名称,异步方法)

tencentIM.createGroup(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 建群参数配置
callback CallBack 回调函数,成功时返回群信息,失败时返回错误信息(如群 ID 重复、权限不足)

params 参数说明

参数名 类型 是否必填 描述
type string 群类型(参考腾讯 IM 原生定义):- "Work":工作群- "Public":公开群- "Meeting":会议群- "Community":社群群- 其他值参考官方文档
groupID string 自定义群 ID(不传则由 SDK 自动生成,传值需保证唯一)
groupName string 群名称(必填,建议使用中文 / 英文命名,如 "产品讨论群")
tencentIM.createGroup({
  type: "Public",
  groupID: "00001",
  groupName: "相亲相爱一家人"
}, (res) => {
  console.log(res)
})

searchGroups

搜索群组(支持多关键词模糊匹配,异步方法)

tencentIM.searchGroups(keywordList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
keywordList string[] 搜索关键词列表(支持多个关键词,空数组返回空列表):- 匹配群名称 / 群 ID / 群备注等字段- 多关键词为 “或” 关系(匹配任意一个关键词)
callback CallBack 回调函数,成功时返回匹配的群列表,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data Array<{groupID: string, groupName: string, ...}> 匹配的群列表(包含群 ID、群名称、群类型等核心字段)
msg string 失败时的错误描述
tencentIM.searchGroups(["一家人"], (res) => {
  console.log(res)
})

joinGroup

主动申请加组(自由,异步方法)

tencentIM.joinGroup(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject ***参数配置
callback CallBack 回调函数,返回结果:- 公开群 / 自由:直接加入成功- 需要审核的群:返回 “申请已提交”- 失败:返回错误信息(如群不存在、禁止加入)

params 参数说明

参数名 类型 是否必填 描述
groupID string 目标群 ID
msg string ***申请备注(仅需审核的群有效,如 "我是产品部 XXX,申请加入")
tencentIM.joinGroup({
  msg: "我是彭先生",
  groupID: "00001"
}, (res) => {
  console.log(res);
})

inviteUserToGroup

邀请用户加***组(异步方法,需有群邀请权限)

tencentIM.inviteUserToGroup(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 邀请***参数配置
callback CallBack 回调函数,返回邀请结果:- 成功:返回邀请成功的用户列表- 失败:返回错误信息(如无权限、用户不存在)

params 参数说明

参数名 类型 是否必填 描述
groupID string 目标群 ID(需有邀请权限,如群主 / 群管理员)
userList string[] 被邀请的用户 ID 列表(空数组无操作)
tencentIM.inviteUserToGroup({
  userList: [this.user2],
  groupID: "00001"
}, (res) => {
  console.log(res)
})

createGroupSenior

创建群组高级接口(支持自定义群配置 + 初始化群成员,异步方法)

tencentIM.createGroupSenior(params: UTSJSONObject, memberLists: UTSJSONObject[], callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 基础建群参数(底层转为 Map):- 包含 type(群类型)、groupID(自定义群 ID)、groupName(群名称)等核心字段- 支持原生 SDK 所有建群配置(如群公告、群简介、***审核方式等)
memberLists UTSJSONObject[] 初始化群成员列表(底层转为 List):- 每个元素为成员配置(如 userID(成员 ID)、role(角色:群主 / 管理员 / 普通成员)等)- 不传则仅创建空群
callback CallBack 回调函数,成功时返回群信息 + 初始化成员结果,失败时返回错误信息
tencentIM.createGroupSenior({
  groupType: "Public",
  groupName: "吃鸡大队",
  groupID: "00003",
  groupApproveOpt: "auth",
  notification: "xxxxxx",
  introduction: "xxxxxxxx",
  faceURL: "https://ts2.cn.mm.bing.net/th?id=OIP-C.JCEcaQJVR_vC2kgt6BGZlAAAAA&w=247&h=252&c=8&rs=1&qlt=90&o=6&dpr=2&pid=3.1&rm=2"
}, [{ userID: this.user2, role: 100 }], (res) => {
  console.log(res)
})

setGroupInfo

修改群组信息(支持批量更新群属性,异步方法)

tencentIM.setGroupInfo(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 群信息修改参数(底层转为 Map):- 必传 groupID(目标群 ID)- 可选字段:groupName(群名称)、introduction(群简介)、notification(群公告)、applyJoinOption(***审核方式)等原生支持的群属性
callback CallBack 回调函数,返回修改结果,失败时返回错误信息(如无权限、群不存在)
tencentIM.setGroupInfo({
    groupType: "Public",
    groupName: "吃鸡大队1",
    groupID: "00002",
    groupApproveOpt: "auth",
    notification: "xxxxxx",
    introduction: "xxxxxxxx",
    faceURL: "https://ts2.cn.mm.bing.net/th?id=OIP-C.JCEcaQJVR_vC2kgt6BGZlAAAAA&w=247&h=252&c=8&rs=1&qlt=90&o=6&dpr=2&pid=3.1&rm=2"
  }, (res) => {
    console.log(res)
  })

acceptGroupApplication

同意用户的***申请(需有群管理权限,异步方法)

tencentIM.acceptGroupApplication(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 同意***参数
callback CallBack 回调函数,返回同意结果,失败时返回错误信息(如无审核权限、申请不存在)

params 参数说明

参数名 类型 是否必填 描述
groupID string 目标群 ID
userID string 提交***申请的用户 ID
tencentIM.acceptGroupApplication({
  groupID: "00003",
  userId: this.user2
}, (res) => {
  console.log(res)
})

refuseGroupApplication

拒绝用户的***申请(需有群管理权限,异步方法)

tencentIM.refuseGroupApplication(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 拒绝***参数
callback CallBack 回调函数,返回拒绝结果,失败时返回错误信息

params 参数说明

参数名 类型 是否必填 描述
groupID string 目标群 ID
userID string 提交***申请的用户 ID
tencentIM.refuseGroupApplication({
  groupID: "00002",
  userId: this.user2
}, (res) => {
  console.log(res)
})

getJoinedGroupList

获取当前用户已加入的所有群组列表(异步方法)

tencentIM.getJoinedGroupList(callback: CallBack): void
参数名 类型 是否必填 描述
callback CallBack 回调函数,成功时返回已加入的群列表,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
msg string 结果描述:成功为 "成功",失败为错误信息
data GroupInfoType[] 已加入的群列表(已通过 setGroupInfoData 格式化,包含群 ID、群名称、群类型等核心字段)
tencentIM.getJoinedGroupList((res)=> {
  console.log(res)
})

dismissGroup

解散群组(仅群主可操作,异步方法,解散后所有成员退出群)

tencentIM.dismissGroup(groupID: string, callback: CallBack): void
参数名 类型 是否必填 描述
groupID string 目标群 ID(仅群主可调用,普通成员 / 管理员调用会返回权限错误)
callback CallBack 回调函数,返回解散结果,失败时返回错误信息(如无权限、群不存在)
tencentIM.dismissGroup("00001",(res)=> {
  console.log(res)
})

getGroupMemberList

分页获取群成员列表(支持按成员角色筛选,异步方法)

tencentIM.getGroupMemberList(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 分页 + 筛选参数配置
callback CallBack 回调函数,成功时返回群成员列表,失败时返回错误信息

params 参数说明

参数名 类型 是否必填 描述
groupID string 目标群 ID
type number 成员类型筛选(参考腾讯 IM 原生定义):- 0:所有成员- 1:群主- 2:管理员- 3:普通成员
nextSeq number 分页起始标记:- 首次拉取传 0- 后续拉取传上一次返回的 nextSeq(该方法未显式返回,需参考原生 SDK)

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
msg string 结果描述:成功为 "成功",失败为错误信息
data UTSJSONObject[] 群成员列表,包含字段:- isOnline:是否在线- joinTime:加入时间戳- muteUntil:禁言截止时间- role:成员角色(群主 / 管理员 / 普通成员)
 tencentIM.getGroupMemberList({
  groupID:"00002",
  type:1,
  nextSeq:0
},(res)=> {
  console.log(res)
})  

quitGroup

主动退出群组(异步方法,群主退出会转让群主 / 解散群,取决于群类型)

tencentIM.quitGroup(groupID: string, callback: CallBack): void
参数名 类型 是否必填 描述
groupID string 目标群 ID(普通成员可直接退出,群主退出需注意群规则)
callback CallBack 回调函数,返回退出结果,失败时返回错误信息(如群不存在)
tencentIM.quitGroup("00002",(res)=> {
   console.log(res)
 }) 

muteGroupMember

禁言指定群成员(支持设置禁言时长,异步方法)

tencentIM.muteGroupMember(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 禁言参数配置
callback CallBack 回调函数,返回禁言结果,失败时返回错误信息(如无权限、群不存在)

params 参数说明

参数名 类型 是否必填 描述
groupID string 目标群 ID
member string 被禁言的成员 ID
muteTime number 禁言时长(秒):- 传 0 表示永久禁言- 传正数表示指定时长(如 3600 表示 1 小时)
tencentIM.muteGroupMember({
  groupID:"00002",
  member:this.user2,
  muteTime:60
},(res)=> {
  console.log(res)
})  

muteAllGroupMembers

群内全体禁言 / 解除全体禁言(异步方法)

tencentIM.muteAllGroupMembers(groupID: string, isMute: boolean, callback: CallBack): void
参数名 类型 是否必填 描述
groupID string 目标群 ID(仅群主 / 管理员可操作)
isMute boolean 是否开启全体禁言:- true:开启全体禁言(仅管理员 / 群主可发言)- false:解除全体禁言
callback CallBack 回调函数,返回全体禁言 / 解除结果,失败时返回错误信息
tencentIM.muteAllGroupMembers("00002",true,(res)=> {
    console.log(res)
})

kickGroupMember

踢出群成员(支持批量踢人 + 设置拉黑时长,异步方法)

tencentIM.kickGroupMember(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 踢人参数配置
callback CallBack 回调函数,返回踢人结果,失败时返回错误信息

params 参数说明

参数名 类型 是否必填 描述
groupID string 目标群 ID(仅群主 / 管理员可操作)
memberList string[] 被踢出的成员 ID 列表(空数组无操作)
reason string 踢人原因(可选,成员会收到该原因通知)
duration number 拉黑时长(秒):- 传 0 表示仅踢出,不拉黑- 传正数表示踢出后拉黑指定时长(如 86400 表示 1 天)- 传 -1 表示永久拉黑
tencentIM.kickGroupMember({
   groupID:"00002",
   memberList:[this.user1],
   reason:"sd",
   duration:0
 },(res)=> {
   console.log(res)
 }) 

setGroupMemberRole

设置群成员角色(晋升 / 降级管理员,异步方法)

tencentIM.setGroupMemberRole(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 角色设置参数
callback CallBack 回调函数,返回角色设置结果,失败时返回错误信息

params 参数说明

参数名 类型 是否必填 描述
groupID string 目标群 ID(仅群主可操作)
member string 被修改角色的成员 ID
newRole number 新角色(参考腾讯 IM 原生定义):- 0:普通成员- 1:群主(仅可转让给其他成员)- 2:管理员
tencentIM.setGroupMemberRole({
   groupID:"00002",
   member:this.user2,
   newRole:100
},(res)=> {
  console.log(res)
})

transferGroupOwner

转让群主权限(仅原群主可操作,异步方法)

tencentIM.transferGroupOwner(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 转让参数配置
callback CallBack 回调函数,返回转让结果,失败时返回错误信息(如无权限、成员不存在)

params 参数说明

参数名 类型 是否必填 描述
groupID string 目标群 ID(仅原群主可调用)
member string 新群主的成员 ID(必须是该群现有成员,否则返回 “成员不存在” 错误)
tencentIM.transferGroupOwner({
   groupID:"00002",
   member:this.user1,
},(res)=> {
  console.log(res)
})

getGroupOnlineMemberCount

获取群内在线成员数量(异步方法)

tencentIM.getGroupOnlineMemberCount(groupID: string, callback: CallBack): void
参数名 类型 是否必填 描述
groupID string 目标群 ID(需为已加入的群,否则返回错误)
callback CallBack 回调函数,成功时返回在线人数,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
count number 群内在线成员数量(成功时返回)
msg string 失败时的错误描述
tencentIM.getGroupOnlineMemberCount("00002",(res)=> {
  console.log(res)
})

getGroupMembersInfo

批量获取指定群成员的详细资料(异步方法)

tencentIM.getGroupMembersInfo(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 查询参数配置
callback CallBack 回调函数,成功时返回成员资料列表,失败时返回错误信息

params 参数说明

参数名 类型 是否必填 描述
groupID string 目标群 ID
memberList string[] 待查询的成员 ID 列表(空数组返回空列表)

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
msg string 结果描述:成功为 "成功",失败为错误信息
data UTSJSONObject[] 成员资料列表,包含字段:- isOnline:是否在线- joinTime:加入时间戳- muteUntil:禁言截止时间- role:成员角色(群主 / 管理员 / 普通成员)
 tencentIM.getGroupMembersInfo({
    groupID:"00002",
    memberList:[this.user1],
  },(res)=> {
    console.log(res)
  })    

setGroupMemberInfo

修改群成员的自定义资料(异步方法,支持修改备注、昵称等)

tencentIM.setGroupMemberInfo(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 成员资料修改参数(底层转为 Map):- 必传 groupID(目标群 ID)、userID(成员 ID)- 可选字段:nameCard(群备注)、customInfo(自定义字段)等原生支持的成员属性
callback CallBack 回调函数,返回修改结果,失败时返回错误信息(如无权限、字段不支持修改)
tencentIM.setGroupMemberInfo({
  groupID:"00002",
  userID:this.user1,
  nameCard:"乐乐"
},(res)=> {
  console.log(res)
})  

getUsersInfo

查询当前登录用户的个人资料(异步方法)

tencentIM.getUsersInfo(callback: CallBack): void
参数名 类型 是否必填 描述
callback CallBack 回调函数,成功时返回自己的完整资料,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data object 个人资料(包含 userID(用户 ID)、nickName(昵称)、avatarURL(头像)、gender(性别)、signature(个性签名)等字段)
msg string 失败时的错误描述
tencentIM.getUsersInfo((res)=> {
  console.log(res)
})

setSelfInfo

修改当前登录用户的个人资料(异步方法)

tencentIM.setSelfInfo(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 资料修改参数(底层转为 Map):- 支持修改 nickName(昵称)、avatarURL(头像 URL)、gender(性别)、signature(个性签名)、customInfo(自定义字段)等原生支持的字段- 无需传所有字段,仅传需要修改的字段即可
callback CallBack 回调函数,返回修改结果,失败时返回错误信息(如字段不支持修改、参数格式错误)
 tencentIM.setSelfInfo({
    selfSignature:"xxxxx",
    gender:1,
    role:200,
    level:100,
    birthday:19971205,
    allowType:1,
    nickName:"ll",
    faceURL:"",
    customInfo:"{id:1}",
  },(res)=> {
    console.log(res)
  })    

getOtherUsersInfo

批量获取非好友用户的公开资料(异步方法)

tencentIM.getOtherUsersInfo(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待查询的非好友用户 ID 列表(空数组返回空列表):- 仅能获取用户公开资料(如昵称、头像,隐私字段如手机号不可见)- 若用户设置 “仅好友可见”,则返回基础信息(仅用户 ID)
callback CallBack 回调函数,成功时返回非好友用户资料列表,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data object[] 非好友用户资料列表:- 每个元素包含 userIDnickNameavatarURL 等公开字段- 无权限查看的用户仅返回 userID
msg string 失败时的错误描述
tencentIM.getOtherUsersInfo([this.user2],(res)=> {
 console.log(res)
})  

subscribeUserInfo

订阅非好友用户的资料变更(异步方法,订阅后可接收资料更新通知)

tencentIM.subscribeUserInfo(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待订阅的用户 ID 列表(空数组无操作):- 仅可订阅非好友用户- 订阅后,当该用户修改公开资料时,当前用户会收到资料变更通知
callback CallBack 回调函数,返回订阅结果,失败时返回错误信息(如用户不存在、订阅数超限)
tencentIM.subscribeUserInfo([this.user2],(res)=> {
  console.log(res)
})

unsubscribeUserInfo

取消订阅非好友用户的资料变更(异步方法,取消后不再接收该用户的资料更新通知)

tencentIM.unsubscribeUserInfo(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待取消订阅的用户 ID 列表(空数组无操作):- 仅可取消已订阅的非好友用户- 重复取消不存在的订阅不会报错
callback CallBack 回调函数,返回取消订阅结果,失败时返回错误信息(如用户不存在、权限不足)

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
successList string[] 取消订阅成功的用户 ID 列表(成功时返回)
failList string[] 取消订阅失败的用户 ID 列表(失败时返回,如未订阅的用户、不存在的用户)
msg string 失败时的错误描述
tencentIM.unsubscribeUserInfo([this.user2],(res)=> {
  console.log(res)
})

getUserStatus

查询指定用户的在线状态(支持批量查询,异步方法)

tencentIM.getUserStatus(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待查询状态的用户 ID 列表(空数组返回空列表):- 可查询自己 / 好友 / 非好友的状态(非好友需对方允许状态可见)- 单次查询数量建议不超过 50 个,避免请求超限
callback CallBack 回调函数,成功时返回用户状态列表,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data object[] 用户状态列表,每个元素包含:- userID:用户 ID- status:在线状态(1 - 在线,2 - 离线,3 - 离开,4 - 忙碌,5 - 请勿打扰等)- lastOnlineTime:最后在线时间戳(离线时返回)
msg string 失败时的错误描述
 tencentIM.getUserStatus([this.user1],(res)=> {
  console.log(res)
})  

subscribeUserStatus

订阅指定用户的状态变更(异步方法,订阅后实时接收状态更新通知)

tencentIM.subscribeUserStatus(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待订阅状态的用户 ID 列表(空数组无操作):- 订阅后,用户状态变更时会触发 addIMSdkListeneronUserStatusChanged 事件- 订阅数量有上限(参考腾讯 IMSDK,通常单用户可订阅 200 人)
callback CallBack 回调函数,返回订阅结果,失败时返回错误信息(如用户不存在、订阅超限)

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
successList string[] 订阅成功的用户 ID 列表
failList string[] 订阅失败的用户 ID 列表(如用户不存在、已订阅、订阅超限)
msg string 失败时的错误描述
tencentIM.subscribeUserStatus([this.user1],(res)=> {
  console.log(res)
})  

unsubscribeUserStatus

取消订阅指定用户的状态变更(异步方法,取消后不再接收状态更新通知)

tencentIM.unsubscribeUserStatus(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待取消订阅的用户 ID 列表(空数组无操作):- 重复取消未订阅的用户不会报错- 取消后立即停止接收该用户的状态变更通知
callback CallBack 回调函数,返回取消订阅结果,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
successList string[] 取消订阅成功的用户 ID 列表
failList string[] 取消订阅失败的用户 ID 列表(如未订阅的用户、用户不存在)
msg string 失败时的错误描述
tencentIM.unsubscribeUserStatus([this.user1],(res)=> {
  console.log(res)
})  

addFriend

添加好友(支持设置备注、添加理由,异步方法)

tencentIM.addFriend(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 加好友参数(底层转为 Map),核心字段:- userID:被添加的用户 ID(必填)- remark:好友备注(可选,仅自己可见)- addSource:添加来源(可选,如 “搜索”“群聊”)- addWording:添加理由(可选,对方会收到该理由)- friendGroup:好友分组(可选,如 “亲友”“同事”)
callback CallBack 回调函数,返回加好友结果:- 无需审核:直接添加成功- 需要审核:返回 “申请已提交”- 失败:返回错误信息(如对方拒绝加好友、已在好友列表)
tencentIM.addFriend({
    userID:this.user2,
    friendRemark:"xx",
    friendGroup:"xx",
    addWording:"xx",
    addSource:"xxx",
    addType:1
  },(res)=> {
    console.log(res)
  })

deleteFromFriendList

从好友列表中删除指定好友(支持批量删除,异步方法)

tencentIM.deleteFromFriendList(userIDList: string[], type: number, callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待删除的好友 ID 列表(空数组无操作)
type number 删除类型(参考腾讯 IM 原生定义):- 0:单向删除(仅自己移除对方,对方仍保留自己为好友)- 1:双向删除(双方互相移除好友)
callback CallBack 回调函数,返回删除结果,失败时返回错误信息(如好友不存在)

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
successList string[] 删除成功的好友 ID 列表
failList string[] 删除失败的好友 ID 列表(如非好友、用户不存在)
msg string 失败时的错误描述
tencentIM.deleteFromFriendList([this.user2],1,(res)=> {
 console.log(res)
})  

checkFriend

检查与指定用户的好友关系(支持批量检查,异步方法)

tencentIM.checkFriend(userIDList: string[], type: number, callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待检查的用户 ID 列表(空数组返回空列表)
type number 检查类型(参考腾讯 IM 原生定义):- 0:检查是否为双向好友- 1:检查是否为单向好友(我加了对方,对方未***)- 2:检查是否为单向好友(对方加了我,我未加对方)
callback CallBack 回调函数,成功时返回好友关系结果,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data object[] 好友关系列表,每个元素包含:- userID:用户 ID- relation:关系类型(0 - 非好友,1 - 双向好友,2 - 单向我加对方,3 - 单向对方***)
msg string 失败时的错误描述
tencentIM.checkFriend([this.user2],1,(res)=> {
  console.log(res)
})

getFriendsInfo

批量获取指定好友的详细资料(异步方法)

tencentIM.getFriendsInfo(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待查询的好友 ID 列表(空数组返回空列表):- 仅能查询已添加的好友- 可获取好友完整资料(含备注、分组、自定义字段等)
callback CallBack 回调函数,成功时返回好友资料列表,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data object[] 好友资料列表,包含:- userID:用户 ID- nickName:昵称- remark:好友备注- friendGroup:好友分组- customInfo:自定义字段- 其他基础资料(头像、性别等)
msg string 失败时的错误描述
 tencentIM.getFriendsInfo([this.user2],(res)=> {
  console.log(res)
})

getFriendList

获取当前用户的全部好友列表(异步方法)

tencentIM.getFriendList(callback: CallBack): void
参数名 类型 是否必填 描述
callback CallBack 回调函数,成功时返回完整好友列表,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data object[] 全部好友列表(结构同 getFriendsInfodata 字段)
msg string 失败时的错误描述
tencentIM.getFriendList((res)=> {
  console.log(res)
})  

setFriendInfo

修改好友的自定义资料(仅自己可见,异步方法)

tencentIM.setFriendInfo(params: UTSJSONObject, callback: CallBack): void
参数名 类型 是否必填 描述
params UTSJSONObject 好友资料修改参数(底层转为 Map),核心字段:- userIDcustomInfo:自定义备注字段(可选,需提前配置)
callback CallBack 回调函数,返回修改结果,失败时返回错误信息(如非好友、参数无效)
tencentIM.setFriendInfo({
      userID:this.user2,
      friendRemark:"xx",
      // friendCustomInfo:"{id:1}"
    },(res)=> {
      console.log(res)
    })

createFriendGroup

新建好友分组并添加指定好友(异步方法)

tencentIM.createFriendGroup(groupName: string, userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
groupName string 分组名称(不可重复,如 “亲友”“客户”,重复创建会返回错误)
userIDList string[] 加入该分组的好友 ID 列表(空数组创建空分组,非好友 ID 会过滤)
callback CallBack 回调函数,返回创建结果,失败时返回错误信息(如名称重复)
tencentIM.createFriendGroup("哈哈",[this.user2],(res)=> {
  console.log(res)
})  

deleteFriendGroup

删除指定好友分组(异步方法,分组删除后好友回到 “未分组”)

tencentIM.deleteFriendGroup(groupNameList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
groupNameList string[] 待删除的分组名称列表(空数组无操作,不存在的分组会过滤)
callback CallBack 回调函数,返回删除结果,失败时返回错误信息
tencentIM.deleteFriendGroup(["哈哈"],(res)=> {
  console.log(res)
})  

renameFriendGroup

重命名好友分组(异步方法)

tencentIM.renameFriendGroup(oldName: string, newName: string, callback: CallBack): void
参数名 类型 是否必填 描述
oldName string 原分组名称(需已存在,否则返回 “分组不存在” 错误)
newName string 新分组名称(不可与现有分组重复,否则返回错误)
callback CallBack 回调函数,返回重命名结果,失败时返回错误信息
 tencentIM.renameFriendGroup("哈哈","嘻嘻",(res)=> {
                    console.log(res)
  })    

getFriendGroups

获取指定好友分组的详情(异步方法,返回分组名称 + 分组内好友)

tencentIM.getFriendGroups(groupNameList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
groupNameList string[] 待查询的分组名称列表:- 传空数组返回所有分组- 传具体分组名返回指定分组详情
callback CallBack 回调函数,成功时返回分组列表,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data Array<{groupName: string, userIDList: string[]}> 分组详情列表:- groupName:分组名称- userIDList:该分组下的好友 ID 列表
msg string 失败时的错误描述
tencentIM.getFriendGroups(["哈哈"],(res)=> {
  console.log(res)
})

addFriendsToFriendGroup

将指定好友添加到已有好友分组(支持批量添加,异步方法)

tencentIM.addFriendsToFriendGroup(groupID: string, userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
groupID string 目标分组名称(需已创建,名称需完全一致,如 “研发核心”)
userIDList string[] 待添加的好友 ID 列表(空数组无操作,非好友 ID 会过滤)
callback CallBack 回调函数,返回添加结果,失败时返回错误信息(如分组不存在)
tencentIM.addFriendsToFriendGroup("00002",[this.user2],(res)=> {
  console.log(res)
})  

deleteFriendsFromFriendGroup

从指定好友分组中移除好友(支持批量移除,异步方法,仅移除分组关系,不删除好友)

tencentIM.deleteFriendsFromFriendGroup(groupID: string, userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
groupID string 目标分组名称(需已创建,名称需完全一致)
userIDList string[] 待移除的好友 ID 列表(空数组无操作,不在该分组的好友会过滤)
callback CallBack 回调函数,返回移除结果,失败时返回错误信息
tencentIM.deleteFriendsFromFriendGroup("00002",[this.user2],(res)=> {
  console.log(res)
})  

addToBlackList

拉黑指定用户(支持批量拉黑,异步方法,拉黑后无法接收对方消息 / 加好友请求)

tencentIM.addToBlackList(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待拉黑的用户 ID 列表(空数组无操作,可拉黑好友 / 非好友)
callback CallBack 回调函数,返回拉黑结果,失败时返回错误信息(如用户不存在)

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
successList string[] 拉黑成功的用户 ID 列表
failList string[] 拉黑失败的用户 ID 列表(如用户不存在)
msg string 失败时的错误描述
tencentIM.addToBlackList([this.user2],(res)=> {
  console.log(res)
})  

deleteFromBlackList

解除对指定用户的拉黑(支持批量解除,异步方法)

tencentIM.deleteFromBlackList(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待解除拉黑的用户 ID 列表(空数组无操作,未拉黑的用户会过滤)
callback CallBack 回调函数,返回解除拉黑结果,失败时返回错误信息
tencentIM.deleteFromBlackList([this.user2],(res)=> {
  console.log(res)
})  

followUser

关注指定用户(支持批量关注,异步方法,关注后可接收用户动态 / 状态变更等通知)

tencentIM.followUser(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待关注的用户 ID 列表(空数组无操作,重复关注不会报错)
callback CallBack 回调函数,返回关注结果,失败时返回错误信息(如用户不存在、关注数超限)
tencentIM.followUser([this.user2],(res)=> {
  console.log(res)
})  

unfollowUser

取消关注指定用户(支持批量取消,异步方法,取消后不再接收该用户的动态 / 状态变更通知)

tencentIM.unfollowUser(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待取消关注的用户 ID 列表(空数组无操作,未关注的用户会过滤)
callback CallBack 回调函数,返回取消关注结果,失败时返回错误信息(如用户不存在)

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
successList string[] 取消关注成功的用户 ID 列表
failList string[] 取消关注失败的用户 ID 列表(如未关注的用户、用户不存在)
msg string 失败时的错误描述
tencentIM.unfollowUser([this.user2],(res)=> {
    console.log(res)
  })    

getMyFollowingList

分页获取当前用户的关注列表(异步方法,支持游标分页加载)

tencentIM.getMyFollowingList(cursor: string, callback: CallBack): void
参数名 类型 是否必填 描述
cursor string 分页游标:- 首次查询传空字符串("")- 后续查询传上一次返回的 nextCursor,返回空表示已加载完所有数据
callback CallBack 回调函数,成功时返回关注列表 + 分页游标,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data object[] 关注用户列表,每个元素包含 userIDnickNameavatarURL 等公开字段
nextCursor string 下一页游标(空字符串表示无更多数据)
msg string 失败时的错误描述
tencentIM.getMyFollowingList("",(res)=> {
 console.log(res)
})  

getMyFollowersList

分页获取当前用户的粉丝列表(异步方法,支持游标分页加载)

tencentIM.getMyFollowersList(cursor: string, callback: CallBack): void
参数名 类型 是否必填 描述
cursor string 分页游标:- 首次查询传空字符串- 后续查询传上一次返回的 nextCursor
callback CallBack 回调函数,成功时返回粉丝列表 + 分页游标,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data object[] 粉丝用户列表,包含 userIDnickName 等公开字段
nextCursor string 下一页游标(空表示无更多数据)
msg string 失败时的错误描述
tencentIM.getMyFollowersList("",(res)=> {
  console.log(res)
  })

getUserFollowInfo

批量获取指定用户与当前用户的互相关注信息(异步方法)

tencentIM.getUserFollowInfo(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待查询的用户 ID 列表(空数组返回空列表)
callback CallBack 回调函数,成功时返回互相关注信息,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data object[] 互相关注信息列表,每个元素包含:- userID:用户 ID- isFollowing:是否关注该用户- isFollower:该用户是否关注自己- isMutual:是否互相关注
msg string 失败时的错误描述
tencentIM.getUserFollowInfo([this.user2],(res:any)=> {
  console.log(res)
})

checkFollowType

检查当前用户与指定用户的关注关系类型(异步方法)

tencentIM.checkFollowType(userIDList: string[], callback: CallBack): void
参数名 类型 是否必填 描述
userIDList string[] 待检查的用户 ID 列表(空数组返回空列表)
callback CallBack 回调函数,成功时返回关注关系类型,失败时返回错误信息

回调参数说明:

回调字段 类型 描述
code number 结果状态码:0 成功,非 0 失败
data object[] 关注关系类型列表,每个元素包含:- userID:用户 ID- followType:关系类型(0 - 无关系,1 - 我关注对方,2 - 对方关注我,3 - 互相关注)
msg string 失败时的错误描述
tencentIM.checkFollowType([this.user2],(res)=> {
  console.log(res)
})

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。