更新记录
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 } |
触发时机:群内所有成员被静音或取消静音时回调,isMute 为 true 表示全员静音,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 |
| 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[] | 非好友用户资料列表:- 每个元素包含 userID、nickName、avatarURL 等公开字段- 无权限查看的用户仅返回 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 列表(空数组无操作):- 订阅后,用户状态变更时会触发 addIMSdkListener 的 onUserStatusChanged 事件- 订阅数量有上限(参考腾讯 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[] | 全部好友列表(结构同 getFriendsInfo 的 data 字段) |
| msg | string | 失败时的错误描述 |
tencentIM.getFriendList((res)=> {
console.log(res)
})
setFriendInfo
修改好友的自定义资料(仅自己可见,异步方法)
tencentIM.setFriendInfo(params: UTSJSONObject, callback: CallBack): void
| 参数名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| params | UTSJSONObject | 是 | 好友资料修改参数(底层转为 Map),核心字段:- userID:customInfo:自定义备注字段(可选,需提前配置) |
| 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[] | 关注用户列表,每个元素包含 userID、nickName、avatarURL 等公开字段 |
| 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[] | 粉丝用户列表,包含 userID、nickName 等公开字段 |
| 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)
})

收藏人数:
购买普通授权版(
试用
赞赏(0)
下载 85
赞赏 0
下载 11740527
赞赏 1818
赞赏
京公网安备:11010802035340号