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-datacurl -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"
}