一、消息类介绍
IM SDK 中 Message 表示消息对象,用于描述一条消息具有的属性,如类型、消息的内容、所属的会话 ID 等。
| 属性 | 类型 | 默认值 | 说明 |
| ID | String | – | 消息 ID。其拼接规则为 ${senderTinyID}-${clientTime}-${random},与 NativeIM 消息的 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 | 消息优先级,用于群聊 |
| nick | String | '' | 消息发送者的昵称(需提前调用 updateMyProfile 设置) |
| avatar | String | '' | 消息发送者的头像地址(需提前调用 updateMyProfile 设置) |
| isPeerRead | Boolean | false | C2C 消息对端是否已读,true 标识对端已读 |
| nameCard | String | '' | 非直播群消息发送者的群名片(也可称之为消息发送者的群昵称),需提前调用 setGroupMemberNameCard 设置 |
| atUserList | Array | [] | 群聊时此字段存储被 at 的群成员的 userID |
| cloudCustomData | String | '' | 消息自定义数据(云端保存,会发送到对端,程序卸载重装后还能拉取到) |
| isDeleted | Boolean | false | 是否被删除的消息,true 标识被删除的消息 |
| isModified | Boolean | false | 是否被修改过的消息,true 标识被修改过的消息 |
| needReadReceipt | Boolean | false | 是否需要已读回执,true 标识需要(仅用于群消息,需要你购买旗舰版或企业版套餐) |
| readReceiptInfo | Object | { readCount, unreadCount, isPeerRead } |
消息已读回执信息readCount:消息已读数,可通过调用 getMessageReadReceiptList 查询;如果想要查询哪些群成员已读了消息,可调用 getGroupMessageReadMemberListunreadCount:消息未读数,可通过调用 getMessageReadReceiptList 查询isPeerRead: C2C 消息对端是否已发送已读回执,消息接收方调用 sendMessageReadReceipt 成功后,消息发送方收到已读回执通知或拉漫游时会更新此属 |
| isBroadcastMessage | Boolean | false | 对所有直播群广播消息,true 标识直播群广播消息(需要你购买旗舰版或企业版套餐) |
| isSupportExtension | Boolean | false | 是否支持消息扩展,true 支持 false 不支持(需要你购买旗舰版或企业版套餐) |
| revoker | String | '' | 消息撤回者的 userID,已废弃,推荐使用 revokerInfo。 |
| revokerInfo | Object | { userID, avatar, nick} | 消息撤回者信息。v3.1.2 起支持。 |
| revokeReason | String | '' | 消息撤回的原因。v3.1.2 起支持。 |
| hasRiskContent | Boolean | false | 图片、语音、视频消息是否被标记为有安全风险的消息,默认为 false。v3.1.2 起支持。只有在开通云端审核功能后才生效,云端审核开通流程请参见云端审核 – 快速开通。如果你发送的图片、语音、视频消息内容不合规,云端异步审核后 SDK 会触发 MESSAGE_MODIFIED 事件。 |