跳到主要内容

客户端 API 与事件

本页使用 TypeScript 语义名称,具体签名按各平台指南调用。当前源码与发布版的区别见版本说明。

常用方法​

API含义
initialize / enterClassroom初始化与进课;Web 初始化直接接收课堂
startClass / endClass课堂上下课,受角色与状态约束
leaveClassroom / destroy退出本人 / 释放实例
getClassInfo读取生命周期、课堂信息与计时
getClassroomInteractionPolicy读取动作可用性与限制原因
setLocalAudioMuted / setLocalVideoMuted受理本地开关设备;false 表示请求打开
userRaiseHand / userCancelHand / userLeaveStage举手、取消举手、本人下台
inviteUserOnStage / approveUserOnStage / rejectUserOnStage / removeUserFromStage教师管理上下台
getOnStageUserList / getRaisedHandList读取台上和举手列表
getUserPermissionList / loadMemberPermissions读取本人权限 / 异步加载成员有效权限
sendImMessage / getImMessageList发送群文本 / 读取当前消息窗口
loadImMessageHistory / getImHistoryState加载历史消息 / 读取分页状态
getClassroomCourseware / getCoursewareManifest读取已绑定课件 / 异步加载 manifest

历史消息默认每页 50 条,limit 为 1–100;下一页使用返回的 nextCursor。getImMessageList() 只读取当前内存窗口,最多 200 条,不主动请求历史。课件只有 status === 'ready' 时才加载 manifest,不能在渲染主线程阻塞等待。

事件注册​

Web / 小程序使用 sdk.on,返回取消函数:

const unsubscribe = sdk.on('onStreamInfoChanged', (streams) => {
renderStreams(streams);
});
// 页面不再需要此订阅时:
unsubscribe();

Kotlin 使用 addStreamInfoChangedListener,Swift 使用 onStreamInfoChanged。destroy 会清理订阅;仍应避免在已卸载视图的回调中更新 UI。

API含义
onJoinSuccess后台和 IM 必要域就绪
onJoinProgress连接阶段与各能力域状态
onClassInfoChanged课堂信息与生命周期变化
onOnStageUsersChanged台上成员变化
onUserPermissionsChanged有效权限变化
onStreamInfoChanged本地或远端真实流状态变化
onImMessageReceived消息归并后的通知
onWhiteboardRecoveryRequested恢复后请求白板同步重载
onWhiteboardLiveStrokeReceived易失笔迹过程,不代表最终操作已提交
onError异步 SDK 错误

开设备不能在命令返回后立即显示为已开启,应等待 onStreamInfoChanged。老师关闭本地设备的专用回调也要在设备实际关闭后触发。

白板与教学工具​

官方 UI Kit 处理 DrawsKit 挂载和同步。Headless 宿主需要连接白板 Adapter、同步与恢复事件;sendWhiteboardSync 与 sendWhiteboardLiveStroke 主要面向该适配层。

源码构建通过 requestTeachingTools(requestJson) 提交教学工具请求,操作结果按请求 ID 在工具视图中关联。可用工具由服务端部署配置决定;教学小黑板暂未开放。各平台的接入要求见客户端 SDK 总览。