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

© 2019-2024 美信拓扑 | 官网 | 网站地图 该文件修订时间: 2024-12-07 06:49:06