蓝莺开发者
Web & Mini ProgramiOSAndroidC++Server API

floo::BMXConversation#

会话

#include <bmx_conversation.h>

Inherits from BMXBaseObject

Public Types#

Name
enum classType { Single, Group, System}
会话类型
enum classDirection { Up, Down}
消息搜索方向

Public Functions#

Name
virtual~BMXConversation()
析构函数
virtual int64_tconversationId() =0
会话Id
virtual Typetype() =0
会话类型
virtual BMXMessagePtrlastMsg() =0
最新消息
virtual int32_tunreadNumber() =0
未读消息数
virtual int32_tmessageCount() =0
会话中所有消息的数量
virtual boolisMuteNotification() =0
是否提醒用户消息,不提醒的情况下会话总未读数不会统计该会话计数。
virtual const JSON &extension() =0
扩展信息
virtual BMXErrorCodesetExtension(const std::string & ext) =0
设置扩展信息
virtual const std::string &editMessage() =0
编辑消息
virtual BMXErrorCodesetEditMessage(const std::string & editMessage) =0
设置编辑消息
virtual BMXErrorCodesetMessagePlayedStatus(BMXMessagePtr msg, bool status) =0
设置消息播放状态(只对语音/视频消息有效)
virtual BMXErrorCodesetMessageReadStatus(BMXMessagePtr msg, bool status) =0
设置消息未读状态,更新未读消息数
virtual BMXErrorCodesetAllMessagesRead() =0
把所有消息设置为已读,更新未读消息数
virtual BMXErrorCodeupdateMessageExtension(BMXMessagePtr msg) =0
更新一条数据库存储消息的扩展字段信息
virtual BMXErrorCodeinsertMessage(BMXMessagePtr msg) =0
插入一条消息
virtual BMXMessagePtrloadMessage(int64_t msgId) =0
读取一条消息
virtual BMXErrorCoderemoveAllMessages() =0
删除会话中的所有消息
virtual BMXErrorCodeloadMessages(int64_t refMsgId, size_t size, BMXMessageList & result, Direction =Direction::Up) =0
加载消息,如果不指定则从最新消息开始
virtual BMXErrorCodesearchMessagesByKeyWords(const std::string & keywords, int64_t refTime, size_t size, BMXMessageList & result, Direction =Direction::Up) =0
搜索消息,如果不指定则从最新消息开始
virtual BMXErrorCodesearchMessages(const std::string & keywords, int64_t refTime, size_t size, BMXMessageList & result, Direction =Direction::Up) =0
Deprecated.
virtual BMXErrorCodesearchMessagesByType(BMXMessage::ContentType type, int64_t refTime, size_t size, BMXMessageList & result, Direction =Direction::Up) =0
按照类型搜索消息,如果不指定则从最新消息开始
virtual BMXErrorCodesearchMessages(BMXMessage::ContentType type, int64_t refTime, size_t size, BMXMessageList & result, Direction =Direction::Up) =0
Deprecated.
virtual BMXErrorCoderefreshConversation() =0
读取数据库当前会话所有消息数量,强制更新conversation的消息总数和未读消息数。

Protected Functions#

Public Types Documentation#

enum Type#

EnumeratorValueDescription
Single单聊
Group群聊
System系统通知

会话类型

enum Direction#

EnumeratorValueDescription
Up取更旧消息
Down取更新消息

消息搜索方向

Public Functions Documentation#

function ~BMXConversation#

inline virtual ~BMXConversation()

析构函数

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="~BMXConversation" %}{% endlanying_code_snippet %}

function conversationId#

virtual int64_t conversationId() =0

会话Id

Return: int64_t

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="conversationId" %}{% endlanying_code_snippet %}

function type#

virtual Type type() =0

会话类型

Return: Type

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="type" %}{% endlanying_code_snippet %}

function lastMsg#

virtual BMXMessagePtr lastMsg() =0

最新消息

Return: BMXMessagePtr

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="lastMsg" %}{% endlanying_code_snippet %}

function unreadNumber#

virtual int32_t unreadNumber() =0

未读消息数

Return: int32_t

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="unreadNumber" %}{% endlanying_code_snippet %}

function messageCount#

virtual int32_t messageCount() =0

会话中所有消息的数量

Return: int32_t

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="messageCount" %}{% endlanying_code_snippet %}

function isMuteNotification#

virtual bool isMuteNotification() =0

是否提醒用户消息,不提醒的情况下会话总未读数不会统计该会话计数。

Return: bool

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="isMuteNotification" %}{% endlanying_code_snippet %}

function extension#

virtual const JSON & extension() =0

扩展信息

Return: JSON(std::string)

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="extension" %}{% endlanying_code_snippet %}

function setExtension#

virtual BMXErrorCode setExtension(
    const std::string & ext
) =0

设置扩展信息

Parameters:

  • ext 会话扩展消息

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="setExtension" %}{% endlanying_code_snippet %}

function editMessage#

virtual const std::string & editMessage() =0

编辑消息

Return: std::string

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="editMessage" %}{% endlanying_code_snippet %}

function setEditMessage#

virtual BMXErrorCode setEditMessage(
    const std::string & editMessage
) =0

设置编辑消息

Parameters:

  • editMessage 会话正在编辑的文本消息

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="setEditMessage" %}{% endlanying_code_snippet %}

function setMessagePlayedStatus#

virtual BMXErrorCode setMessagePlayedStatus(
    BMXMessagePtr msg,
    bool status
) =0

设置消息播放状态(只对语音/视频消息有效)

Parameters:

  • msg 需要设置播放状态的消息
  • status 消息是否已经播放

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="setMessagePlayedStatus" %}{% endlanying_code_snippet %}

function setMessageReadStatus#

virtual BMXErrorCode setMessageReadStatus(
    BMXMessagePtr msg,
    bool status
) =0

设置消息未读状态,更新未读消息数

Parameters:

  • msg 需要设置消息已读状态的消息
  • status 消息是否设置已读

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="setMessageReadStatus" %}{% endlanying_code_snippet %}

function setAllMessagesRead#

virtual BMXErrorCode setAllMessagesRead() =0

把所有消息设置为已读,更新未读消息数

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="setAllMessagesRead" %}{% endlanying_code_snippet %}

function updateMessageExtension#

virtual BMXErrorCode updateMessageExtension(
    BMXMessagePtr msg
) =0

更新一条数据库存储消息的扩展字段信息

Parameters:

  • msg 需要更改扩展信息的消息此时msg部分已经更新扩展字椴信息

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="updateMessageExtension" %}{% endlanying_code_snippet %}

function insertMessage#

virtual BMXErrorCode insertMessage(
    BMXMessagePtr msg
) =0

插入一条消息

Parameters:

  • msg 插入的消息

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="insertMessage" %}{% endlanying_code_snippet %}

function loadMessage#

virtual BMXMessagePtr loadMessage(
    int64_t msgId
) =0

读取一条消息

Parameters:

  • msgId 需要读取的消息的消息id

Return: BMXMessagePtr

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="loadMessage" %}{% endlanying_code_snippet %}

function removeAllMessages#

virtual BMXErrorCode removeAllMessages() =0

删除会话中的所有消息

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="removeAllMessages" %}{% endlanying_code_snippet %}

function loadMessages#

virtual BMXErrorCode loadMessages(
    int64_t refMsgId,
    size_t size,
    BMXMessageList & result,
    Direction  =Direction::Up
) =0

加载消息,如果不指定则从最新消息开始

Parameters:

  • refMsgId 加载消息的起始id
  • size 最大加载消息条数
  • result 数据库返回的加载消息列表
  • Direction 加载消息的方向,默认是加载更早的消息

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="loadMessages" %}{% endlanying_code_snippet %}

function searchMessagesByKeyWords#

virtual BMXErrorCode searchMessagesByKeyWords(
    const std::string & keywords,
    int64_t refTime,
    size_t size,
    BMXMessageList & result,
    Direction  =Direction::Up
) =0

搜索消息,如果不指定则从最新消息开始

Parameters:

  • keywords 搜索消息的关键字
  • refTime 搜索消息的起始时间
  • size 最大加载消息条数
  • result 搜索到的消息结果列表
  • Direction 消息搜索方向,默认(Direction::Up)是从更早的消息中搜索

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="searchMessagesByKeyWords" %}{% endlanying_code_snippet %}

function searchMessages#

virtual BMXErrorCode searchMessages(
    const std::string & keywords,
    int64_t refTime,
    size_t size,
    BMXMessageList & result,
    Direction  =Direction::Up
) =0

Deprecated.

Parameters:

  • keywords 搜索消息的关键字
  • refTime 搜索消息的起始时间
  • size 最大加载消息条数
  • result 搜索到的消息结果列表
  • Direction 消息搜索方向,默认(Direction::Up)是从更早的消息中搜索

Return: BMXErrorCode

use searchMessagesByKeyWords instead.

搜索消息,如果不指定则从最新消息开始

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="searchMessages" %}{% endlanying_code_snippet %}

function searchMessagesByType#

virtual BMXErrorCode searchMessagesByType(
    BMXMessage::ContentType type,
    int64_t refTime,
    size_t size,
    BMXMessageList & result,
    Direction  =Direction::Up
) =0

按照类型搜索消息,如果不指定则从最新消息开始

Parameters:

  • type 搜索消息的类型
  • refTime 搜索消息的起始时间
  • size 最大加载消息条数
  • result 搜索到的消息结果列表
  • Direction 消息搜索方向,默认(Direction::Up)是从更早的消息中搜索

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="searchMessagesByType" %}{% endlanying_code_snippet %}

function searchMessages#

virtual BMXErrorCode searchMessages(
    BMXMessage::ContentType type,
    int64_t refTime,
    size_t size,
    BMXMessageList & result,
    Direction  =Direction::Up
) =0

Deprecated.

Parameters:

  • type 搜索消息的类型
  • refTime 搜索消息的起始时间
  • size 最大加载消息条数
  • result 搜索到的消息结果列表
  • Direction 消息搜索方向,默认(Direction::Up)是从更早的消息中搜索

Return: BMXErrorCode

use searchMessagesByType instead.

按照类型搜索消息,如果不指定则从最新消息开始

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="searchMessages" %}{% endlanying_code_snippet %}

function refreshConversation#

virtual BMXErrorCode refreshConversation() =0

读取数据库当前会话所有消息数量,强制更新conversation的消息总数和未读消息数。

Return: BMXErrorCode

Protected Functions Documentation#

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="refreshConversation" %}{% endlanying_code_snippet %}

function BMXConversation#

inline BMXConversation()

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXConversation",function="BMXConversation" %}{% endlanying_code_snippet %}

Updated on 2022-01-26 at 17:20:40 +0800

自动生成的 API 内容,仅在必要位置补充精简的 AI 解释。