floo::BMXConversation
会话
#include <bmx_conversation.h>
Inherits from BMXBaseObject
Public Types
Name | |
---|---|
enum class | Type { Single, Group, System} 会话类型 |
enum class | Direction { Up, Down} 消息搜索方向 |
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:
function conversationId
virtual int64_t conversationId() =0
会话Id
Return: int64_t
Example:
function type
virtual Type type() =0
会话类型
Return: Type
Example:
function lastMsg
virtual BMXMessagePtr lastMsg() =0
最新消息
Return: BMXMessagePtr
Example:
if (left->lastMsg() && right->lastMsg()) {
return left->lastMsg()->serverTimestamp() > right->lastMsg()->serverTimestamp();
} else if (left->lastMsg()) {
function unreadNumber
virtual int32_t unreadNumber() =0
未读消息数
Return: int32_t
Example:
function messageCount
virtual int32_t messageCount() =0
会话中所有消息的数量
Return: int32_t
Example:
function isMuteNotification
virtual bool isMuteNotification() =0
是否提醒用户消息,不提醒的情况下会话总未读数不会统计该会话计数。
Return: bool
Example:
function extension
virtual const JSON & extension() =0
扩展信息
Return: JSON(std::string)
Example:
function setExtension
virtual BMXErrorCode setExtension(
const std::string & ext
) =0
设置扩展信息
Parameters:
- ext 会话扩展消息
Return: BMXErrorCode
Example:
function editMessage
virtual const std::string & editMessage() =0
编辑消息
Return: std::string
Example:
function setEditMessage
virtual BMXErrorCode setEditMessage(
const std::string & editMessage
) =0
设置编辑消息
Parameters:
- editMessage 会话正在编辑的文本消息
Return: BMXErrorCode
Example:
function setMessagePlayedStatus
virtual BMXErrorCode setMessagePlayedStatus(
BMXMessagePtr msg,
bool status
) =0
设置消息播放状态(只对语音/视频消息有效)
Parameters:
- msg 需要设置播放状态的消息
- status 消息是否已经播放
Return: BMXErrorCode
Example:
function setMessageReadStatus
virtual BMXErrorCode setMessageReadStatus(
BMXMessagePtr msg,
bool status
) =0
设置消息未读状态,更新未读消息数
Parameters:
- msg 需要设置消息已读状态的消息
- status 消息是否设置已读
Return: BMXErrorCode
Example:
function setAllMessagesRead
virtual BMXErrorCode setAllMessagesRead() =0
把所有消息设置为已读,更新未读消息数
Return: BMXErrorCode
Example:
function updateMessageExtension
virtual BMXErrorCode updateMessageExtension(
BMXMessagePtr msg
) =0
更新一条数据库存储消息的扩展字段信息
Parameters:
- msg 需要更改扩展信息的消息此时msg部分已经更新扩展字椴信息
Return: BMXErrorCode
Example:
function insertMessage
virtual BMXErrorCode insertMessage(
BMXMessagePtr msg
) =0
插入一条消息
Parameters:
- msg 插入的消息
Return: BMXErrorCode
Example:
function loadMessage
virtual BMXMessagePtr loadMessage(
int64_t msgId
) =0
读取一条消息
Parameters:
- msgId 需要读取的消息的消息id
Return: BMXMessagePtr
Example:
function removeAllMessages
virtual BMXErrorCode removeAllMessages() =0
删除会话中的所有消息
Return: BMXErrorCode
Example:
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:
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:
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:
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:
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:
function refreshConversation
virtual BMXErrorCode refreshConversation() =0
读取数据库当前会话所有消息数量,强制更新conversation的消息总数和未读消息数。
Return: BMXErrorCode
Protected Functions Documentation
Example:
function BMXConversation
inline BMXConversation()
Example:
Updated on 2022-01-26 at 17:20:40 +0800