## 1. 后端开发 ### 1.1 项目初始化 - [ ] 创建 Python 虚拟环境 - [ ] 创建 requirements.txt,包含 Flask、pymongo、dashscope、pyyaml 等依赖 - [ ] 创建项目目录结构(app/、routes/、services/、models/、utils/) ### 1.2 配置管理 - [ ] 实现 config.yaml 读取工具类 - [ ] 在 config.yaml 中添加 DashScope API Key 配置项 - [ ] 实现环境变量覆盖配置功能 ### 1.3 MongoDB 数据模型 - [ ] 创建视频文档模型(Video Model) - [ ] 字段:id、filename、file_path、upload_time、file_size、status - [ ] 创建视频分析结果模型(AnalysisResult Model) - [ ] 字段:video_id、analysis_type、content、created_at、fps - [ ] 创建视频总结模型(Summary Model) - [ ] 字段:video_id、summary_text、created_at - [ ] 创建视频对比模型(Comparison Model) - [ ] 字段:video_ids、comparison_result、created_at ### 1.4 视频上传服务 - [ ] 实现文件上传 API 端点(POST /api/videos/upload) - [ ] 实现文件验证(格式、大小限制) - [ ] 实现文件存储到 uploads/ 目录 - [ ] 实现视频元数据保存到 MongoDB ### 1.5 阿里云 DashScope 集成 - [ ] 实现 DashScope 客户端封装类 - [ ] 实现视频解析服务(调用 MultiModalConversation.call) - [ ] 实现 fps 参数配置(默认 2,可配置) - [ ] 实现错误处理和重试机制 ### 1.6 视频分析服务 - [ ] 实现视频内容解析 API(POST /api/videos/{video_id}/analyze) - [ ] 实现解析结果保存到 MongoDB - [ ] 实现解析状态跟踪(pending、processing、completed、failed) ### 1.7 视频总结服务 - [ ] 实现视频总结生成 API(POST /api/videos/{video_id}/summarize) - [ ] 实现总结提示词模板 - [ ] 实现总结结果保存到 MongoDB - [ ] 实现总结历史查询 ### 1.8 视频对比服务 - [ ] 实现视频对比 API(POST /api/videos/compare) - [ ] 实现多视频内容提取和对比逻辑 - [ ] 实现对比结果生成和保存 - [ ] 实现对比历史查询 ### 1.9 API 路由 - [ ] 创建视频相关路由(/api/videos/*) - [ ] 实现错误处理中间件 - [ ] 实现请求日志记录 - [ ] 实现 CORS 支持(用于前端访问) ## 2. 前端开发 ### 2.1 静态页面结构 - [ ] 创建 index.html 主页面 - [ ] 创建视频上传页面组件 - [ ] 创建视频列表页面组件 - [ ] 创建视频总结展示页面组件 - [ ] 创建视频对比页面组件 ### 2.2 前端功能实现 - [ ] 实现视频文件上传功能(使用 FormData 和 fetch API) - [ ] 实现上传进度显示 - [ ] 实现视频列表展示(从 API 获取) - [ ] 实现视频分析触发功能 - [ ] 实现视频总结展示 - [ ] 实现视频选择对比功能 - [ ] 实现对比结果展示 - [ ] 实现错误提示和加载状态 ### 2.3 样式和交互 - [ ] 设计响应式布局 - [ ] 实现现代化的 UI 样式 - [ ] 实现交互反馈(按钮状态、加载动画等) ## 3. 测试和文档 ### 3.1 API 文档 - [ ] 编写完整的 RESTful API 文档(Markdown 格式) - [ ] 包含所有端点的请求/响应示例 - [ ] 包含错误码说明 ### 3.2 测试 - [ ] 编写单元测试(视频处理服务) - [ ] 编写 API 集成测试 - [ ] 测试视频上传、解析、总结、对比的完整流程 ## 4. 部署准备 ### 4.1 环境配置 - [ ] 更新 .farmer.dev.json 配置(Python 应用) - [ ] 创建 Dockerfile(如需要) - [ ] 更新部署脚本 ### 4.2 文档 - [ ] 更新 README.md 说明项目结构和使用方法 - [ ] 添加环境变量配置说明