Class: IMMessage

IMMessage


new IMMessage()

IM 消息

Properties:
Name Type Argument Description
scene String

场景

from String

消息发送方, 帐号

fromNick String

消息发送方的昵称

fromClientType String

发送方的设备类型

fromDeviceId String

发送端设备id

to String

消息接收方, 帐号或群id

time Number

时间戳

userUpdateTime Number

发送方信息更新时间

type String

消息类型

sessionId String

消息所属的会话的ID

target String

聊天对象, 账号或者群id

flow String

消息的流向

  • 'in'表示此消息是收到的消息
  • 'out'表示此消息是发出的消息
status String

消息发送状态

  • 'sending' 发送中
  • 'success' 发送成功
  • 'fail' 发送失败
text String <optional>

文本消息的文本内容, 请参考发送文本消息

file Object <optional>

文件消息的文件对象, 具体字段请参考图片对象音频对象视频对象文件对象, 请参考发送文件消息

geo Object <optional>

地理位置消息的地理位置对象, 请参考发送地理位置消息

tip String <optional>

提醒消息的内容, 请参考发送提醒消息

content String <optional>

自定义消息的消息内容, 开发者可以自行扩展, 建议封装成JSON格式字符串, 请参考发送自定义消息

attach Object <optional>

群通知消息的附加信息,
参考群通知消息的类型来查看不同类型的群通知消息对应的附加信息

idClient String

SDK生成的消息id, 在发送消息之后会返回给开发者, 开发者可以在发送消息的结果回调里面根据这个ID来判断相应消息的发送状态, 到底是发送成功了还是发送失败了, 然后根据此状态来更新页面的UI。如果发送失败, 那么可以重新发送此消息

idServer String <optional>

服务器用于区分消息用的ID, 用于获取历史消息获取包含关键词的历史消息, 此字段可能没有, 所以开发者应该使用idClient来唯一标识消息

isMuted Boolean

该消息在接收方是否应该被静音

resend Boolean

是否是重发的消息

custom String <optional>

扩展字段

  • 推荐使用JSON格式构建, 非JSON格式的话, Web端会正常接收, 但是会被其它端丢弃
pushContent String <optional>

自定义推送文案

pushPayload String <optional>

自定义的推送属性

  • 推荐使用JSON格式构建, 非JSON格式的话, Web端会正常接收, 但是会被其它端丢弃
apns Object <optional>

特殊推送选项, 只在群会话中使用

Properties
Name Type Argument Description
accounts Array.<String> <optional>

需要特殊推送的账号列表, 此字段不存在的话表示推送给当前会话内的所有用户

content String <optional>

需要特殊推送的文案

forcePush String <optional>

是否强制推送, true 表示即使推送列表中的用户屏蔽了当前会话(如静音), 仍能够推送当前这条内容给相应用户

localCustom String <optional>

本地自定义扩展字段

isHistoryable Boolean

是否存储云端历史

isRoamingable Boolean

是否支持漫游

isSyncable Boolean

是否支持发送者多端同步

cc Boolean

是否支持抄送

isPushable Boolean

是否需要推送

isOfflinable Boolean

是否要存离线

isUnreadable Boolean

是否计入消息未读数

isReplyMsg Boolean

是否为应答消息(用于机器人等类似场景等应答消息内容)

tempTeamMemberCount Integer

群已读消息快照大小(即消息发送时的群人数-1)

needPushNick Boolean

是否需要推送昵称

isLocal Boolean

是否是本地消息, 请查阅发送文本消息

replyMsgFromAccount String

被回复消息的发送者账号

replyMsgToAccount String

被回复消息的接受者账号

replyMsgTime Number

被回复消息的时间

replyMsgIdServer String

被回复消息的idServer

replyMsgIdClient String

被回复消息的idClient

threadMsgFromAccount String

thread消息的发送者账号

threadMsgToAccount String

thread消息的接受者账号

threadMsgTime Number

thread消息的时间

threadMsgIdServer String

thread消息的idServer

threadMsgIdClient String

thread消息的idClient

delete Boolean

表该消息是否已被撤回或单向删除,获取thread消息列表时会用到

callbackExt String

服务器第三方回调的扩展字段

subType Integer

开发者自定义的消息子类型,格式为大于0的整数

env String

环境变量,用于指向不同的抄送、第三方回调等配置

Members


<static, readonly> attach :String

群通知消息

  • 群通知消息是消息的一种, 请参考消息类型, 某些群操作后所有群成员会收到一条相应的群通知消息
  • 群通知消息有一个字段attach包含了额外的信息, attach有一个字段type来标识群通知消息的类型

    • 'updateTeam' (更新群)
    • 'addTeamMembers' (拉人入群)
      • 普通群, 拉人入群后, 所有群成员会收到一条类型为'addTeamMembers'群通知消息。此类群通知消息的from字段的值为拉人的人的帐号,to字段的值为对应的群ID,attach有一个字段team的值为对应的[群对象](#群对象),attach有一个字段accounts的值为被拉的人的帐号列表,attach有一个字段members`的值为被拉的群成员列表。
      • 被邀请的群成员在有人说话后才能看到该, 而且会先收到一条类型为'addTeamMembers'群通知消息, 然后会收到其它群消息
    • 'removeTeamMembers' (踢人出群)
    • 'acceptTeamInvite' (接受入群邀请)
      • 高级群的群主和管理员在邀请成员加入群(通过操作创建群拉人入群)之后, 被邀请的人会收到一条类型为'teamInvite'系统通知, 此类系统通知的from字段的值为邀请方的帐号, to字段的值为对应的群ID, 此类系统通知的attach有一个字段team的值为被邀请进入的, 被邀请的人可以选择接受邀请或者拒绝邀请。
        • 如果接受入群邀请, 那么该群的所有群成员会收到一条类型为'acceptTeamInvite'群通知消息, 此类群通知消息的from字段的值为接受入群邀请的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的群对象, attach有一个字段members的值为接收入群邀请的群成员列表。
        • 如果拒绝入群邀请, 那么邀请你的人会收到一条类型为'rejectTeamInvite'系统通知, 此类系统通知的from字段的值为拒绝入群邀请的人的帐号, to字段的值为对应的群ID。
    • 'passTeamApply' (通过入群申请)
      • 用户可以主动申请加入高级群, 目标群的群主和管理员会收到一条类型为'applyTeam'系统通知, 此类系统通知的from字段的值为申请方的帐号, to字段的值为对应的群ID, 高级群的群主和管理员在收到入群申请后, 可以选择通过或者拒绝入群申请。
        • 如果通过入群申请, 那么该群的所有群成员会收到一条类型为'passTeamApply'群通知消息, 此类群通知消息的from字段的值为通过入群申请的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的群对象, attach有一个字段account包含了申请方的帐号, attach有一个字段members的值为被通过申请的群成员列表。
        • 如果拒绝入群申请, 那么申请人会收到一条类型为'rejectTeamApply'系统通知, 此类系统通知的from字段的值为拒绝方的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的
    • 'addTeamManagers' (添加群管理员)
      • 添加群管理员后, 所有群成员会收到一条类型为'addTeamManagers'群通知消息。此类群通知消息的from字段的值为添加群管理员的人的帐号, to字段的值为对应的群ID, attach有一个字段accounts的值为被加为管理员的帐号列表, attach有一个字段members的值为被加为管理员的群成员列表。
    • 'removeTeamManagers' (移除群管理员)。
      • 移除群管理员后, 所有群成员会收到一条类型为'removeTeamManagers'群通知消息。此类群通知消息的from字段的值为移除群管理员的人的帐号, to字段的值为对应的群ID, attach有一个字段accounts的值为被移除的管理员的帐号列表, attach有一个字段members的值为被移除管理员的群成员列表。
    • 'leaveTeam' (主动退群)
    • 'dismissTeam' (解散群)
    • 'transferTeam' (转让群)
      • 转让群后, 所有群成员会收到一条类型为'transferTeam'群通知消息。此类群通知消息的from字段的值为转让群的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的群对象, attach有一个字段account的值为为新群主的帐号, attach有一个字段members的值为包含新旧群主的群成员列表。
    • 'updateTeamMute' (更新群成员禁言状态)

      以下是超大群的群通知消息

    • 'updateSuperTeam' (更新超大群)
    • 'addSuperTeamMembers' (拉人入超大群)
    • 'removeSuperTeamMembers' (踢人出超大群)
    • 'leaveSuperTeam' (主动退出超大群)
    • 'dismissSuperTeam' (解散超大群)
    • 'transferSuperTeam' (转让超大群)
      • 调用服务端API转让群后, 所有群成员会收到一条类型为'transferSuperTeam'群通知消息。此类群通知消息的from字段的值为转让群的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的群对象, attach有一个字段account的值为为新群主的帐号, attach有一个字段members的值为包含新旧群主的群成员列表。
    • 'addSuperTeamManagers' (添加超大群管理员)
      • 添加群管理员后, 所有群成员会收到一条类型为'addSuperTeamManagers'群通知消息。此类群通知消息的from字段的值为添加群管理员的人的帐号, to字段的值为对应的群ID, attach有一个字段accounts的值为被加为管理员的帐号列表, attach有一个字段members的值为被加为管理员的群成员列表。
    • 'removeSuperTeamManagers' (移除超大群管理员)。
      • 移除群管理员后, 所有群成员会收到一条类型为'removeSuperTeamManagers'群通知消息。此类群通知消息的from字段的值为移除群管理员的人的帐号, to字段的值为对应的群ID, attach有一个字段accounts的值为被移除的管理员的帐号列表, attach有一个字段members的值为被移除管理员的群成员列表。
    • 'updateSuperTeamMembersMute' (更新超大群成员禁言状态)
      • 更新群成员禁言状态后, 所有群成员会收到一条类型为'updateSuperTeamMembersMute'群通知消息。此类群通知消息的from字段的值为操作方, to字段的值为对应的群ID, attach有一个字段team的值为对应的群对象, attach有一个字段account的值为被禁言的帐号, attach有一个字段members的值为被禁言的群成员列表。
    • 'passSuperTeamApply' (同意入群申请)
      • 用户可以主动申请加入超大群, 目标群的群主和管理员会收到一条类型为'applySuperTeam'系统通知, 此类系统通知的from字段的值为申请方的帐号, to字段的值为对应的群ID, 高级群的群主和管理员在收到入群申请后, 可以选择通过或者拒绝入群申请。
        • 如果通过入群申请,那么该群的所有群成员会收到一条类型为'passSuperTeamApply'群通知消息, 此类群通知消息的from字段的值为通过入群申请的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的超大群对象, attach有一个字段account包含了申请方的帐号, attach有一个字段members的值为被通过申请的群成员列表。
        • 如果拒绝入群申请,那么申请人会收到一条类型为'rejectSuperTeamApply'系统通知, 此类系统通知的from字段的值为拒绝方的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的超大群
    • 'acceptSuperTeamInvite' (接收入群邀请)
      • 超大群的群主和管理员在邀请成员加入群(通过操作创建群拉人入群)之后, 被邀请的人会收到一条类型为'superTeamInvite'系统通知, 此类系统通知的from字段的值为邀请方的帐号, to字段的值为对应的群ID, 此类系统通知的attach有一个字段team的值为被邀请进入的超大群, 被邀请的人可以选择接受邀请或者拒绝邀请。
        • 如果接受入群邀请, 那么该群的所有群成员会收到一条类型为'acceptSuperTeamInvite'群通知消息, 此类群通知消息的from字段的值为接受入群邀请的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的超大群对象, attach有一个字段members的值为接收入群邀请的群成员列表。
        • 如果拒绝入群邀请, 那么邀请你的人会收到一条类型为'rejectSuperTeamInvite'系统通知, 此类系统通知的from字段的值为拒绝入群邀请的人的帐号, to字段的值为对应的群ID。
  • 如果attachaccount或者accounts字段, 那么attach的字段users包含这些账号对应的用户名片

  • 更新群昵称不会收到群通知消息, 所有其它在线的群成员会收到初始化SDK时传入的onupdateteammember回调或onUpdateSuperTeamMember回调, 请参考修改自己的超大群属性修改自己的群属性修改别人的群昵称
Type:
  • String

<static, readonly> scene :String

场景

  • 'p2p' (单人聊天)
  • 'team' (群聊)
  • 'superTeam' (超大群聊天)
Type:
  • String

<static, readonly> type :String

消息类型

  • 'text' (文本)
  • 'image' (图片)
  • 'audio' (音频)
  • 'video' (视频)
  • 'file' (文件)
  • 'geo' (地理位置)
  • 'custom' (自定义消息)
  • 'tip' (提醒消息)
  • 'robot' (机器人消息)
    • 提醒消息用于会话内的状态提醒,如进入会话时出现的欢迎消息,或者会话命中敏感词后的提示消息等等.
  • 'notification' (群通知消息)
    • 某些群操作后所有群成员会收到一条相应的群通知消息, 详细介绍请参考群通知消息的类型
    • 此类消息不会计入未读数
Type:
  • String