藍鶯開發者
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 解說。