EduOpenAI Core 文档/发布课件到网校
发布课件到网校
一键发布课堂到网校,课时 iframe 嵌入播放
管理后台「发布到智训宝」区块(edu-edusoho-sync 插件)提供一键发布能力:课堂快照 → OSS 静态产物 → 智训宝课时。
发布流程
- 在 /admin 选择已生成完成的课堂,点击「发布」
- 插件导出课堂为 OSS 静态产物(index.html / data.json / manifest.json,私有桶预签名 10 年)
- 通过智训宝 API 创建/更新课时并同步引用关系
- 在网校课时中嵌入 iframe 播放链接(CSP frame-ancestors 白名单放行)
播放方式
- iframe 嵌入:CSP
frame-ancestors白名单(ALLOWED_FRAME_ANCESTORS 构建时生效) - URL 令牌鉴权:请求携带
?access_code={ACCESS_CODE}与 env 一致即放行(跨域 iframe 不依赖 Cookie) - 防盗链白名单:播放校验 + OSS Referer 配置双重防线
相关配置
.env
# 生产环境(www.eduopenai.com 上线后)
CORE_BASE_URL=https://maic.eduopenai.com
EDUSOHO_API_BASE=https://learn.eduopenai.com/api
EDUSOHO_AUTH_TOKEN=<智云提供的联调 token>
# 智云 dev 网校(联调环境,切换时注释生产行)
# EDUSOHO_API_BASE=http://dev.learn.eduopenai.com/api环境切换(dev / 生产)
| 环境 | EDUSOHO_API_BASE | 说明 |
|---|---|---|
| dev(联调) | http://dev.learn.eduopenai.com/api | 智云网校侧 dev 发布接口,实测可用(T-20260808 智云已配合验证) |
| 生产 | https://learn.eduopenai.com/api | 智训宝Pro 生产网校接口,部署 www.eduopenai.com 时使用 |
注意
82 机解析注意:maic 开发机(82 机)调用 dev 接口时,须确保
dev.learn.eduopenai.com 能解析到智云 dev 网校服务器(必要时在 /etc/hosts 手动添加解析);解析错误时请求会落到错误后端,表现为空 200 / 超时,并非发布失败报错。请求头要求
所有智训宝 API 请求必须携带 Accept: application/vnd.edusoho.v2+json;缺失时请求会落入旧版 API,返回空 200(响应成功但无数据),联调时表现为「接口通了但没内容」。
示例
curl -X POST 'http://dev.learn.eduopenai.com/api/plugins/edu_interactive_classroom/tasks' \
-H 'Accept: application/vnd.edusoho.v2+json' \
-H 'Content-Type: application/json' \
-d '{...}'
# 生产环境将域名切换为 https://learn.eduopenai.com/api提示
edu-edusoho-sync 插件内部已默认携带该 Accept 头(见
plugins/edu-edusoho-sync/lib/);仅自建调用方/脚本需自行添加。接口契约
- 播放与校验接口:
.trae/documents/智训宝Pro对接技术方案.md§9.2 ——/api/edu/v1播放校验与调用契约(与智云共同定稿 v2.0) - 课时创建/更新接口:智训宝
/api/plugins/edu_interactive_classroom/tasks—— 发布任务接口,创建/更新课时并同步引用关系 - 接口契约变更须智云/巧匠双方确认后再实施(不允许单方定稿)
注意
生产环境(www.eduopenai.com)上线后,请将 CORE_BASE_URL、EDUSOHO_API_BASE 与 ALLOWED_FRAME_ANCESTORS 同步切换为生产域名。
提示
非智训宝系的其他网校/自建站点如何接入播放?参见「其他网校域名接入」(注册域名 → 白名单审核 → iframe/直链调用)。
