API

接口蓝图

参考 Atlas 的模块化接口组织,先把 FDE 学院的身份、课程、支付、课表、媒体、智慧大脑和智能体接口写清楚。

核心接口

V1 Web 版
POST/api/auth/login登录,返回用户、角色和访问令牌
GET/api/me当前用户、已购课程、学习状态
GET/api/learning/progress读取学员课时完成进度
POST/api/learning/complete标记课时完成并推进下一步学习
GET/api/courses两门课:初级课、高级课
POST/api/orders创建订单,绑定课程和套餐
GET/api/orders/status学员查询订单状态和继续支付链接
POST/api/payments/dulupay/create创建 Dulupay V1 支付链接,服务端 MD5 签名
POST/api/payments/notify支付结果回调,开通课程权限
GET/api/schedule课程表:课件、声音、真人小窗口和提问节点
POST/api/media/pptPPT 上传、转在线播放页、抽取逐页讲稿
POST/api/media/voiceover调用 MiniMax 声音克隆生成课程语音
POST/api/media/avatar绑定真人小窗口视频或生成口型同步片段
POST/api/agents/chat答疑、老师、学院三个智能体统一对话入口
GET/api/notifications学员通知列表:支付、学习、作业和反馈提醒
POST/api/notifications/read标记单条通知已读
GET/POST/api/student/settings学员身份、目标、学习偏好和通知配置
POST/api/assignments/submit提交作业,触发格式检查和初评
POST/api/assignments/publish-community把已提交作业发布到封闭社区作业帖
GET/api/community/topics封闭社区主题列表,按节点和权限返回
GET/api/community/topic查看社区主题详情和回复
POST/api/community/replies回复社区主题,进入问答和案例候选
POST/api/course-feedback学员课程反馈,写入后台大脑反馈库
GET/api/role-flows角色任务和角色交接闭环
GET/api/course-drafts查看由原始资料生成的课程草稿
POST/api/admin/uploads/process管理员把原始资料生成课程草稿
POST/api/admin/course-drafts/update管理员审核并更新课程草稿
POST/api/admin/course-drafts/publish管理员审核草稿并上架为课时和作业
GET/POST/api/admin/payment-config后台支付通道和人工确认配置
GET/api/admin/payment-events后台查看支付创建、回调和人工确认事件
POST/api/admin/lessons/update后台编辑课时和提问节点
GET/POST/api/admin/media-assets登记并查看 PPT、音频、真人小窗口资产
GET/POST/api/admin/ppt-outlines由课程草稿生成 PPT 大纲
POST/api/admin/ppt-outlines/update管理员审核并更新 PPT 页面结构
GET/POST/api/admin/lecture-scripts由 PPT 大纲生成逐页真人讲稿
POST/api/admin/lecture-scripts/update管理员审核并更新逐页讲稿
GET/POST/api/admin/voice-jobs创建 MiniMax 语音任务占位
POST/api/admin/voice-jobs/complete回填音频地址并同步到课时播放配置
GET/api/admin/users后台用户列表
GET/api/admin/orders后台订单列表
POST/api/admin/role-flows/close关闭已处理的角色任务或交接
POST/api/brain/import导入 PPT、Markdown、PDF 到 Obsidian 智慧大脑
GET/api/brain/search按课程页、问题和规则检索知识卡
GET/api/admin/models后台读取大模型、多模态和费用配置
GET/api/admin/overview后台总览:用户、订单、课程、上传和作业
POST/api/uploads上传原始课件、PDF、音频、图片和文档
GET/api/uploads查看原始资料上传列表

上传接口

multipart/form-data
curl -F "course_level=basic" \
  -F "module=需求拆解" \
  -F "source=self" \
  -F "file=@/path/to/你的课件.pptx" \
  http://fde.traceclaw.cn/api/uploads

课程表字段

LessonSchedule
{
  "lesson_id": "fde-basic-01",
  "title": "需求拆解方法",
  "ppt_url": "/media/slides/fde-basic-01/index.html",
  "voice_provider": "minimax",
  "voice_profile": "laojiang-course-voice",
  "audio_url": "/media/audio/fde-basic-01.mp3",
  "avatar_video_url": "/media/avatar/fde-basic-01.mp4",
  "ask_points": [3, 7, 12],
  "default_agent": "qa_agent"
}