2025-12-02 18:54:14 +08:00

3.5 KiB
Raw Permalink Blame History

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 视频分析服务

  • 实现视频内容解析 APIPOST /api/videos/{video_id}/analyze
  • 实现解析结果保存到 MongoDB
  • 实现解析状态跟踪pending、processing、completed、failed

1.7 视频总结服务

  • 实现视频总结生成 APIPOST /api/videos/{video_id}/summarize
  • 实现总结提示词模板
  • 实现总结结果保存到 MongoDB
  • 实现总结历史查询

1.8 视频对比服务

  • 实现视频对比 APIPOST /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 说明项目结构和使用方法
  • 添加环境变量配置说明