105 lines
3.5 KiB
Markdown
105 lines
3.5 KiB
Markdown
## 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 说明项目结构和使用方法
|
||
- [ ] 添加环境变量配置说明
|
||
|