Message

Message

消息对象,用于描述一条消息具有的属性,如类型、消息的内容、所属的会话 ID 等。

Properties:
Name Type Default Description
ID String

消息 ID。从v2.18.0起,WebIM 与 NativeIM 消息的 ID 拼接规则一致。

type String

消息类型,具体如下:

类型 含义
TIM.TYPES.MSG_TEXT 文本消息
TIM.TYPES.MSG_IMAGE 图片消息
TIM.TYPES.MSG_SOUND 音频消息(已废弃,请使用 TIM.TYPES.MSG_AUDIO )
TIM.TYPES.MSG_AUDIO 音频消息
TIM.TYPES.MSG_VIDEO 视频消息
TIM.TYPES.MSG_FILE 文件消息
TIM.TYPES.MSG_CUSTOM 自定义消息
TIM.TYPES.MSG_MERGER 合并消息(v2.10.1起支持)
TIM.TYPES.MSG_LOCATION 位置消息(v2.15.0起支持)
TIM.TYPES.MSG_FACE 表情消息
TIM.TYPES.MSG_GRP_TIP 群提示消息
TIM.TYPES.MSG_GRP_SYS_NOTICE 群系统通知消息
payload Object

消息的内容,具体如下:

conversationID String

消息所属的会话 ID

conversationType String

消息所属会话的类型,具体如下:

类型 含义
TIM.TYPES.CONV_C2C C2C(Client to Client, 端到端) 会话
TIM.TYPES.CONV_GROUP GROUP(群组) 会话
TIM.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 标识被撤回的消息(v2.4.0起支持)

priority String TIM.TYPES.MSG_PRIORITY_NORMAL

消息优先级,用于群聊(v2.4.2起支持)

nick String

消息发送者的昵称(v2.6.0起,在 AVChatRoom 内支持,需提前调用 updateMyProfile 设置)

avatar String

消息发送者的头像地址(v2.6.0起,在 AVChatRoom 内支持,需提前调用 updateMyProfile 设置)

isPeerRead Boolean false

C2C 消息对端是否已读,true 标识对端已读。更新时机:

  • 对端调用 setMessageRead 将会话下所有消息上报已读,成功后会话未读数清零(v2.7.0起支持)
nameCard String

非直播群消息发送者的群名片(v2.9.0起支持,也可称之为消息发送者的群昵称),需提前调用 setGroupMemberNameCard 设置

atUserList Array

群聊时此字段存储被 at 的群成员的 userID(v2.9.0起支持)

cloudCustomData String

消息自定义数据(云端保存,会发送到对端,程序卸载重装后还能拉取到,v2.10.2起支持)

isDeleted Boolean false

是否被删除的消息,true 标识被删除的消息(v2.12.0起支持)

isModified Boolean false

是否被修改过,true 标识被修改过的消息(v2.12.1起支持)

needReadReceipt Boolean false

是否需要已读回执,true 标识需要(v2.18.0起支持,仅用于群消息,需要您购买旗舰版套餐)

readReceiptInfo Object

消息已读回执信息(v2.18.0起支持群消息,v2.25.0起支持C2C消息)

Properties
Name Type Description
readCount Number | undefined

群消息已读数,可通过调用 getMessageReadReceiptList 查询;
如果想要查询哪些群成员已读了消息,可调用 getGroupMessageReadMemberList

unreadCount Number | undefined

群消息未读数,可通过调用 getMessageReadReceiptList 查询

isPeerRead Boolean | undefined

C2C消息对端是否已发送已读回执,消息接收方调用 sendMessageReadReceipt 成功后,消息发送方收到已读回执通知或拉漫游时会更新此属性(v2.25.0起支持)

isBroadcastMessage Boolean

对所有直播群广播消息,true 标识直播群广播消息(v2.21.0起支持,需要您购买旗舰版套餐)

isSupportExtension Boolean

是否支持消息扩展,true 支持 false 不支持(v2.25.0起支持,需要您购买旗舰版套餐)

revoker String | null

消息撤回者的 userID,v2.26.0起支持

Type Definitions

TextPayload

Properties:
Name Type Description
text String

文本消息内容

文本消息的 payload 结构

ImagePayload

Deprecated:
  • sizeType v2.8.0起废弃,请使用 type 代替
Properties:
Name Type Description
uuid String

图片唯一标识

imageFormat Number

图片格式类型,JPG/JPEG = 1,GIF = 2,PNG = 3,BMP = 4,其他 = 255

imageInfoArray Array.<Object>

图片信息

Properties
Name Type Description
width Number

宽度

height Number

高度

url String

图片地址,可用于渲染

size Number

图片大小,单位:Byte

type Number
含义
0 原图
1 198p压缩图
2 720p压缩图

图片消息的 payload 结构

AudioPayload

Properties:
Name Type Description
uuid String

唯一标识

url String

音频地址,可用于播放

size Number

文件大小,单位:Byte

second Number

音频时长,单位:秒

音频消息的 payload 结构

VideoPayload

Properties:
Name Type Description
videoFormat String

视频文件的格式

videoSecond Number

视频文件的时长,单位秒,整型(Web 端创建视频消息时不支持获取视频时长,videoSecond 为0)

videoSize Number

视频文件大小,单位:Byte

videoUrl String

视频文件的地址,可用于播放

videoUUID String

video 唯一标识

thumbWidth Number

视频封面图宽度(已废弃,请使用 snapshotWidth)

snapshotWidth Number

视频封面图宽度(v2.17.0起支持)

thumbHeight Number

视频封面图高度(已废弃,请使用 snapshotHeight)

snapshotHeight Number

视频封面图高度(v2.17.0起支持)

thumbUrl String

视频封面图地址(已废弃,请使用 snapshotUrl)

snapshotUrl String

视频封面图地址,可用于渲染(v2.17.0起支持,上传插件需要使用 tim-upload-plugin

视频消息的 payload 结构

FilePayload

Properties:
Name Type Description
uuid String

唯一标识

fileName String

文件名

fileUrl String

文件地址

fileSize Number

文件大小,单位:Byte

文件消息的 payload 结构

CustomPayload

Properties:
Name Type Description
data String

自定义消息的 data 字段

description String

自定义消息的 description 字段

extension String

自定义消息的 extension 字段

自定义消息的 payload 结构

MergerPayload

Properties:
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

合并消息的 payload 结构

LocationPayload

Properties:
Name Type Description
description String

相关描述信息

longitude Number

经度

latitude Number

纬度

位置消息的 payload 结构

FacePayload

Properties:
Name Type Description
index Number

表情索引,用户自定义

data String

额外数据

表情消息的 payload 结构

GroupTipPayload

Properties:
Name Type Description
groupJoinType Number

加群类型,具体如下:

含义
0 默认值,表示该行为不是加群操作
1 申请加群
2 邀请加群
operatorID String

执行该操作的用户 ID

operationType Number

操作类型,具体如下:

操作类型 含义
TIM.TYPES.GRP_TIP_MBR_JOIN 1 有成员加群
TIM.TYPES.GRP_TIP_MBR_QUIT 2 有群成员退群
TIM.TYPES.GRP_TIP_MBR_KICKED_OUT 3 有群成员被踢出群
TIM.TYPES.GRP_TIP_MBR_SET_ADMIN 4 有群成员被设为管理员
TIM.TYPES.GRP_TIP_MBR_CANCELED_ADMIN 5 有群成员被撤销管理员
TIM.TYPES.GRP_TIP_GRP_PROFILE_UPDATED 6 群组资料变更
TIM.TYPES.GRP_TIP_MBR_PROFILE_UPDATED 7 群成员资料变更,例如:群成员被禁言
TIM.TYPES.GRP_TIP_BAN_AVCHATROOM_MEMBER 10 封禁直播群群成员(v2.22.0起支持)
TIM.TYPES.GRP_TIP_UNBAN_AVCHATROOM_MEMBER 11 解封直播群群成员(v2.22.0起支持)
userIDList Array.<String>

相关的 userID 列表

newGroupProfile Object

若是群资料变更,该字段存放变更的群资料

Properties
Name Type Description
muteAllMembers Boolean

true - 群成员全体禁言;false - 取消群成员全体禁言

groupCustomField Array.<Object>

若是群自定义字段变更,该字段存放变更的群自定义字段键值对(v2.6.0起支持)

memberList Array.<Object>

当群成员被禁言时,可在该字段中拿到相关信息(v2.17.0起,可在该字段获取加入群或者退出群的群成员的昵称、头像等信息)

Properties
Name Type Description
userID String

群成员 userID

muteTime Number

被禁言的时长,单位:秒

nick String

群成员的个人昵称(v2.17.0起支持)

avatar String

群成员的个人头像(v2.17.0起支持)

duration String

封禁时长,单位:秒(v2.22.0起支持)

reason String

封禁原因(v2.22.0起支持)

群提示消息的 payload 结构。系统会在恰当的时机,向全体群成员发出群提示消息。例如:有群成员退群/进群,系统会给所有群成员发对应的群提示消息。

GroupSystemNoticePayload

Properties:
Name Type Description
operatorID String

执行该操作的用户 ID

operationType Number

操作类型,具体如下:

描述 接收对象
1 有用户申请加群 群管理员/群主接收
2 申请加群被同意 申请加群的用户接收
3 申请加群被拒绝 申请加群的用户接收
4 被踢出群组 被踢出的用户接收
5 群组被解散 全体群成员接收
6 创建群组 创建者接收
7 邀请加群 被邀请者接收
8 退群 退群者接收
9 设置管理员 被设置方接收
10 取消管理员 被取消方接收
11 群已被回收 全员接收,不展示
12 收到加群邀请,被邀请者需要同意或者拒绝 被邀请者接收
13 邀请他人加群,被他人同意 邀请发起者接收
14 邀请他人加群,被他人拒绝 邀请发起者接收
15 已读上报多终端同步通知 只有上报人自己收到
20 群消息提醒类型多终端、多实例同步通知(v2.21.0起支持) setMessageRemindType 的调用方接收
21 封禁直播群群成员 被封禁的群成员接收
22 解封直播群群成员 被封禁的群成员接收
23 普通群成员邀请用户进群 群管理员/群主接收
255 用户自定义通知 默认全员接收
groupProfile Object

相关的群组资料

userDefinedField String

用户自定义字段。使用 RestAPI 发送自定义通知时,可在该属性值中拿到自定义通知的内容。

handleMessage Object

处理的附言。例如:user1 申请加入 group1 时,若进群需要验证,且 user1 填写了申请加群的附言。则 group1 的管理员会在相应群系统通知中看到该字段。

messageRemindType String

消息提醒类型(v2.21.0起支持)

  • TIM.TYPES.MSG_REMIND_ACPT_AND_NOTE - SDK 接收消息并通知接入侧(抛出 收到消息事件),接入侧做提示
  • TIM.TYPES.MSG_REMIND_ACPT_NOT_NOTE - SDK 接收消息并通知接入侧(抛出 收到消息事件),接入侧不做提示
  • TIM.TYPES.MSG_REMIND_DISCARD - SDK 拒收消息

群系统通知的 payload 结构。系统会在恰当的时机,向特定用户发出群系统通知。例如:user1 被踢出群组,系统会给 user1 发送对应的群系统消息。