Files
ViGent2/Docs/DevLogs/Day18.md
Kevin Wong 945262a7fc 更新
2026-02-06 16:02:58 +08:00

4.7 KiB
Raw Permalink 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

📹 微信视频号发布接入 (16:30)

内容

  • 新增视频号上传器 WeixinUploader,打通上传/标题/简介/标签/发布流程
  • 视频号扫码登录配置完善iframe 扫码、候选二维码过滤)
  • 发布平台与路由接入视频号
  • 中文错误提示 + 关键节点截图保存到 debug_screenshots

涉及文件

  • backend/app/services/uploader/weixin_uploader.py
  • backend/app/services/qr_login_service.py
  • backend/app/services/publish_service.py
  • backend/app/modules/publish/router.py
  • backend/app/modules/login_helper/router.py

🧪 视频号上传稳定性修复 (17:40)

内容

  • 统一浏览器指纹UA/locale/timezone并支持系统 Chrome
  • 增加 headful + xvfb-run 运行方案,避免 headless 检测与解码失败
  • 强制 SwiftShader修复 WebGL context loss
  • 上传前转码为兼容 MP4H.264 + AAC + faststart
  • 增强上传状态判断与调试日志 weixin_network.log

涉及文件

  • backend/app/core/config.py
  • backend/app/services/uploader/weixin_uploader.py
  • backend/app/services/qr_login_service.py
  • run_backend.sh

🧾 发布诊断增强 (18:10)

内容

  • 抖音发布新增网络日志与失败截图,便于定位上传/发布失败
  • 视频号上传失败截图与网络日志落盘

涉及文件

  • backend/app/services/uploader/douyin_uploader.py
  • backend/app/services/uploader/weixin_uploader.py
  • backend/app/debug_screenshots/*

🧩 发布页交互调整 (18:20)

内容

  • 未选择平台时禁用发布按钮
  • 移除定时发布 UI/参数,仅保留立即发布

涉及文件

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