Files
ViGent2/Docs/DevLogs/Day18.md
Kevin Wong be6a3436bb 更新
2026-02-05 12:03:55 +08:00

3.0 KiB
Raw Blame History

Day 18 - 后端模块化与规范完善

🧱 后端模块化重构 (10:10)

内容

  • API 路由统一透传到 modules/*,路由仅负责参数/权限与响应
  • 视频生成逻辑下沉 workflow,任务状态抽到 task_store
  • TaskStore 支持 Redis 优先、不可用时自动回退内存
  • Supabase 访问抽到 repositories/*deps/auth/admin 全面改造

涉及文件

  • backend/app/modules/videos/router.py
  • backend/app/modules/videos/workflow.py
  • backend/app/modules/videos/task_store.py
  • backend/app/modules/videos/service.py
  • backend/app/modules/*/router.py
  • backend/app/repositories/users.py
  • backend/app/repositories/sessions.py
  • backend/app/core/deps.py

统一响应与异常处理 (11:00)

内容

  • 统一 JSON 响应结构:success/message/data/code
  • 全局异常处理中将 detail 转换为 message

涉及文件

  • backend/app/core/response.py
  • backend/app/main.py

🎞️ 素材重命名与存储操作 (11:40)

内容

  • 新增素材重命名接口 PUT /api/materials/{material_id}
  • Storage 增加 move_file 以支持重命名/移动

涉及文件

  • backend/app/modules/materials/router.py
  • backend/app/services/storage.py

🧾 平台列表调整 (12:10)

内容

  • 平台顺序调整为:抖音 → 微信视频号 → B站 → 小红书
  • 移除快手配置

涉及文件

  • backend/app/services/publish_service.py

📘 后端开发规范补充 (12:30)

内容

  • 新增 BACKEND_DEV.md 作为后端规范文档
  • BACKEND_README.md 同步模块化结构与响应格式

涉及文件

  • Docs/BACKEND_DEV.md
  • Docs/BACKEND_README.md

🚀 发布管理进入体验优化 (13:10)

内容

  • 首页预取 /publish 路由,进入发布管理时更快
  • 发布页读取 sessionStorage 预取数据,首屏更快渲染
  • 账号与作品列表增加骨架屏,避免空白等待

涉及文件

  • frontend/src/features/home/ui/HomePage.tsx
  • frontend/src/features/home/model/useHomeController.ts
  • frontend/src/features/publish/model/usePublishController.ts
  • frontend/src/features/publish/ui/PublishPage.tsx

📁 首页素材加载优化 (13:30)

内容

  • 素材列表签名 URL 并发生成(并发上限 8缩短加载时间
  • 素材列表增加加载骨架,数量根据上次素材数量动态调整

涉及文件

  • backend/app/modules/materials/router.py
  • frontend/src/features/home/model/useMaterials.ts
  • frontend/src/features/home/model/useHomeController.ts
  • frontend/src/features/home/ui/HomePage.tsx
  • frontend/src/features/home/ui/MaterialSelector.tsx

🎬 预览加载体验优化 (14:00)

内容

  • 预览视频设置 preload="metadata",缩短首帧等待
  • 发布页预览按钮悬停预取视频资源

涉及文件

  • frontend/src/components/VideoPreviewModal.tsx
  • frontend/src/features/home/ui/PreviewPanel.tsx
  • frontend/src/features/publish/ui/PublishPage.tsx