# 播课功能 ## 功能概述 管理员在课程编辑页点击"生成播课"按钮,触发 Coze 工作流生成综合播课音频。学员可在课程中心点击"播课"按钮播放。 ## 核心策略 **触发即可,Coze工作流直接写数据库** - 后端API只负责触发Coze工作流,立即返回 - Coze工作流生成音频后直接执行SQL更新数据库 - 前端刷新页面即可看到最新结果,无需轮询 ## 架构设计 1. **管理员触发**:课程编辑页点击"生成播课" 2. **后端触发**:调用 Coze API,立即返回 3. **Coze工作流**:生成音频 + 直接写数据库 4. **用户查看**:刷新页面查看结果 ## 技术要点 - 使用 `asyncio.to_thread()` 避免同步SDK阻塞 - Coze工作流配置MySQL连接(端口3307) - 数据库只需2个字段:`broadcast_audio_url`、`broadcast_generated_at` - 极简架构:无需后台任务、状态轮询、状态字段 ## 文档说明 - **Coze工作流运行API文档.md** - Coze API调用规范 - **播课功能API接口规范.md** - 后端API接口定义 - **播课功能技术方案.md** - 技术架构和实现细节 - **播课功能验收清单.md** - 功能验收标准 ## 数据库配置 Coze工作流连接生产环境数据库: ``` 主机:120.79.247.16 或 aiedu.ireborn.com.cn 端口:3307(容器映射端口) 数据库:kaopeilian 用户:root 密码:nj861021 ``` SQL更新语句: ```sql UPDATE courses SET broadcast_audio_url = '{mp3_url}', broadcast_generated_at = NOW(), updated_at = NOW() WHERE id = {course_id} ``` ## 验证状态 ✅ 已完成端到端联调 ✅ Coze工作流成功写入远程数据库 ✅ 无linter错误 ✅ 生产环境验证通过 --- **实施日期**: 2025-10-14 **最后更新**: 2025-10-14