floo::BMXMessage
消息
#include <bmx_message.h>
Inherits from BMXBaseObject
Public Types
enum class
DeliveryStatus { New, Delivering, Deliveried, Failed, Recalled} 消息投递状态
enum class
MessageType { Single, Group, System} 消息类型
enum class
ContentType { Text, Image, Voice, Video, File, Location, Command, Forward} 消息内容类型
enum class
DeliveryQos { AtLastOnce, AtMostOnce, ExactlyOnce} 消息投递质量
Public Functions
virtual
~BMXMessage() 析构函数
int64_t
msgId() 消息唯一ID
int64_t
clientMsgId() 消息客户端ID,仅在消息发送端存在
int64_t
fromId() 消息发送方ID
int64_t
toId() 消息接收方ID
type() 消息类型
int64_t
conversationId() 消息所属会话ID
deliveryStatus() 消息投递状态
void
setDeliveryStatus(DeliveryStatus ) 设置消息投递状态
int64_t
serverTimestamp() 消息时间戳(服务端收到时的时间)
void
setServerTimestamp(int64_t ) 设置时间戳(服务端收到时的时间)
int64_t
clientTimestamp() 本地时间戳(消息创建或者收到时的本地时间)
void
setClientTimestamp(int64_t ) 设置消息本地时间戳
bool
isPlayed() 语音或者视频消息是否播放过,仅对收到的音视频消息有效
void
setIsPlayed(bool ) 设置语音或者视频消息是否播放过,仅对收到的音视频消息有效
bool
isPlayAcked() 对于发送方表示是否收到了已播放回执,对于接收方表示是否发送了已播放回执
void
setIsPlayAcked(bool ) 设置已播放回执
bool
isReceiveMsg() 是否接收的消息
void
setIsReceiveMsg(bool ) 设置是否接收的消息
bool
isRead() 消息是否已读标志
void
setIsRead(bool ) 消息是否已读标志
bool
isReadAcked() 对于发送方表示是否收到了已读回执,对于接收方表示是否发送了已读回执
void
setIsReadAcked(bool ) 设置已读回执
bool
isDeliveryAcked() 对于发送方表示消息是否已投递到对方,对于接收方表示是否发送了消息已到达回执
void
setIsDeliveryAcked(bool ) 设置投递回执
const std::string &
content() 消息文本内容
void
setContent(const std::string & content) 消息文本内容
contentType() 消息内容类型,如果带附件就表示附件类型,不带附件就是文本类型
BMXMessageAttachmentPtr
attachment() 消息附件,BMXMessage拥有附件的所有权,负责释放
BMXMessageConfigPtr
config() 消息的配置信息
void
setConfig(BMXMessageConfigPtr ) 设置消息配置信息
const JSON &
extension() 消息扩展信息
void
setExtension(const JSON & ) 设置消息扩展信息
deliveryQos() 消息投递QOS
void
setDeliveryQos(DeliveryQos qos) 设置消息投递QOS
const std::string &
senderName() 消息发送者的显示名称
void
setSenderName(const std::string & senderName) 设置消息的发送者显示名称
int
groupAckCount() 群消息已读AckCount数目
void
setGroupAckCount(int count) 设置消息已读groupAckCount数目(SDK 内部调用接口,上层不应该调用)
int
groupAckUnreadCount() 群消息未读AckCount数目
void
setGroupAckUnreadCount(int count) 设置消息未读groupAckCount数目(SDK 内部调用接口,上层不应该调用)
bool
groupAckReadAll() 群消息是否全部已读
int
groupPlayAckCount() 群消息已播放AckCount数目(仅用于音频/视频附件消息)
void
setGroupPlayAckCount(int count) 设置消息已播放groupAckCount数目(SDK 内部调用接口,上层不应该调用)(仅用于音频/视频附件消息)
int
groupPlayAckUnreadCount() 群消息未播放AckCount数目(仅用于音频/视频附件消息)
void
setGroupPlayAckUnreadCount(int count) 设置消息未播放groupAckCount数目(SDK 内部调用接口,上层不应该调用)(仅用于音频/视频附件消息)
bool
groupPlayAckReadAll() 群消息是否全部已播放
void
setPriority(int priority) 设置消息的扩散优先级,默认为0。0表示扩散,数字越小扩散的越多。
int
priority() 消息的扩散优先级
void
setPushMessageMode(bool ) 设置消息是否为推送消息。
bool
isPushMessage() 消息是否是推送消息
BMXMessagePtr
createMessage(int64_t from, int64_t to, MessageType type, int64_t conversationId, const std::string & content) 创建发送文本消息
BMXMessagePtr
createMessage(int64_t from, int64_t to, MessageType type, int64_t conversationId, BMXMessageAttachmentPtr attachment) 创建发送附件消息
BMXMessagePtr
createCommandMessage(int64_t from, int64_t to, MessageType type, int64_t conversationId, const std::string & content) 创建发送命令消息(命令消息通过content字段或者extension字段存放命令信息)
BMXMessagePtr
createMessage(int64_t msgId, int64_t from, int64_t to, MessageType type, int64_t conversationId, const std::string & content, int64_t serverTimestamp) 创建收到的消息
BMXMessagePtr
createMessage(int64_t msgId, int64_t from, int64_t to, MessageType type, int64_t conversationId, BMXMessageAttachmentPtr attachment, int64_t serverTimestamp) 创建收到的消息
BMXMessagePtr
createCommandMessage(int64_t msgId, int64_t from, int64_t to, MessageType type, int64_t conversationId, const std::string & content, int64_t serverTimestamp) 创建收到的命令消息(命令消息通过content字段或者extension字段存放命令信息)
BMXMessagePtr
createForwardMessage(BMXMessagePtr msg, int64_t from, int64_t to, MessageType type, int64_t conversationId) 创建转发消息
Public Types Documentation
enum DeliveryStatus
New
新创建消息
Delivering
消息投递中
Deliveried
消息已投递
Failed
消息投递失败
Recalled
消息已撤回
消息投递状态
enum MessageType
Single
单聊消息
Group
群聊消息
System
系统消息
消息类型
enum ContentType
Text
文本消息
Image
图片消息
Voice
语音消息
Video
视频片段消息
File
文件消息
Location
位置消息
Command
命令消息
Forward
转发消息
消息内容类型
enum DeliveryQos
AtLastOnce
最少投递一次
AtMostOnce
最多投递一次
ExactlyOnce
仅投递一次
消息投递质量
Public Functions Documentation
function ~BMXMessage
virtual ~BMXMessage()
析构函数
function msgId
int64_t msgId()
消息唯一ID
Return: int64_t
function clientMsgId
int64_t clientMsgId()
消息客户端ID,仅在消息发送端存在
Return: int64_t
function fromId
int64_t fromId()
消息发送方ID
Return: int64_t
function toId
int64_t toId()
消息接收方ID
Return: int64_t
function type
MessageType type()
消息类型
Return: MessageType
function conversationId
int64_t conversationId()
消息所属会话ID
Return: int64_t
function deliveryStatus
DeliveryStatus deliveryStatus()
消息投递状态
Return: DeliveryStatus
function setDeliveryStatus
void setDeliveryStatus(
DeliveryStatus
)
设置消息投递状态
function serverTimestamp
int64_t serverTimestamp()
消息时间戳(服务端收到时的时间)
Return: int64_t
function setServerTimestamp
void setServerTimestamp(
int64_t
)
设置时间戳(服务端收到时的时间)
function clientTimestamp
int64_t clientTimestamp()
本地时间戳(消息创建或者收到时的本地时间)
Return: int64_t
function setClientTimestamp
void setClientTimestamp(
int64_t
)
设置消息本地时间戳
function isPlayed
bool isPlayed()
语音或者视频消息是否播放过,仅对收到的音视频消息有效
Return: bool
function setIsPlayed
void setIsPlayed(
bool
)
设置语音或者视频消息是否播放过,仅对收到的音视频消息有效
function isPlayAcked
bool isPlayAcked()
对于发送方表示是否收到了已播放回执,对于接收方表示是否发送了已播放回执
Return: bool
function setIsPlayAcked
void setIsPlayAcked(
bool
)
设置已播放回执
function isReceiveMsg
bool isReceiveMsg()
是否接收的消息
Return: bool
function setIsReceiveMsg
void setIsReceiveMsg(
bool
)
设置是否接收的消息
function isRead
bool isRead()
消息是否已读标志
Return: bool
function setIsRead
void setIsRead(
bool
)
消息是否已读标志
function isReadAcked
bool isReadAcked()
对于发送方表示是否收到了已读回执,对于接收方表示是否发送了已读回执
Return: bool
function setIsReadAcked
void setIsReadAcked(
bool
)
设置已读回执
function isDeliveryAcked
bool isDeliveryAcked()
对于发送方表示消息是否已投递到对方,对于接收方表示是否发送了消息已到达回执
Return: bool
function setIsDeliveryAcked
void setIsDeliveryAcked(
bool
)
设置投递回执
function content
const std::string & content()
消息文本内容
Return: std::string
function setContent
void setContent(
const std::string & content
)
消息文本内容
Parameters:
content 消息文本内容
function contentType
ContentType contentType()
消息内容类型,如果带附件就表示附件类型,不带附件就是文本类型
Return: ContentType
function attachment
BMXMessageAttachmentPtr attachment()
消息附件,BMXMessage拥有附件的所有权,负责释放
Return: BMXMessageAttachmentPtr
function config
BMXMessageConfigPtr config()
消息的配置信息
Return: JSON(std::string)
function setConfig
void setConfig(
BMXMessageConfigPtr
)
设置消息配置信息
function extension
const JSON & extension()
消息扩展信息
Return: JSON(std::string)
function setExtension
void setExtension(
const JSON &
)
设置消息扩展信息
function deliveryQos
DeliveryQos deliveryQos()
消息投递QOS
Return: DeliveryQos
function setDeliveryQos
void setDeliveryQos(
DeliveryQos qos
)
设置消息投递QOS
Parameters:
qos 消息投递QOS
function senderName
const std::string & senderName()
消息发送者的显示名称
Return: std::string
function setSenderName
void setSenderName(
const std::string & senderName
)
设置消息的发送者显示名称
Parameters:
senderName 消息文本内容
function groupAckCount
int groupAckCount()
群消息已读AckCount数目
Return: int
function setGroupAckCount
void setGroupAckCount(
int count
)
设置消息已读groupAckCount数目(SDK 内部调用接口,上层不应该调用)
Parameters:
count 设置群消息已读数目
function groupAckUnreadCount
int groupAckUnreadCount()
群消息未读AckCount数目
Return: int
function setGroupAckUnreadCount
void setGroupAckUnreadCount(
int count
)
设置消息未读groupAckCount数目(SDK 内部调用接口,上层不应该调用)
Parameters:
count 设置群消息未读数目
function groupAckReadAll
bool groupAckReadAll()
群消息是否全部已读
Return: bool
function groupPlayAckCount
int groupPlayAckCount()
群消息已播放AckCount数目(仅用于音频/视频附件消息)
Return: int
function setGroupPlayAckCount
void setGroupPlayAckCount(
int count
)
设置消息已播放groupAckCount数目(SDK 内部调用接口,上层不应该调用)(仅用于音频/视频附件消息)
Parameters:
count 设置群消息已读数目
function groupPlayAckUnreadCount
int groupPlayAckUnreadCount()
群消息未播放AckCount数目(仅用于音频/视频附件消息)
Return: int
function setGroupPlayAckUnreadCount
void setGroupPlayAckUnreadCount(
int count
)
设置消息未播放groupAckCount数目(SDK 内部调用接口,上层不应该调用)(仅用于音频/视频附件消息)
Parameters:
count 设置群消息未播放数目
function groupPlayAckReadAll
bool groupPlayAckReadAll()
群消息是否全部已播放
Return: bool
function setPriority
void setPriority(
int priority
)
设置消息的扩散优先级,默认为0。0表示扩散,数字越小扩散的越多。
Parameters:
priority 设置群消息未读数目
取值范围0-10。普通人在聊天室发送的消息级别默认为5,可以丢弃。管理员默认为0不会丢弃。其它值可以根据业务自行设置。
function priority
int priority()
消息的扩散优先级
Return: int
function setPushMessageMode
void setPushMessageMode(
bool
)
设置消息是否为推送消息。
function isPushMessage
bool isPushMessage()
消息是否是推送消息
Return: bool
function createMessage
static BMXMessagePtr createMessage(
int64_t from,
int64_t to,
MessageType type,
int64_t conversationId,
const std::string & content
)
创建发送文本消息
Parameters:
from 消息发送者
to 消息接收者
type 消息类型
conversationId 会话id
content 消息内容
function createMessage
static BMXMessagePtr createMessage(
int64_t from,
int64_t to,
MessageType type,
int64_t conversationId,
BMXMessageAttachmentPtr attachment
)
创建发送附件消息
Parameters:
from 消息发送者
to 消息接收者
type 消息类型
conversationId 会话id
attachment 附件
function createCommandMessage
static BMXMessagePtr createCommandMessage(
int64_t from,
int64_t to,
MessageType type,
int64_t conversationId,
const std::string & content
)
创建发送命令消息(命令消息通过content字段或者extension字段存放命令信息)
Parameters:
from 消息发送者
to 消息接收者
type 消息类型
conversationId 会话id
content 消息内容
function createMessage
static BMXMessagePtr createMessage(
int64_t msgId,
int64_t from,
int64_t to,
MessageType type,
int64_t conversationId,
const std::string & content,
int64_t serverTimestamp
)
创建收到的消息
Parameters:
msgId 消息id
from 消息发送者
to 消息接收者
type 消息类型
conversationId 会话id
content 消息内容
serverTimestamp 服务器时间戳
function createMessage
static BMXMessagePtr createMessage(
int64_t msgId,
int64_t from,
int64_t to,
MessageType type,
int64_t conversationId,
BMXMessageAttachmentPtr attachment,
int64_t serverTimestamp
)
创建收到的消息
Parameters:
msgId 消息id
from 消息发送者
to 消息接收者
type 消息类型
conversationId 会话id
attachment 附件
serverTimestamp 服务器时间戳
function createCommandMessage
static BMXMessagePtr createCommandMessage(
int64_t msgId,
int64_t from,
int64_t to,
MessageType type,
int64_t conversationId,
const std::string & content,
int64_t serverTimestamp
)
创建收到的命令消息(命令消息通过content字段或者extension字段存放命令信息)
Parameters:
msgId 消息id
from 消息发送者
to 消息接收者
type 消息类型
conversationId 会话id
content 消息内容
serverTimestamp 服务器时间戳
function createForwardMessage
static BMXMessagePtr createForwardMessage(
BMXMessagePtr msg,
int64_t from,
int64_t to,
MessageType type,
int64_t conversationId
)
创建转发消息
Parameters:
msg 要转发的消息
from 消息发送者
to 消息接收者
type 消息类型
conversationId 会话id
Updated on 2022-01-26 at 17:20:40 +0800
Last updated
Was this helpful?