Skip to main content

发消息

ChatMsgTypetext = 1 / file = 2 / pic = 3 / sound = 4
SDK 不传文件。 file / pic / sound 类型只是给消息打个标记, 实际内容要你自己上传(可以用 SDK 的预签名接口,见 资源与附件),然后把 URL 或元信息 序列化成字符串发出去。也就是说 msg 的结构由你和自己的客户端约定,SDK 不解析它。

收消息

data.uid可选的 —— 系统消息可能没有发送者。渲染前判空。

自定义消息

跟聊天分开的一条通道,用于业务自己的信令(比如投票、白板同步指令):
自定义消息只有接收事件,没有发送接口 —— 发送由业务后端负责。 与 SRTC 的 onCustomMessage 是同一个设计。需要客户端之间互发业务信令时,用 sendRoomChatMessage 配一个自定的 ChatMsgType 语义,或者走自己的后端。

禁言

对应事件:
输入框的可用性要同时看两个来源:房间级 RoomInfo.chatDisabled 和 自己的 MeetingUserInfo.chatDisabled。任一为 true 就该禁用。
被禁言时也可以举手申请(HandupType.chat),见举手

一个最小的聊天面板

ArkTS 的 @State 只观测第一层赋值 —— 消息列表永远用「建新数组再整体赋值」, this.messages.push(...) 不会刷新 UI。消息多了要注意截断(比如只留最近 200 条),否则每次都整体重建大数组会卡。

相关阅读