消息概述
消息类介绍
属性 | 类型 | 默认值 | 说明 |
ID | String | - | 消息 ID。其拼接规则为 ${senderTinyID}-${clientTime}-${random} ,与 Native Chat 消息的 ID 拼接规则一致。 |
type | String | - | 消息类型,具体如下: TencentCloudChat.TYPES.MSG_TEXT :文本消息TencentCloudChat.TYPES.MSG_IMAGE :图片消息TencentCloudChat.TYPES.MSG_AUDIO :音频消息TencentCloudChat.TYPES.MSG_VIDEO :视频消息TencentCloudChat.TYPES.MSG_FILE :文件消息TencentCloudChat.TYPES.MSG_CUSTOM :自定义消息TencentCloudChat.TYPES.MSG_MERGER :合并消息TencentCloudChat.TYPES.MSG_LOCATION :位置消息TencentCloudChat.TYPES.MSG_GRP_TIP :群提示消息TencentCloudChat.TYPES.MSG_GRP_SYS_NOTICE :群系统通知消息 |
payload | Object | - | 消息的内容,具体如下: 文本 图片 音频 视频 文件 自定义 合并 地理位置 群提示消息 群系统通知 |
conversationID | String | - | 消息所属的会话 ID |
conversationType | String | - | 消息所属会话的类型,具体如下: TencentCloudChat.TYPES.CONV_C2C :C2C(Client to Client, 端到端) 会话TencentCloudChat.TYPES.CONV_GROUP :GROUP(群组) 会话TencentCloudChat.TYPES.CONV_SYSTEM :SYSTEM(系统) 会话 |
to | String | - | 接收方的 userID |
from | String | - | 发送方的 userID,在消息发送时,会默认设置为当前登录的用户 |
flow | String | - | 消息的流向。 in :收到的消息out :发出的消息 |
time | Number | - | 消息时间戳。单位:秒 |
status | String | - | 消息状态。 unSend :未发送success :发送成功fail :发送失败 |
isRevoked | Boolean | false | 是否被撤回的消息, true 标识被撤回的消息 |
priority | String | TencentCloudChat.TYPES.MSG_PRIORITY_NORMAL | 消息优先级,如果群组内消息超过频率限制,后端会优先投递高优先级消息。支持的枚举值: TencentCloudChat.TYPES.MSG_PRIORITY_HIGH TencentCloudChat.TYPES.MSG_PRIORITY_NORMAL (default) TencentCloudChat.TYPES.MSG_PRIORITY_LOW TencentCloudChat.TYPES.MSG_PRIORITY_LOWEST |
nick | String | '' | |
avatar | String | '' | |
nameCard | String | '' | |
atUserList | Array | [] | 群聊时此字段存储被 at 的群成员的 userID |
cloudCustomData | String | '' | 消息自定义数据(云端保存,会发送到对端,程序卸载重装后还能拉取到) |
isDeleted | Boolean | false | 是否被删除的消息, true 标识被删除的消息 |
isModified | Boolean | false | 是否被修改过的消息, true 标识被修改过的消息 |
needReadReceipt | Boolean | false | 是否需要已读回执,true 标识需要(仅用于群消息,需要您购买旗舰版套餐) |
readReceiptInfo | Object | { readCount,unreadCount,isPeerRead,timestamp } | 消息已读回执信息 readCount :消息已读数,可通过调用 getMessageReadReceiptList 查询;如果想要查询哪些群成员已读了消息,可调用 getGroupMessageReadMemberListunreadCount :消息未读数,可通过调用 getMessageReadReceiptList 查询isPeerRead : C2C 消息对端是否已发送已读回执,消息接收方调用sendMessageReadReceipt 成功后,消息发送方收到已读回执通知或拉漫游时会更新此属 timestamp :C2C消息对端发送已读回执时间,单位:秒,消息接收方调用 sendMessageReadReceipt 成功后,消息发送方收到已读回执通知或拉漫游时会更新此属性。 |
isBroadcastMessage | Boolean | false | 对所有直播群广播消息,true 标识直播群广播消息(需要您购买旗舰版套餐) |
isSupportExtension | Boolean | false | 是否支持消息扩展,true 支持 false 不支持(需要您购买旗舰版套餐) |
revokerInfo | Object | - | 消息撤回者的信息 |
revokeReason | String | - | 消息撤回的原因 |
hasRiskContent | Boolean | - | 图片、语音、视频消息是否被标记为有安全风险的消息,默认为 false |
TextPayload
Name | Type | Description |
text | String | 文本消息内容 |
ImagePayload
Name | Type | Description |
uuid | String | 图片唯一标识 |
imageFormat | Format | 图片格式类型,JPG/JPEG = 1,GIF = 2,PNG = 3,BMP = 4,其他 = 255 |
imageInfoArray | Array.<Object> | 图片信息 width - 宽度 height - 高度 url - String - 图片地址,可用于渲染 size - Number - 图片大小,单位:Byte type - Number - 0, 原图; 1, 198p 压缩图; 2, 720p 压缩图 |
AudioPayload
Name | Type | Description |
uuid | String | 唯一标识 |
url | String | 音频地址,可用于播放 |
size | Number | 文件大小,单位:Byte |
second | Number | 音频时长,单位:秒 |
VideoPayload
Name | Type | Description |
videoFormat | String | 视频文件的格式 |
videoSecond | Number | 视频文件的时长,单位秒,整型(Web 端创建视频消息时不支持获取视频时长,videoSecond 为0) |
videoSize | Number | 视频文件大小,单位:Byte |
videoUrl | String | 视频文件的地址,可用于播放 |
videoUUID | String | video 唯一标识 |
snapshotWidth | Number | 视频封面图宽度 |
snapshotHeight | Number | 视频封面图高度 |
snapshotUrl | String |
FilePayload
Name | Type | Description |
uuid | String | 唯一标识 |
fileName | String | 文件名 |
fileUrl | String | 文件地址 |
fileSize | Number | 文件大小,单位:Byte |
CustomPayload
Name | Type | Description |
data | String | 自定义消息的 data 字段 |
description | String | 自定义消息的 description 字段 |
extension | String | 自定义消息的 extension 字段 |
MergerPayload
Name | Type | Description |
downloadKey | String | 下载合并消息的 key, 如果合并消息的体积较大,SDK 会将消息存储在云端,此 key 作为消息的唯一标识 |
messageList | Array.<SimplifiedMessage> | 合并的消息列表 |
title | String | 合并的标题,比如:"大湾区前端人才中心的聊天记录" |
abstractList | String | 摘要列表,不同的消息类型可以设置不同的摘要信息,比如:文本消息可以设置为: sender: text ,图片消息可以设置为:sender: [图片] ,文件消息可以设置为:sender: [文件] |
compatibleText | String | 兼容文本,低版本 SDK 如果不支持合并消息,默认会收到一条文本消息,文本消息的内容为 ${compatibleText} |
layersOverLimit | Boolean | 合并消息嵌套层级是否超过限制。true,则消息被截断;默认值为 false |
GeoPayload
Name | Type | Description |
description | String | 相关描述信息 |
latitude | Number | 纬度 |
longitude | Number | 经度 |
FacePayload
Name | Type | Description |
index | Number | 表情索引,用户自定义 |
data | String | 额外数据 |
GroupTipPayload
Name | Type | Description |
groupJoinType | Number | 加群类型,具体如下: 0 - 默认值,表示该行为不是加群操作 1 - 申请加群 2 - 邀请加群 |
operatorID | String | 执行该操作的用户 ID |
operatorInfo | Object | 执行该操作的用户信息(v3.4.2起支持) |
operationType | Number | 操作类型,具体如下: 1 - 有成员加群 2 - 有群成员退群 3 - 有群成员被踢出群 4 - 有群成员被设为管理员 5 - 有群成员被撤销管理员 6 - 群组资料变更 7 - 群成员资料变更,例如:群成员被禁言 10 - 封禁直播群群成员 11 - 解封直播群群成员 |
userIDList | Array.<String> | 相关的 userID 列表 |
newGroupProfile | Object | 若是群资料变更,该字段存放变更的群资料 muteAllMembers - true - 群成员全体禁言;false - 取消群成员全体禁言groupCustomField - 该字段存放变更的群自定义字段键值对 |
memberList | Array.<Object> | 当群成员被禁言时,可在该字段中拿到相关信息(可在该字段获取加入群或者退出群的群成员的昵称、头像等信息) userID - 群成员 userIDmuteTime - 被禁言的时长,单位:秒nick - 群成员的个人昵称avatar - 群成员的个人头像duration - 封禁时长,单位:秒reason - 封禁原因 |
GroupSystemNoticePayload
Name | Type | Description |
operatorID | String | 执行该操作的用户 ID |
operationType | Number | Operation type. Supported values are as follows: 1 - 有用户申请加群 2 - 申请加群被同意 3 - 申请加群被拒绝 6 - 创建群组 7 - 邀请加群 9 - 设置管理员 10 - 取消管理员 11 - 群已被回收 12 - 收到加群邀请,被邀请者需要同意或者拒绝 13 - 邀请他人加群,被他人同意 14 - 邀请他人加群,被他人拒绝 15 - 已读上报多终端同步通知 16 - 群成员被禁言或被取消禁言( muteTime 为0表示取消禁言)20 - 群消息提醒类型多终端、多实例同步通知 21 - 封禁直播群群成员 22 - 解封直播群群成员 23 - 普通群成员邀请用户进群 255 - 用户自定义通知 |
groupProfile | Object | 群组资料 |
userDefinedField | String | 用户自定义字段 |
handleMessage | Object | 处理的附言。例如:user1 申请加入 group1 时,若进群需要验证,且 user1 填写了申请加群的附言。则 group1 的管理员会在相应群系统通知中看到该字段。 |
messageRemindType | String | TencentCloudChat.TYPES.MSG_REMIND_ACPT_AND_NOTE - the SDK receives a message and throws a MESSAGE_RECEIVED event to notify the access side, which then sends a notification.TencentCloudChat.TYPES.MSG_REMIND_ACPT_NOT_NOTE - the SDK receives a message and throws a MESSAGE_RECEIVED event to notify the access side, which then does not send a notification.TencentCloudChat.TYPES.MSG_REMIND_DISCARD - the SDK rejects a message.TencentCloudChat.TYPES.NOT_RECEIVE_OFFLINE_PUSH_EXCEPT_AT 在线接收消息,离线仅接收群 @消息 的推送 |