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

169 lines
4.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`