EventType 枚举(Electron IMLib)
事件类型枚举:共 16 个取值,定义来自 sdk-imlib.json → capabilityModel.events(全部事件)。
基本信息
| 项 | 值 |
|---|---|
| 枚举 | EventType |
| 取值数 | 16 |
| 本平台常量名 | Events |
| IDL 来源 | sdk-imlib.json → capabilityModel.events(全部事件) |
| 跨端一致性 | 取值跨端一致;常量名与成员名按平台绑定 |
| 平台状态 | 已交付 |
枚举常量摘要
| 事件 | 本平台常量 | 载荷 | 说明 |
|---|---|---|---|
CONNECTING | Events.CONNECTING | {attempt:int} | 连接建立中:每次建连/重连尝试时触发,载荷含重试次数 attempt。 |
CONNECTED | Events.CONNECTED | {userId:string, sessionId?:string} | 连接建立成功:收到服务端 hello 之后触发,可开始发送请求。 |
DISCONNECT | Events.DISCONNECT | {code:int, reason:string} | 连接断开:主动断开、鉴权失败或放弃重连时触发。 |
SUSPEND | Events.SUSPEND | {code:int, reason:string} | 连接挂起:异常断开后 SDK 进入指数退避重连,期间业务请求会失败。 |
MESSAGES | Events.MESSAGES | {messages:Message[]} | 收到消息:在线消息与离线补发消息都通过该事件下发,载荷为 Message 列表。 |
CONVERSATION | Events.CONVERSATION | {conversation:Conversation} | 会话变更:未读数、置顶、提醒级别、草稿或最后一条消息变化时触发。 |
MESSAGE_RECALLED | Events.MESSAGE_RECALLED | {message:Message} | 消息被撤回:收到服务端撤回帧,载荷为被撤回的 Message。 |
READ_RECEIPT | Events.READ_RECEIPT | ReadReceipt | 已读回执:收到对方已读上报,载荷为 ReadReceipt。 |
TYPING | Events.TYPING | {conversationType:ConversationType,targetId:string,userId:string,typing:bool,timestamp:int64} | 输入状态:收到“正在输入”状态帧。 |
FRIEND_EVENT | Events.FRIEND_EVENT | {kind:FriendEventKind,request?:FriendRequest,fromUserId?:string,toUserId?:string,timestamp:int64} | 好友事件:好友请求、接受、拒绝等事件,载荷含 FriendRequest。 |
CHATROOM_EVENT | Events.CHATROOM_EVENT | {chatroomId:string,kind:ChatroomEventKind,userId?:string,onlineCount?:uint32,chatroom?:Chatroom,timestamp:int64} | 聊天室事件:成员加入/退出/被移出、成员变更、聊天室销毁。 |
KICKED | Events.KICKED | {code:int,reason:string} | 被踢下线:多端互踢或账号封禁,SDK 不再自动重连。 |
MESSAGE_REACTION_CHANGED | Events.MESSAGE_REACTION_CHANGED | {messageId:string,conversationType:ConversationType,targetId:string,reactionId:string,operation:added|removed|cleared,userId:string,reactionTime:int64,totalCount:uint32,users:string[]?} | — |
MESSAGE_EXPANSION_CHANGED | Events.MESSAGE_EXPANSION_CHANGED | {messageId:string,conversationType:ConversationType,targetId:string,updated:Record<string,string>?,removed:string[]?,timestamp:int64} | — |
STREAM_MESSAGE_CHANGED | Events.STREAM_MESSAGE_CHANGED | {streamId:string,messageId:string,conversationType:ConversationType,targetId:string,senderId:string,delta:string,seq:uint32,text:string,status:streaming|ended,complete:bool,timestamp:int64} | — |
PRESENCE_CHANGED | Events.PRESENCE_CHANGED | {userId:string,online:bool,lastSeenAt:int64,timestamp:int64,reason:connect|disconnect|kick|deactivate} | — |
使用说明
addEventListener / removeEventListener 的事件名取值;事件载荷与触发时机见监听器类页面。
事件通过 addEventListener(event, handler) 返回取消函数 / removeEventListener(event, handler) 注册;事件载荷与触发时机见 Events。
示例
JavaScript
const handler = (payload) => console.log(payload);
client.addEventListener(Events.MESSAGES, handler);
client.removeEventListener(Events.MESSAGES, handler);