会话类,用于定义单聊会话、群聊会话和聊天室会话。

Hierarchy

  • ChatBase<EMConversation>
    • Conversation

Constructors

  • Parameters

    • conv: EMConversation

    Returns Conversation

Properties

hObject: EMConversation

Methods

  • 在本地数据库中会话的尾部插入一条消息。

    消息的会话 ID 应与会话的 ID 一致。

    Parameters

    Returns boolean

    • 返回插入数据库的结果。
  • 清除数据库中指定会话中的所有消息。

    Returns void

  • 会话 ID。

    • 单聊:会话 ID 为对方的用户 ID。
    • 群聊:会话 ID 为群组 ID。
    • 聊天室:会话 ID 为聊天室的 ID。

    Returns string

    • 返回会话 ID。
  • 获取会话中的消息总数。

    Returns number

    • 返回会话中的消息总数。
  • 获取会话的扩展字段。

    扩展字段只在本地数据库中保存,不同步到服务器。

    Returns string

    • 返回会话的扩展字段。
  • 获取会话中的最新一条消息。

    此操作不会改变未读消息计数。

    Returns ChatMessage

    • 返回查找到的消息对象,如果没有找到返回 undefined。
  • 获取会话中收到的最新一条消息。

    Returns ChatMessage

    • 返回查找到的消息对象,如果没有找到返回 undefined。
  • 根据消息 ID 获取指定的消息。

    Parameters

    • msgId: string

      待查找的消息 ID。

    Returns ChatMessage

    • 返回查找到的消息对象,如果没有找到返回 undefined。
  • Returns EMConversation

  • 获取会话中未读的消息数量。

    Returns number

    • 返回会话中未读的消息数量。
  • 在本地数据库的会话中插入一条消息。

    消息的会话 ID 应与会话的 ID 一致。

    Parameters

    Returns boolean

    • 返回插入数据库的结果。
  • 从指定消息 ID 开始分页加载数据库中的消息。

    Parameters

    • startMsgId: string

      查询的起始消息 ID。该参数设置后,SDK 从指定的消息 ID 开始按消息检索方向加载。 如果传入消息的 ID 为空,SDK 忽略该参数,按搜索方向查询消息: - 若 directionUP,SDK 从最新消息开始,按消息时间戳的倒序获取; - 若 directionDOWN,SDK 从最早消息开始,按消息时间戳的正序获取。

    • pageSize: number

      每页要加载的消息数。取值范围为 [1,400]。

    • direction: SearchDirection = SearchDirection.UP

      消息搜索方向。 - UP:按照消息中的时间戳的逆序查询; - DOWN:按照消息中的时间戳的正序查询。

    Returns Promise<ChatMessage[]>

    • 消息列表(不包含查询起始 ID 的消息)。
  • 将会话中所有未读消息置为已读。

    Returns boolean

    • 返回将所有未读消息置为已读的结果。
  • 设置指定消息为已读。

    Parameters

    • msgId: string

      待置为已读的消息 ID。

    Returns void

    内部为异步实现。

  • 删除本地数据库中的一条指定消息。

    Parameters

    • message: string | ChatMessage

      待删除的消息对象或者消息的 ID。

    Returns boolean

    • 返回删除消息的结果。
  • 从本地数据库中搜索指定时间段内发送或接收的一定数量的消息。

    Parameters

    • startTimestamp: number

      搜索的起始时间戳。单位为毫秒。

    • endTimestamp: number

      搜索的结束时间戳。单位为毫秒。

    • maxCount: number

      每次要获取的消息数量。取值范围为 [1,400]。

    Returns Promise<ChatMessage[]>

    • 消息列表(不包含搜索起始时间戳和结束时间戳对应的消息)。
  • 从本地数据库获取会话中的指定用户发送的包含特定关键词的消息。

    Parameters

    • keywords: string

      查询的关键字。

    • timestamp: number

      查询的起始消息 Unix 时间戳,单位为毫秒。该参数设置后,SDK 从指定时间戳的消息开始,按消息搜索方向获取。 如果该参数设置为负数,SDK 从当前时间开始搜索。

    • maxCount: number

      每次获取的最大消息数。取值范围为 [1,400]。

    • from: string

      单聊或群聊中的消息发送方的用户 ID。若设置为空字符串,SDK 将在整个会话中搜索消息。

    • direction: SearchDirection

      消息搜索方向。 - UP:按照消息中的时间戳的逆序查询; - DOWN:按照消息中的时间戳的正序查询。

    Returns Promise<ChatMessage[]>

    • 消息列表(不包含查询起始时间戳对应的消息)。
  • 从本地数据库获取指定会话的一定数量的特定类型的消息。

    Parameters

    • type: ContentType

      消息类型。

    • timestamp: number

      查询的起始消息 Unix 时间戳,单位为毫秒。该参数设置后,SDK 从指定时间戳的消息开始,按消息搜索方向获取。

    • maxCount: number

      每次要获取的消息数。取值范围为 [1,400]。

    • from: string

      单聊或群聊中的消息发送方的用户 ID。若设置为空字符串,SDK 将在整个会话中搜索消息。

    • direction: SearchDirection

      消息搜索方向。 - UP:按照消息中的时间戳的逆序查询; - DOWN:按照消息中的时间戳的正序查询。

    Returns Promise<ChatMessage[]>

    • 消息列表(不包含查询起始时间戳对应的消息)。
  • 基于 Unix 时间戳搜索本地数据库中的消息。

    Parameters

    • timestamp: number

      查询的起始消息 Unix 时间戳,单位为毫秒。该参数设置后,SDK 从指定时间戳的消息开始,按消息搜索方向获取。 如果该参数设置为负数,SDK 从最新消息获取。

    • maxCount: number

      每次要获取的消息数。取值范围为 [1,400]。

    • direction: SearchDirection

      消息搜索方向。 - UP:按照消息中的时间戳的逆序查询; - DOWN:按照消息中的时间戳的正序查询。

    Returns Promise<ChatMessage[]>

    • 消息列表(不包含查询起始时间戳对应的消息)。
  • 设置会话的扩展字段。

    扩展字段只在本地数据库中保存,不同步到服务器。

    Parameters

    • ext: string

      待设置的会话扩展字段。

    Returns void

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

    消息更新时,消息 ID 不会修改。

    Parameters

    Returns boolean

    • 返回更新消息的结果。