接受好友申请。
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从最新活跃的会话开始获取。
每页期望获取的会话数量。取值范围为 [1,50],默认为 20
。
根据会话过滤选项从服务器分页查询会话列表。
connection.getServerConversationsByFilter({pageSize:10, cursor: '',filter: {mark: 0}})
分页获取服务器端的置顶会话列表。
SDK 按照会话的置顶时间的倒序返回会话列表。
connection.getServerPinnedConversations({pageSize:50, cursor: ''})
开始获取数据的游标位置。若传空字符串 (''),SDK 从最新置顶的会话开始查询。。
每页期望获取的会话数量。取值范围为 [1,50],默认为 20
。
分页获取会话中的置顶消息。
connection.getServerPinnedMessages({
conversationId: 'conversationId',
conversationType: 'groupChat',
pageSize: 20,
cursor: ''
})
会话 ID.
会话类型。
开始获取数据的游标位置。首次获取传空,SDK 按照消息置顶时间倒序返回。
每页要获取的置顶消息数量。取值范围为 [1,50],默认为 10
。
修改服务端的消息内容。
调用该方法只能修改单聊和群聊中的文本消息,不能修改聊天室消息。
多设备和该消息的接收方可通过 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。
举报原因。你需要自行填写举报原因。
举报类型。
设置好友备注。
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”。
Generated using TypeDoc
Contact contains the APIs for contact-related operations.