EMChatManager class
聊天管理类,该类负责管理会话(加载,删除等)、发送消息、下载消息附件等。
比如,发送一条文本消息:
EMMessage msg = EMMessage.createTxtSendMessage(
targetId: toChatUsername, content: content);
await EMClient.getInstance.chatManager.sendMessage(msg);
Constructors
Properties
- hashCode → int
-
The hash code for this object.
read-onlyinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
Methods
-
addEventHandler(
String identifier, EMChatEventHandler handler) → void - 添加事件监听。
-
addMessageEvent(
String identifier, ChatMessageEvent event) → void - 添加消息状态监听。
-
addReaction(
{required String messageId, required String reaction}) → Future< void> - 添加 Reaction。
-
addRemoteAndLocalConversationsMark(
{required List< String> conversationIds, required ConversationMarkType mark}) → Future<void> - 标记会话。
-
clearEventHandlers(
) → void - 清除所有事件监听。
-
clearMessageEvent(
) → void - 清空所有消息状态监听。
-
deleteAllMessageAndConversation(
{bool clearServerData = false}) → Future< void> -
清空所有会话和会话中的所有消息。
Param
clearServerData
是否删除服务端所有会话及其消息: -
deleteConversation(
String conversationId, {bool deleteMessages = true}) → Future< bool> - 删除本地会话。
-
deleteMessagesBefore(
int timestamp) → Future< void> - 根据时间删除本地消息。
-
deleteRemoteAndLocalConversationsMark(
{required List< String> conversationIds, required ConversationMarkType mark}) → Future<void> - 取消标记会话。
-
deleteRemoteConversation(
String conversationId, {EMConversationType conversationType = EMConversationType.Chat, bool isDeleteMessage = true}) → Future< void> - 删除服务端的指定 ID 的会话和聊天记录。
-
deleteRemoteMessagesBefore(
{required String conversationId, required EMConversationType type, required int timestamp}) → Future< void> -
根据时间 单向删除服务器会话中的消息和本地消息。
Param
conversationId
会话 ID。 -
deleteRemoteMessagesWithIds(
{required String conversationId, required EMConversationType type, required List< String> msgIds}) → Future<void> - 根据消息ID 单向删除服务器会话中的消息和本地消息。
-
downloadAttachment(
EMMessage message) → Future< void> - 下载消息的附件。
-
downloadMessageAttachmentInCombine(
EMMessage message) → Future< void> - 下载消息的附件。
-
downloadMessageThumbnailInCombine(
EMMessage message) → Future< void> - 下载消息的缩略图。
-
downloadThumbnail(
EMMessage message) → Future< void> - 下载消息的缩略图。
-
fetchCombineMessageDetail(
{required EMMessage message}) → Future< List< EMMessage> > - 获取合并消息的详情。
-
fetchConversation(
{String? cursor, int pageSize = 20}) → Future< EMCursorResult< EMConversation> > - 从服务器分页获取会话列表。
-
fetchConversationListFromServer(
{int pageNum = 1, int pageSize = 20}) → Future< List< EMConversation> > - 获取服务器会话列表。
-
fetchConversationsByOptions(
{required ConversationFetchOptions options}) → Future< EMCursorResult< EMConversation> > -
根据会话过滤选项获取服务端的会话。
Param
options
会话过滤选项, 详见 ConversationFetchOptions。 Returns 会话列表。 Throws 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 -
fetchGroupAcks(
String msgId, String groupId, {String? startAckId, int pageSize = 0}) → Future< EMCursorResult< EMGroupMessageAck> > - 从服务器获取群组消息回执详情。
-
fetchHistoryMessages(
{required String conversationId, EMConversationType type = EMConversationType.Chat, int pageSize = 20, EMSearchDirection direction = EMSearchDirection.Up, String startMsgId = ''}) → Future< EMCursorResult< EMMessage> > - 从服务器分页获取历史消息。
-
fetchHistoryMessagesByOption(
String conversationId, EMConversationType type, {FetchMessageOptions? options, String? cursor, int pageSize = 50}) → Future< EMCursorResult< EMMessage> > - 根据 FetchMessageOptions 从服务器分页获取指定会话的历史消息。
-
fetchPinnedConversations(
{String? cursor, int pageSize = 20}) → Future< EMCursorResult< EMConversation> > - 分页从服务器获取置顶会话。
-
fetchPinnedMessages(
{required String conversationId}) → Future< List< EMMessage> > - 从服务端获取置顶消息。
-
fetchReactionDetail(
{required String messageId, required String reaction, String? cursor, int pageSize = 20}) → Future< EMCursorResult< EMMessageReaction> > - 获取 Reaction 详情。
-
fetchReactionList(
{required List< String> messageIds, required ChatType chatType, String? groupId}) → Future<Map< String, List< >EMMessageReaction> > - 获取 Reaction 列表。
-
fetchSupportedLanguages(
) → Future< List< EMTranslateLanguage> > - 查询翻译服务支持的语言。
-
getConversation(
String conversationId, {EMConversationType type = EMConversationType.Chat, bool createIfNeed = true}) → Future< EMConversation?> - 根据指定会话 ID 和会话类型获取会话对象。
-
getConversationsFromServer(
) → Future< List< EMConversation> > - 从服务器获取会话列表。
-
getEventHandler(
String identifier) → EMChatEventHandler? - 获取事件监听。
-
getThreadConversation(
String threadId) → Future< EMConversation?> - 根据 thread ID 获取 thread 会话。
-
getUnreadMessageCount(
) → Future< int> - 获取未读消息数。
-
importMessages(
List< EMMessage> messages) → Future<void> - 将消息导入本地数据库。
-
loadAllConversations(
) → Future< List< EMConversation> > - 获取本地数据库中所有会话。
-
loadMessage(
String messageId) → Future< EMMessage?> - 从本地数据库获取指定 ID 的消息对象。
-
loadMessagesWithKeyword(
String keywords, {String? sender, int timestamp = -1, int count = 20, MessageSearchScope searchScope = MessageSearchScope.All, EMSearchDirection direction = EMSearchDirection.Up}) → Future< List< EMMessage> > - 根据消息中的关键词、消息时间戳、要搜索的消息条数、搜索范围和搜索方向从 SDK 本地数据库中搜索指定数量的消息。
-
markAllConversationsAsRead(
) → Future< void> - 把所有的会话都设成已读。
-
modifyMessage(
{required String messageId, required EMTextMessageBody msgBody}) → Future< EMMessage> - 修改消息内容。
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
pinConversation(
{required String conversationId, required bool isPinned}) → Future< void> - 设置是否置顶会话。
-
pinMessage(
{required String messageId}) → Future< void> -
置顶消息。
Param
messageId
消息 ID。 -
recallMessage(
String messageId, {String? ext}) → Future< void> - 撤回发送成功的消息。
-
removeEventHandler(
String identifier) → void - 移除事件监听。
-
removeMessageEvent(
String identifier) → void - 移除消息状态监听。
-
removeReaction(
{required String messageId, required String reaction}) → Future< void> - 删除 Reaction。
-
reportMessage(
{required String messageId, required String tag, required String reason}) → Future< void> - 举报消息。
-
resendMessage(
EMMessage message) → Future< EMMessage> - 重发消息。
-
searchMsgFromDB(
String keywords, {int timestamp = -1, int maxCount = 20, String from = '', EMSearchDirection direction = EMSearchDirection.Up}) → Future< List< EMMessage> > - 根据传入的参数从本地存储中搜索指定数量的消息。
-
sendConversationReadAck(
String conversationId) → Future< void> - 发送会话的已读回执,该方法只针对单聊会话。
-
sendGroupMessageReadAck(
String msgId, String groupId, {String? content}) → Future< void> - 发送群消息已读回执。
-
sendMessage(
EMMessage message) → Future< EMMessage> - 发消息
-
sendMessageReadAck(
EMMessage message) → Future< bool> - 发送消息的已读回执,该方法只针对单聊会话。
-
toString(
) → String -
A string representation of this object.
inherited
-
translateMessage(
{required EMMessage msg, required List< String> languages}) → Future<EMMessage> - 翻译一条文本消息。
-
unpinMessage(
{required String messageId}) → Future< void> - 取消置顶消息。
-
updateMessage(
EMMessage message) → Future< void> - 更新本地消息。
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited