接受好友申请。
connection.acceptContactInvite('user1')
添加好友。
connection.addContact('user1', 'I am Bob')
标记会话。
connection.addConversationMark({
conversations: [{conversationId: 'conversationId', conversationType: 'singleChat'}],
mark: 0,
})
会话数组。
要添加的会话标记。
添加消息 Reaction。
connection.addReaction({messageId: 'messageId', reaction: 'reaction'})
消息 ID。
在消息上添加的 Reaction,最大长度为 128 字符。
添加联系人至黑名单。
connection.addUsersToBlocklist({name: 'user1'})
用户 ID。可设置特定用户 ID 添加单个用户,也可输入用户 ID 数组批量添加用户,如 ["user1","user2"]。
拒绝好友申请。
connection.declineContactInvite('user1')
清除全部会话及其聊天记录。
connection.deleteAllMessagesAndConversations()
删除指定好友。
connection.deleteContact('user1')
删除会话。
connection.deleteConversation({
channel: 'targetId',
chatType: 'singleChat',
deleteRoam: true
})
会话 ID:对方的用户 ID 或群组 ID。
会话类型:
singleChat:单聊;groupChat:群聊。删除会话时是否同时删除服务端漫游消息。
true:是;false:否。删除消息的 Reaction。
connection.deleteReaction({messageId: 'messageId', reaction: 'reaction'})
消息 ID。
要删除的 Reaction。
查询用户属性。
connection.fetchUserInfoById('user1') | fetchUserInfoById(['user1', 'user2'])
获取所有联系人。
connection.getAllContacts()
获取黑名单列表。
connection.getBlocklist()
获取联系人列表。
connection.getContacts()
分页获取联系人列表。
connection.getContactsWithCursor({pageSize:50, cursor: ''})
开始获取数据的游标位置。
每页期望获取的联系人数量。取值范围为 [1,50],默认为 20。
获取对话历史消息。
connection.getHistoryMessages({targetId:'targetId',chatType:'groupChat', pageSize: 20})
会话类型:
singleChat:单聊;groupChat:群组聊天;chatRoom:聊天室聊天;起始消息 ID,默认值为 -1,即从最新消息开始。
每次获取的消息条数。默认值为 20,最大值是50。
是否选择正向拉取历史消息(从最老向最新拉取)。
up:向上搜索;down:向下搜索;up。查询条件
查询结束时间戳,单位为毫秒。
消息发送方的用户 ID。该参数仅在群聊中使用。
要查询的消息类型数组。若不传,则查询所有消息类型。
查询开始时间戳,单位为毫秒。
对方的用户 ID 或者群组 ID 或者聊天室ID。
获取 Reaction 详情。
getReactionDetail({messageId: 'messageId', reaction: 'reaction', cursor: '', pageSize: 20})
游标。如果数据还有下一页,该方法的返回值会包含此字段,传递此字段可获取下一页的数据,为 null 时获取第一页数据。
消息 ID。
每页返回的数量。默认为 20,最大为 100。
要获取的 Reaction。
获取消息的 Reaction 列表。
connection.getReactionlist({chatType: 'chatType', messageId: 'messageId'})
会话类型:
群组 ID。
消息 ID。
从服务器获取当前用户的其他登录设备的登录 ID 列表,这里的 ID 是由 user ID + "/" + resource (设备的识别号)组成。
connection.getSelfIdsOnOtherPlatform()
分页获取服务器会话列表。
SDK 按照会话活跃时间(会话的最后一条消息的时间戳)倒序返回会话列表。
若会话中没有消息,则 SDK 按照会话创建时间的倒序返回会话列表。
connection.getServerConversations({pageSize:50, cursor: ''})
开始获取数据的游标位置。若传空字符串(''),SDK从最新活跃的会话开始获取。
是否包含空会话, 默认为 false。
true:是;false:否。每页期望获取的会话数量。取值范围为 [1,50],默认为 20。
根据会话过滤选项从服务器分页查询会话列表。
connection.getServerConversationsByFilter({pageSize:10, cursor: '',filter: {mark: 0}})
分页获取服务器端的置顶会话列表。
SDK 按照会话的置顶时间的倒序返回会话列表。
connection.getServerPinnedConversations({pageSize:50, cursor: ''})
开始获取数据的游标位置。若传空字符串 (''),SDK 从最新置顶的会话开始查询。。
是否包含空会话, 默认为 false。
true:是;false:否。每页期望获取的会话数量。取值范围为 [1,50],默认为 20。
分页获取会话中的置顶消息。
connection.getServerPinnedMessages({
conversationId: 'conversationId',
conversationType: 'groupChat',
pageSize: 20,
cursor: ''
})
会话 ID.
会话类型。
开始获取数据的游标位置。首次获取传空,SDK 按照消息置顶时间倒序返回。
每页要获取的置顶消息数量。取值范围为 [1,50],默认为 10。
修改服务端的消息内容。
支持修改的消息类型如下:
msg 和 ext 字段。customEvent 、 customExts 和 ext 字段。ext 字段。多设备场景下和该消息的接收方可通过 onModifiedMessage 回调监听消息是否有变更。
const textMessage = WebIM.message.create({
type: "txt",
msg: "message content",
to: "username",
chatType: "singleChat",
});
connection.modifyMessage({ messageId: 'messageId', message: textMessage })
需要修改的消息 ID。
内容修改后的消息体。
设置是否置顶会话。
connection.pinConversation({conversationId:'conversationId', conversationType: 'singleChat', isPinned: boolean})
会话 ID。
会话类型。
是否置顶会话:
-true:置顶会话。
false:取消置顶会话。置顶一条消息。
connection.pinMessage({
conversationId: 'conversationId',
conversationType: 'groupChat',
messageId: 'messageId',
})
会话 ID.
会话类型。
要置顶的消息 ID。
撤回消息。
connection.recallMessage({mid: 'messageId', to: 'user1', type: 'singleChat'})
会话类型:
singleChat:单聊;groupChat:群组聊天;chatRoom:聊天室聊天。自定义扩展字段。
是否是子区内的消息。
需要撤回的消息 ID。
消息的接收方。
会话类型(SDK deprecated):
chat:单聊;groupchat:群组聊天;chatroom:聊天室聊天。取消标记会话。
connection.removeConversationMark({
conversations: [{conversationId: 'conversationId', conversationType: 'singleChat'}],
mark: 0,
})
会话数组。
要移除的会话标记。
单向删除漫游消息。
connection.removeHistoryMessages({targetId: 'userId', chatType: 'singleChat', beforeTimeStamp: Date.now()})
connection.removeHistoryMessages({targetId: 'userId', chatType: 'singleChat', messageIds: ['messageId']})
要删除的起始时间戳。该时间戳之前的消息会被删除
会话类型:
singleChat:单聊;groupChat:群聊。chatRoom:聊天室。删除的消息 ID 列表,不能超过 20 个 ID。
对方的用户 ID、群组ID或聊天室ID。
将联系人从黑名单中移除。
connection.removeUserFromBlocklist({name: 'user1'})
用户 ID。可设置特定用户 ID 移除单个用户,也可输入用户 ID 数组批量移除用户,如 ["user1","user2"]。
举报消息。
reportMessage()
要举报消息的 ID。
举报原因。你需要自行填写举报原因。
举报类型。
Searches messages from the server. This feature requires the "Message Search" service to be enabled in the Console.
The search option.
The page number for pagination, starting from 1.
The number of results per page. The range is 1 to 100.
设置好友备注。
setContactRemark({userId: 'userId', remark: 'remark'})
要设置的备注。
要设置备注的好友 ID。
解绑推送 device token。
connection.unbindPushToken()
取消置顶一条消息。
connection.unpinMessage({
conversationId: 'conversationId',
conversationType: 'groupChat',
messageId: 'messageId'
})
会话 ID。
会话类型。
要取消置顶的消息 ID。
修改收到推送消息时显示的昵称。该昵称在用户注册时设置。不属于用户属性。
connection.updateCurrentUserNick('Tom')
修改用户属性。
connection.updateUserInfo({nickname: 'Tom', avatarurl: 'avatarurl', mail: 'abc@gmail,com', ext: JSON.stringify({hobby: 'football'})})
connection.updateUserInfo('nickname', 'Tom')
将 token 上传到服务器。该方法的使用场景是 SDK 用在原生客户端且准备在客户端集成第三方推送功能。
connection.uploadPushToken({deviceId: 'deviceId', deviceToken: 'deviceToken', notifierName: 'notifierName'})
设备 ID,用于标识设备。用户可自定义设备 ID。
推送 token,用于标识相同的设备。用户可自定义该推送 token。
推送服务的 App ID,对于 Firebase Cloud Messaging (FCM) 是 senderId, 对于 VIVO 推送服务是 “appId+#+AppKey”。
将本地语音文件转换为文本。
目前支持 PCM、MP3 和 AMR 格式的语音文件。
connection.voiceFileToText(file, audioParams)
将语音消息转换为文本。
仅支持发送成功的语音消息。
转换成功后,结果将返回给回调函数,同时你也可以通过 res.data.text 获取该文本。
支持 PCM、AMR 和 MP3 格式的语音消息。
connection.voiceMessageToText(messageBody, audioParams)
Generated using TypeDoc
Contact contains the APIs for contact-related operations.