Chat SDK for React Native 5.0.0
    Preparing search index...

    Class ChatManager

    聊天管理类,该类负责收发消息、管理会话(加载,删除等)、下载消息附件等。

    发送文文本消息示例如下:

    let msg = ChatMessage.createTextMessage(
    'asteriskhx2',
    Date.now().toString(),
    ChatMessageChatType.PeerChat
    );
    let callback = new (class s implements ChatMessageStatusCallback {
    onProgress(progress: number): void {
    chatlog.log('ConnectScreen.sendMessage.onProgress ', progress);
    }
    onError(error: ChatError): void {
    chatlog.log('ConnectScreen.sendMessage.onError ', error);
    }
    onSuccess(): void {
    chatlog.log('ConnectScreen.sendMessage.onSuccess');
    }
    onReadAck(): void {
    chatlog.log('ConnectScreen.sendMessage.onReadAck');
    }
    onDeliveryAck(): void {
    chatlog.log('ConnectScreen.sendMessage.onDeliveryAck');
    }
    onStatusChanged(status: ChatMessageStatus): void {
    chatlog.log('ConnectScreen.sendMessage.onStatusChanged ', status);
    }
    })();
    ChatClient.getInstance()
    .chatManager.sendMessage(msg, callback)
    .then((nmsg: ChatMessage) => {
    chatlog.log(`${msg}, ${nmsg}`);
    })
    .catch();

    Hierarchy

    • BaseManager
      • ChatManager
    Index
    addMessageListener addReaction addRemoteAndLocalConversationsMark clearAllConversationUnreadMessageCount clearConversationUnreadMessageCount createChatThread deleteAllMessageAndConversation deleteConversation deleteConversationAllMessages deleteConversations deleteMessage deleteMessagesBeforeTimestamp deleteMessagesWithTimestamp deleteRemoteAndLocalConversationsMark destroyChatThread downloadAttachment downloadAttachmentInCombine downloadBigImage downloadThumbnail downloadThumbnailInCombine fetchChatThreadFromServer fetchChatThreadWithParentFromServer fetchCombineMessageDetail fetchGroupMessageReadReceipts fetchHistoryMessagesByOptions fetchJoinedChatThreadFromServer fetchJoinedChatThreadWithParentFromServer fetchLastMessageWithChatThread fetchMembersWithChatThreadFromServer fetchPinnedMessages fetchReactionDetail fetchReactionList fetchSupportedLanguages getAllConversations getConversation getConversationMessageCount getConversationUnreadCount getConvMsgsWithKeyword getConvsMsgsWithKeyword getGroupMessageReadReceipts getLatestMessage getLatestReceivedMessage getMessage getMessageCount getMessageCountWithTimestamp getMessagePinInfo getMessagesWithIds getMessageThread getMsgs getMsgsWithKeyword getMsgsWithMsgType getMsgWithTimestamp getPinnedMessages getReactionList getThreadConversation getUnreadCount importMessages insertMessage joinChatThread leaveChatThread modifyMsgBody pinConversation pinMessage recallMessage removeAllMessageListener removeConversationFromServer removeMemberWithChatThread removeMessageListener removeMessagesFromServerWithMsgIds removeMessagesFromServerWithTimestamp removeMessagesWithTimestamp removeReaction resendMessage searchMessages searchMessagesFromServer searchMessagesInConversation sendMessage sendMessageReadReceipts setConversationExtension setNativeListener translateMessage unpinMessage updateChatThreadName updateConversationMessage updateMessage voiceFileToText voiceMessageToText _callMethod checkErrorFromResult handleGroupFileCallback handleMessageCallback
    _eventEmitter?: NativeEventEmitter<Readonly<Record<string, readonly Object[]>>>
    TAG: string = 'ChatManager'
    • 添加 Reaction。

      Parameters

      • reaction: string

        Reaction 的内容。

      • msgId: string

        要添加 Reaction 的消息 ID。

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 标记会话。

      调用该方法会同时为本地和服务器端的会话添加标记。

      Parameters

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 清除所有会话的未读消息数。

      注意

      该方法仅清除所有会话在本地的未读消息数,并在多端多设备登录场景下将该操作同步到当前用户的其他设备。 该方法不会为这些会话中的消息发送已读回执。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 清除指定会话的未读消息数。

      注意

      该方法仅清除会话在本地的未读消息数,并在多端多设备登录场景下将该操作同步到当前用户的其他设备。 该方法不会为会话中的消息发送已读回执。

      Parameters

      • convId: string

        会话 ID。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 创建子区。

      子区所属群组的所有成员均可调用该方法。

      子区创建成功后,会出现如下情况:

      Parameters

      • name: string

        要创建的子区的名称。长度不超过 64 个字符。

      • msgId: string

        父消息 ID。

      • parentId: string

        父 ID,即群组 ID。

      Returns Promise<ChatMessageThread>

      调用成功时,返回创建的子区对象;失败则抛出异常。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 清空所有会话及其消息。

      Parameters

      • clearServerData: boolean = false

        是否删除服务端所有会话及其消息: - true:是。服务端的所有会话及其消息会被清除,当前用户无法再从服务端拉取消息和会话,其他用户不受影响。 - (默认)false:否。只清除本地所有会话及其消息,服务端的会话及其消息仍保留。

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 删除指定会话及其本地历史消息。

      Parameters

      • convId: string

        会话 ID。

      • withMessage: boolean = true

        删除会话时是否同时删除本地的历史消息。 - (默认)true:删除; - false:不删除。

      Returns Promise<void>

      会话是否删除成功。 - true:是; - false: 否。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 从内存和本地数据库中删除会话中的所有消息。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 从本地数据库批量删除会话。

      Parameters

      • convIds: string[]

        要删除的会话 ID 列表。不存在的会话 ID 会被忽略。

      • deleteMessages: boolean = true

        是否删除会话中的本地历史消息。

        • (默认)true:是。
        • false:否。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 从本地数据库中删除一条消息。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      • convId: string

        会话 ID。

      • convType: ChatConversationType

        会话类型。 请参阅ChatConversationType。

      • msgId: string

        要删除的消息的 ID。

      • isChatThread: boolean = false

        会话是否为子区会话。

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 删除指定时间戳之前的所有本地消息。

      Parameters

      • timestamp: number

        指定的时间戳,单位为毫秒。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 从本地数据库中删除一段时间内发送或接收的消息。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      • convId: string

        会话 ID。

      • convType: ChatConversationType

        会话类型。 请参阅ChatConversationType。

      • params: { endTs: number; startTs: number }
      • isChatThread: boolean = false

        会话是否为子区会话。

      Returns Promise<void>

      参数

      • startTs:消息删除的起始 UNIX 时间戳。 单位是毫秒。
      • endTs:消息删除的结束 UNIX 时间戳。 单位是毫秒。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 取消标记会话。

      调用该方法会同时为本地和服务器端的会话添加标记。

      Parameters

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 下载消息附件。

      如果附件自动下载失败也可以调用该方法。

      Parameters

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 下载消息附件。

      注意 该方法仅用于下载组合类型消息或线程类型的消息附件。

      注意 底层不会获取原始消息对象,会使用json转换后的消息对象。

      如果附件自动下载失败也可以调用该方法。

      Parameters

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 下载消息的缩略图。

      Parameters

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 下载消息缩略图。

      注意 此方法仅用于下载组合类型消息中的消息缩略图。

      Parameters

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 从服务器获取子区详情。

      Parameters

      • chatThreadId: string

        子区 ID。

      Returns Promise<ChatMessageThread | undefined>

      若调用成功,返回子区详情;失败则抛出异常。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 分页从服务器端获取指定群组的子区列表。

      Parameters

      • parentId: string

        父 ID,即群组 ID。

      • cursor: string = ''

        开始取数据的游标位置。首次获取数据时传 null 或空字符串,按子区创建时间的倒序获取数据。

      • pageSize: number = 20

        每页期望返回的子区数。取值范围为 [1,400]。

      Returns Promise<ChatCursorResult<ChatMessageThread>>

      若调用成功,返回子区列表;失败则抛出异常。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 获取合并类型消息中的原始消息列表。

      合并消息包含 1 条或者多条其它类型消息。

      Parameters

      Returns Promise<ChatMessage[]>

      消息 body 里面的原始消息列表。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 分页从服务端获取群组消息的已读回执。

      有关如何发送群组消息的已读回执,详见 sendMessageReadReceipts。

      Parameters

      • msgId: string

        消息 ID。

      • groupId: string

        群组 ID。

      • Optionalcursor: string

        查询起始的已读回执 ID。如果该参数为 undefined 或空字符串,SDK 按服务端收到已读回执时间的倒序,从最新一条开始获取。

      • OptionalpageSize: number

        每页期望获取的群组消息已读回执数量。

      Returns Promise<ChatCursorResult<ChatGroupReadReceipt>>

      获取到的已读回执列表(不包含起始 ID 对应的回执)以及下次查询的游标,详见 ChatCursorResult。

      注意 返回结果中的 totalCount 字段仅在 iOS 平台可用。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 根据消息拉取参数配置从服务器分页获取指定会话的历史消息。

      注意 调用该方法,如果会话对象不存在则创建。

      Parameters

      Returns Promise<ChatCursorResult<ChatMessage>>

      消息列表(不包含查询起始 ID 的消息)和下次查询的 cursor。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 分页从服务器获取当前用户加入的子区列表。

      Parameters

      • cursor: string = ''

        开始获取数据的游标位置。首次调用方法时传 null 或空字符串,按用户加入子区时间的倒序获取数据。

      • pageSize: number = 20

        每页期望返回的子区数。取值范围为 [1,400]。

      Returns Promise<ChatCursorResult<ChatMessageThread>>

      若调用成功,返回子区列表;失败则抛出异常。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 分页从服务器获取当前用户加入指定群组的子区列表。

      Parameters

      • parentId: string

        父 ID,即群组 ID。

      • cursor: string = ''

        开始取数据的游标位置。首次调用方法时传 null 或空字符串,按用户加入子区时间的倒序获取数据。

      • pageSize: number = 20

        每页期望返回的子区数。取值范围为 [1,400]。

      Returns Promise<ChatCursorResult<ChatMessageThread>>

      若调用成功,返回子区列表;失败则抛出异常。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 从服务器批量获取指定子区中的最新一条消息。

      Parameters

      • chatThreadIds: string[]

        要查询的子区 ID 列表,每次最多可传 20 个子区。

      Returns Promise<Map<string, ChatMessage>>

      若调用成功,返回子区的最新一条消息列表;失败则抛出异常。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 分页获取子区成员。

      子区所属群组的所有成员均可调用该方法。

      Parameters

      • chatThreadId: string

        子区 ID。

      • cursor: string = ''

        开始获取数据的游标位置,首次调用方法时传 null 或空字符串,按成员加入子区时间的正序获取数据。

      • pageSize: number = 20

        每页期望返回的成员数。取值范围为 [1,400]。

      Returns Promise<ChatCursorResult<string>>

      若调用成功,返回子区成员列表;失败则抛出异常。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 从服务端获取指定会话中的置顶消息。

      Parameters

      Returns Promise<ChatMessage[]>

      置顶消息列表。如果没有获取到消息,则返回空列表。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 获取 Reaction 详情。

      Parameters

      • msgId: string

        消息 ID。

      • reaction: string

        Reaction 内容。

      • Optionalcursor: string

        开始获取 Reaction 的游标位置。

      • OptionalpageSize: number

        每页期望返回的 Reaction 数量。

      Returns Promise<ChatCursorResult<ChatMessageReaction>>

      若调用成功,返回 Reaction 详情。若返回 null,则所有数据均获取。 若调用失败,则抛出异常。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 获取 Reaction 列表。

      Parameters

      • msgIds: string[]

        消息 ID 列表。

      • groupId: string

        群组 ID,该参数仅在会话类型为群聊时有效。

      • chatType: ChatMessageChatType

        会话类型。

      Returns Promise<Map<string, ChatMessageReaction[]>>

      若调用成功,返回 Reaction 列表;失败则抛出异常。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 查询翻译服务支持的语言。

      Returns Promise<ChatTranslateLanguage[]>

      翻译服务支持的语言列表。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 获取本地数据库中所有会话。

      该方法会先从内存中获取,如果未找到任何会话,从本地数据库获取。

      Returns Promise<ChatConversation[]>

      获取的会话。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 根据会话ID和会话类型获取会话。

      Parameters

      • convId: string

        会话 ID。

      • convType: ChatConversationType

        会话类型。 请参阅ChatConversationType。

      • createIfNeed: boolean = true

        如果没有找到指定的会话,是否创建会话:

        • (默认)true:是。
        • 假:否。
      • isChatThread: boolean = false

        会话是否为子区会话。

        • (默认)false:否。
        • true:是的。

      Returns Promise<ChatConversation | undefined>

      检索到的会话对象。 如果未找到会话,SDK 将返回“null”。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 获取会话的消息数。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      Returns Promise<number>

      消息计数。 获取消息计数

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 获取会话未读消息数。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      Returns Promise<number>

      未读消息数。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 获取指定用户在一定时间内的会话中发送的消息。

      该方法从本地数据库获取数据。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      Returns Promise<ChatMessage[]>

      检索到的消息列表(不包括具有起始时间戳的消息)。如果没有获取到消息,返回空列表。

      • convId 会话 ID。
      • convType 会话类型。请参阅 ChatConversationType。
      • keywords 查询的关键字。
      • direction 消息搜索方向。请参阅 ChatSearchDirection。
      • (默认)ChatSearchDirection.UP 按照消息中包含的 Unix 时间戳的降序检索消息。
      • ChatSearchDirection.DOWN 按照消息中包含的 Unix 时间戳的升序检索消息。
      • timestamp 用于查询的消息中的起始 Unix 时间戳。单位是毫秒。设置该参数后,SDK 按照消息搜索方向,从指定的消息开始检索消息。 如果将此参数设置为负值,则 SDK 从当前时间开始,按照消息中时间戳的降序顺序检索消息。
      • searchScope 消息搜索范围。请参阅 ChatMessageSearchScope。
      • count 每次检索的最大消息数。取值范围为 [1,400]。
      • sender 用于检索的用户 ID 或群组 ID。
      • isChatThread 会话是否为子区会话。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 通过关键字搜索本地消息。

      Parameters

      Returns Promise<Map<string, string[]>>

      包含会话 ID 和消息 ID 数组的字典。如果未获取到消息,则返回空字典。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 从本地数据库获取群组消息的已读回执。

      注意

      • 该方法仅适用于群组消息。
      • 每次调用最多可传入 20 条消息,且这些消息必须属于同一会话。

      Parameters

      • msgIds: string[]

        消息 ID 列表。

      Returns Promise<ChatMessageReadReceipt[]>

      消息已读回执列表,详见 ChatMessageReadReceipt。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 获取会话中的最新消息。

      注意

      该操作不会改变未读消息数。 如果会话对象不存在,此方法会创建该对象。

      SDK 首先从内存中获取最新消息。如果未找到消息,SDK 会从本地数据库加载消息并将其放入内存。

      Parameters

      Returns Promise<ChatMessage | undefined>

      消息实例。如果消息不存在,SDK 返回 undefined。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 获取最新收到的会话消息。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      Returns Promise<ChatMessage | undefined>

      消息实例。 如果消息不存在,SDK 将返回 undefined。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 从本地数据库获取指定 ID 的消息对象。

      Parameters

      • msgId: string

        消息 ID。

      Returns Promise<ChatMessage | undefined>

      获取的消息对象。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 获取本地消息数量。

      Returns Promise<number>

      本地消息的数量。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

    • 获取消息数量。

      Parameters

      • params: {
            convId: string;
            convType: ChatConversationType;
            end: number;
            isChatThread?: boolean;
            start: number;
        }

      Returns Promise<number>

      指定时间范围内的消息数量。

      • 参数集合
      • convId: 会话 ID。
      • convType: 会话类型。详见 ChatConversationType。
      • isChatThread: 是否是子区会话。
      • start: 开始时间戳。
      • end: 结束时间戳。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

    • 获取单条消息的置顶详情。

      Parameters

      • messageId: string

        消息 ID。

      Returns Promise<ChatMessagePinInfo | undefined>

      消息的置顶详情。若消息不存在或为非置顶状态,返回 undefined。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 通过消息 ID 列表获取本地数据库中的消息。

      Parameters

      Returns Promise<ChatMessage[]>

      获取的消息列表。如果未获取到消息,则返回空列表。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 获取本地子区详情。

      Parameters

      • msgId: string

        子区 ID。

      Returns Promise<ChatMessageThread | undefined>

      若调用成功,返回子区详情;失败则抛出异常。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 从本地数据库中检索会话中指定数量的消息。

      检索到的消息也会根据其中包含的时间戳放入内存中的会话中。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      • params: {
            convId: string;
            convType: ChatConversationType;
            direction?: ChatSearchDirection;
            isChatThread?: boolean;
            loadCount?: number;
            startMsgId: string;
        }

      Returns Promise<ChatMessage[]>

      检索到的消息列表(不包括具有起始时间戳的消息)。 如果没有获取到消息,则返回空列表。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 获取所有会话在一定时间内的会话中发送的消息。

      该方法从本地数据库获取数据。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      Returns Promise<ChatMessage[]>

      检索到的消息列表(不包括具有起始时间戳的消息)。如果没有获取到消息,返回空列表。

      • keywords 查询的关键字。
      • direction 消息搜索方向。请参阅 ChatSearchDirection。
      • (默认)ChatSearchDirection.UP 按照消息中包含的 Unix 时间戳的降序检索消息。
      • ChatSearchDirection.DOWN 按照消息中包含的 Unix 时间戳的升序检索消息。
      • timestamp 用于查询的消息中的起始 Unix 时间戳。单位是毫秒。设置该参数后,SDK 按照消息搜索方向,从指定的消息开始检索消息。 如果将此参数设置为负值,则 SDK 从当前时间开始,按照消息中时间戳的降序顺序检索消息。
      • searchScope 消息搜索范围。请参阅 ChatMessageSearchScope。
      • maxCount 每次检索的最大消息数。取值范围为 [1,400]。
      • from 用于检索的用户 ID 或群组 ID。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 从本地数据库中检索会话中某种类型的消息。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      Returns Promise<ChatMessage[]>

      检索到的消息列表(不包括具有起始时间戳的消息)。 如果没有获取到消息,则返回空列表。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 检索本地数据库中某个会话在一定时间内发送和接收的消息。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      • params: {
            convId: string;
            convType: ChatConversationType;
            count?: number;
            direction?: ChatSearchDirection;
            endTime: number;
            isChatThread?: boolean;
            startTime: number;
        }

      Returns Promise<ChatMessage[]>

      检索到的消息列表(不包括具有开始或结束时间戳的消息)。 如果没有获取到消息,则返回空列表。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 从本地获取指定会话中的置顶消息。

      Parameters

      Returns Promise<ChatMessage[]>

      置顶消息列表。如果没有获取到消息,则返回空列表。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 获取指定消息的 Reaction 列表。

      Parameters

      • msgId: string

        消息 ID。

      Returns Promise<ChatMessageReaction[]>

      若调用成功,则返回 Reaction 列表;失败则抛出异常。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 根据指定会话 ID 获取本地子区会话对象。

      Parameters

      • convId: string

        会话 ID。

      • createIfNeed: boolean = true

        未找到会话时是否自动创建该会话:

        • (默认) true: 是;
        • false: 否。

      Returns Promise<ChatConversation | undefined>

      子区会话实例。如果未找到会话,SDK 返回空值。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 获取未读消息数。

      Returns Promise<number>

      未读消息数。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 将消息导入本地数据库。

      你只能将你发送或接收的消息导入本地数据库。

      Parameters

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 在本地会话中插入一条消息。 例如,收到一些推送消息后,可以构建消息,写入会话。若该消息已存在(msgId 或 localMsgId 已存在),该插入操作失败。 消息会根据消息里的 Unix 时间戳插入本地数据库,SDK 会更新会话的 latestMessage 等属性。

      Parameters

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 退出子区。

      子区中的所有成员均可调用该方法。

      多设备登录情况下,注意以下几点:

      Parameters

      • chatThreadId: string

        要退出的子区的 ID。

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 更新消息内容。本地和服务器都更新。

      • Text and custom message: 消息体和扩展属性都可以修改。
      • Image/voice/video/file/combined message: 只能修改消息扩展字段 ext。
      • Command message: 此类型消息无法修改。

      注意消息 ID 不能更改。

      Parameters

      • params: { body?: ChatMessageBody; ext?: Record<string, any>; msgId: string }

      Returns Promise<ChatMessage>

      修改后的消息。详见 ChatMessage。

      如果有异常会在此抛出,包含错误码和错误描述,详见 ChatError。

    • 设置会话是否置顶。

      Parameters

      • convId: string

        会话 ID.

      • isPinned: boolean

        是否置顶会话。

        • true:置顶;
          • false: 取消置顶。

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 置顶消息。

      Parameters

      • messageId: string

        消息 ID。

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 撤回发送成功的消息。

      Parameters

      • msgId: string
      • Optionaloption: { ext?: string }

      Returns Promise<void>

      • 参数集合
      • msgId 消息 ID。
      • ext 扩展信息。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 移除所有消息监听器。

      Returns void

    • 删除服务端的指定会话及其历史消息。

      Parameters

      • convId: string

        会话 ID。

      • convType: ChatConversationType

        会话类型,详见 ChatConversationType。

      • isDeleteMessage: boolean = true

        删除会话时是否同时删除历史消息。

        • (默认) true:是;
        • false: 否。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 移除子区成员。

      只有子区所属群主、群管理员及子区创建者可调用该方法。

      被移出的成员会收到 ChatMessageEventListener.onChatMessageThreadUserRemoved 回调。

      你可通过设置 ChatMessageEventListener 监听子区事件。

      Parameters

      • chatThreadId: string

        子区 ID。

      • memberId: string

        被移出子区的成员的用户 ID。

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 从会话中删除消息(从本地存储和服务器)。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      • convId: string

        会话 ID。

      • convType: ChatConversationType

        会话类型。

      • msgIds: string[]

        要从当前会话中删除的消息的 ID。

      • isChatThread: boolean = false

        会话是否为子区会话。

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 从会话中删除消息(从本地存储和服务器)。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      • convId: string

        会话 ID。

      • convType: ChatConversationType

        会话类型。

      • timestamp: number

        消息时间戳(以毫秒为单位)。时间戳小于指定时间戳的消息将被删除。

      • isChatThread: boolean = false

        会话是否为子区会话。

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 删除当前用户的本地消息和服务器消息。单聊或群聊中其他用户的服务器消息不受影响,可通过消息漫游获取。

      Parameters

      • params: {
            convId: string;
            convType: ChatConversationType;
            isChatThread?: boolean;
            timestamp: number;
        }

      Returns Promise<void>

      参数集合 -

      • convId: 会话 ID。
      • convType: 会话类型。详见 ChatConversationType。
      • timestamp: 消息时间戳(以毫秒为单位)。时间戳小于指定时间戳的消息将被删除。
      • isChatThread: 是否是子区会话。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

    • 删除 Reaction。

      Parameters

      • reaction: string

        要删除的 Reaction。

      • msgId: string

        添加了该 Reaction 的消息 ID。

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 搜索消息。

      Parameters

      • params: {
            count?: number;
            direction?: ChatSearchDirection;
            from?: string;
            isChatThread?: boolean;
            msgTypes: ChatMessageType[];
            timestamp: number;
        }

      Returns Promise<ChatMessage[]>

      符合搜索条件的消息列表。

      • 参数集合
      • msgTypes: 消息类型数组,用户搜索一个或者多个类型的消息。 详见 ChatMessageType.
      • timestamp: 搜索的时间戳。
      • count: 搜索的消息数量。取值范围为 [1,100]。默认值为 20。
      • from: 搜索的消息 ID。
      • direction: 搜索方向。 详见 ChatSearchDirection.
      • isChatThread: 是否是子区会话。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 搜索指定会话的消息。

      Parameters

      Returns Promise<ChatMessage[]>

      符合搜索条件的消息列表。

      • 消息集合
      • convId: 会话 ID。
      • convType: 会话类型。 详见 ChatConversationType.
      • msgTypes: 消息类型数组,用户搜索一个或者多个类型的消息。 详见 ChatMessageType.
      • timestamp: 搜索的时间戳。
      • count: 搜索的消息数量。取值范围为 [1,100]。默认值为 20。
      • from: 搜索的消息 ID。
      • direction: 搜索方向。 详见 ChatSearchDirection.
      • isChatThread: 是否是子区会话。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

    • 发送一条消息。

      注意

      • 如果是语音,图片类等有附件的消息,SDK 会自动上传附件。
      • 可以通过 ChatOptions 设置是否上传到聊天服务器。

      Parameters

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 向服务器发送消息已读回执。

      注意

      • 该方法适用于单聊和群聊。
      • 每次最多可发送 50 条消息的已读回执,且这些消息必须属于同一个会话。
      • 仅当发送消息时将 ChatMessage.isNeedReadReceipt 设置为 true,该方法才会生效。

      Parameters

      • msgIds: string[]

        要发送已读回执的消息 ID 列表。

      Returns Promise<void>

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 设置会话的扩展信息。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      • convId: string

        会话 ID。

      • convType: ChatConversationType

        会话类型。 请参阅ChatConversationType。

      • ext: { [key: string]: string | number | boolean }

        扩展信息。 该参数必须是key-value类型。

      • isChatThread: boolean = false

        会话是否为子区会话。

      Returns Promise<void>

    • Parameters

      • event: NativeEventEmitter

      Returns void

    • 翻译消息。

      Parameters

      • msg: ChatMessage

        要翻译的文本消息。

      • languages: string[]

        目标语言。

      Returns Promise<ChatMessage>

      翻译。

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 取消置顶消息。

      Parameters

      • messageId: string

        消息 ID。

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 修改子区名称。

      只有子区所属群主、群管理员及子区创建者可调用该方法。

      子区所属群组的成员会收到 ChatMessageEventListener.onChatMessageThreadUpdated 回调。

      你可通过设置 ChatMessageEventListener 监听子区事件。

      Parameters

      • chatThreadId: string

        子区 ID。

      • newName: string

        子区的新名称。长度不超过 64 个字符。

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 更新本地数据库中的消息。

      修改消息后,消息 ID 保持不变,SDK 会自动更新会话的属性,如“latestMessage”。

      注意 如果会话对象不存在,此方法将创建它。

      Parameters

      Returns Promise<void>

      如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。

    • 更新本地消息。

      该方法会同时更新本地内存和数据库中的消息。

      Parameters

      Returns Promise<ChatMessage>

      更新后的消息。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 将语音文件转换为文本。

      Parameters

      • filePath: string

        语音文件的本地路径。

      • OptionalvoiceParam: ChatVoiceParam

        (可选)语音文件的格式信息。详见 ChatVoiceParam。

      Returns Promise<string>

      方法成功时返回由语音文件转换成的文本。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • 将语音消息中的语音转换为文本。

      Parameters

      Returns Promise<string>

      方法成功时返回由语音转换成的文本。

      如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。

    • Type Parameters

      • T

      Parameters

      • method: string
      • Optionalargs: Object

      Returns Promise<T>

    • Parameters

      • result: any

      Returns void

    • Parameters

      Returns void