floo::BMXConversation#
會話
#include <bmx_conversation.h>
Inherits from BMXBaseObject
Public Types#
Public Functions#
| Name | |
|---|---|
| virtual | ~BMXConversation() 析構函數 |
| virtual int64_t | conversationId() =0 會話Id |
| virtual Type | type() =0 會話類型 |
| virtual BMXMessagePtr | lastMsg() =0 最新訊息 |
| virtual int32_t | unreadNumber() =0 未讀訊息數 |
| virtual int32_t | messageCount() =0 會話中所有訊息的數量 |
| virtual bool | isMuteNotification() =0 是否提醒使用者訊息,不提醒的情況下會話總未讀數不會統計該會話計數。 |
| virtual const JSON & | extension() =0 擴展信息 |
| virtual BMXErrorCode | setExtension(const std::string & ext) =0 設定擴展信息 |
| virtual const std::string & | editMessage() =0 編輯訊息 |
| virtual BMXErrorCode | setEditMessage(const std::string & editMessage) =0 設定編輯訊息 |
| virtual BMXErrorCode | setMessagePlayedStatus(BMXMessagePtr msg, bool status) =0 設定訊息播放狀態(只對語音/視訊訊息有效) |
| virtual BMXErrorCode | setMessageReadStatus(BMXMessagePtr msg, bool status) =0 設定訊息未讀狀態,更新未讀訊息數 |
| virtual BMXErrorCode | setAllMessagesRead() =0 把所有訊息設定為已讀,更新未讀訊息數 |
| virtual BMXErrorCode | updateMessageExtension(BMXMessagePtr msg) =0 更新一條資料庫存儲訊息的擴展欄位信息 |
| virtual BMXErrorCode | insertMessage(BMXMessagePtr msg) =0 插入一條訊息 |
| virtual BMXMessagePtr | loadMessage(int64_t msgId) =0 讀取一條訊息 |
| virtual BMXErrorCode | removeAllMessages() =0 刪除會話中的所有訊息 |
| virtual BMXErrorCode | loadMessages(int64_t refMsgId, size_t size, BMXMessageList & result, Direction =Direction::Up) =0 加載訊息,如果不指定則從最新訊息開始 |
| virtual BMXErrorCode | searchMessagesByKeyWords(const std::string & keywords, int64_t refTime, size_t size, BMXMessageList & result, Direction =Direction::Up) =0 搜索訊息,如果不指定則從最新訊息開始 |
| virtual BMXErrorCode | searchMessages(const std::string & keywords, int64_t refTime, size_t size, BMXMessageList & result, Direction =Direction::Up) =0 Deprecated. |
| virtual BMXErrorCode | searchMessagesByType(BMXMessage::ContentType type, int64_t refTime, size_t size, BMXMessageList & result, Direction =Direction::Up) =0 按照類型搜索訊息,如果不指定則從最新訊息開始 |
| virtual BMXErrorCode | searchMessages(BMXMessage::ContentType type, int64_t refTime, size_t size, BMXMessageList & result, Direction =Direction::Up) =0 Deprecated. |
| virtual BMXErrorCode | refreshConversation() =0 讀取資料庫當前會話所有訊息數量,強制更新conversation的訊息總數和未讀訊息數。 |
Protected Functions#
| Name | |
|---|---|
| BMXConversation() |
Public Types Documentation#
enum Type#
| Enumerator | Value | Description |
|---|---|---|
| Single | 單聊 | |
| Group | 群聊 | |
| System | 系統通知 |
會話類型
enum Direction#
| Enumerator | Value | Description |
|---|---|---|
| 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