Message

Message

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

Properties:
Name Type Default Description
ID String

消息 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_GEO 位置消息
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 标识对端已读(v2.7.0起支持)

nameCard String

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

atUserList Array

群聊时此字段存储被 at 的群成员的 userID(v2.9.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

视频文件的时长,单位秒,整型

videoSize Number

视频文件大小,单位:Byte

videoUrl String

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

videoUUID String

video 唯一标识

thumbUUID String

thumb 唯一标识

thumbSize Number

缩略图大小,单位:Byte

thumbWidth Number

缩略图宽度

thumbHeight Number

缩略图高度

thumbUrl String

缩略图地址,可用于渲染

视频消息的 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 结构

GeoPayload

Properties:
Name Type Description
description String

相关描述信息

latitude Number

纬度

longitude Number

经度

位置消息的 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 群成员资料变更,例如:群成员被禁言
userIDList Array.<String>

相关的 userID 列表

newGroupProfile Object

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

Properties
Name Type Description
groupCustomField Array.<Object>

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

memberList Array.<Object>

当群成员被禁言时,可在该字段中拿到相关信息

Properties
Name Type Description
userID String
muteTime Number

被禁言的时长,单位:秒

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

GroupSystemNoticePayload

Properties:
Name Type Description
operatorID String

执行该操作的用户 ID

operationType Number

操作类型,具体如下:

描述 接收对象
1 有用户申请加群 群管理员/群主接收
2 申请加群被同意 申请加群的用户接收
3 申请加群被拒绝 申请加群的用户接收
4 被踢出群组 被踢出的用户接收
5 群组被解散 全体群成员接收
6 创建群组 创建者接收
7 邀请加群 被邀请者接收
8 退群 退群者接收
9 设置管理员 被设置方接收
10 取消管理员 被取消方接收
255 用户自定义通知 默认全员接收
groupProfile Object

相关的群组资料

userDefinedField String

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

handleMessage Object

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

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