跳到主要内容

课堂、成员与权限

以下方法位于课堂客户端 client。方法名使用 Node.js 写法;其他语言的对应命名见各语言指南。

方法与路由​

MethodHTTP
users.registerPOST /v1/users
auth.issueTokenLOCAL HS256 (eduskit-edu)
classrooms.createPOST /v1/classrooms
classrooms.startPOST /v1/classrooms/start
classrooms.endPOST /v1/classrooms/end
classrooms.members.addPOST /v1/classrooms/members
classrooms.members.listGET /v1/classrooms/members
classrooms.members.replaceStudentsPUT /v1/classrooms/members/students
classrooms.permissions.getGET /v1/classrooms/members/permissions
classrooms.permissions.setPOST /v1/classrooms/members/permissions
classrooms.permissions.clearDELETE /v1/classrooms/members/permissions
classrooms.coursewares.listGET /v1/classrooms/coursewares
classrooms.coursewares.bindPOST /v1/classrooms/coursewares
classrooms.coursewares.unbindDELETE /v1/classrooms/coursewares
app.getUiConfigGET /v1/app/ui-config
app.setUiConfigPUT /v1/app/ui-config

SDK 自动把标识写入请求:GET/DELETE 的课堂、用户和权限标识放 query,POST/PUT 的标识放 JSON body。DELETE 仍可能有 JSON body:清除权限需要 operatorEduUserId,解绑课件需要 coursewareIds。代理和网关需保留这些请求体。

创建课堂​

字段约束
name必填课堂名称
startsAtISO 8601;至少晚于当前时间 10 分钟
durationMinutes整数,5–480 分钟
teacherEduUserId同应用已注册用户;创建时自动成为老师
studentEduUserIds可选学生列表,不含主讲老师
joinPolicyinvite_only(默认)或 open_app
maxOnStage同时上台人数,1–16
videoOnlytrue 时不初始化课堂白板
recordModenone、classroom、mix
uiConfig创建时与应用 UI 配置合并,写入课堂快照

后台还会检查应用资源和套餐约束。classroomId、eduUserId 使用接口返回值;示例中的短名称不是有效平台 ID。

成员和权限示例​

以下代码接续 Node.js 客户端初始化,classroomId、studentId、teacherId 均取真实注册或创建结果:

await sdk.client.classrooms.members.add(classroomId, {
eduUserId: studentId,
role: 'student',
});
const members = await sdk.client.classrooms.members.list(classroomId);
await sdk.client.classrooms.permissions.set(classroomId, studentId, {
permission: 'whiteboard',
effect: 'grant',
operatorEduUserId: teacherId,
});
const permissions = await sdk.client.classrooms.permissions.get(classroomId, studentId);
await sdk.client.classrooms.permissions.clear(classroomId, studentId, 'whiteboard', {
operatorEduUserId: teacherId,
});

set(... effect: 'revoke') 写入拒绝覆盖,clear 删除覆盖并恢复角色或应用规则。replaceStudents(id, { eduUserIds }) 全量替换学生名单,传空数组表示清空学生,并非追加。

课件和 UI 配置​

coursewares.bind(id, { coursewareIds }) 绑定本应用已有课件;重复绑定幂等。unbind 只解除课堂绑定。课件转码任务 ID、白板 fileId 和课堂 coursewareId 是不同标识,不能互换。

app.setUiConfig({ uiConfig }) 修改应用 UI 默认配置。已创建课堂保留创建时的快照,不会随应用配置变化。

classrooms.start(id) 与 classrooms.end(id) 由业务系统在明确的开课、结课动作中调用。仅退出客户端应调用 leaveClassroom(),不会结束其他人的课堂。

应用业务与租户管理接口​

源码构建的 client 提供 50 个应用凭证 HTTP 路由,包含用户、课堂、课件库、直播素材与诊断。参数与返回结构见应用业务接口,完整流程见业务操作示例。独立的租户管理客户端 使用租户会话管理账号、应用、仪表盘和计费。新增方法需要对应版本的 server-api 与 SDK 源码构建;公开包 0.1.5 不包含这些新增方法。