4.7 KiB
4.7 KiB
Day 18 - 后端模块化与规范完善
🧱 后端模块化重构 (10:10)
内容
- API 路由统一透传到
modules/*,路由仅负责参数/权限与响应 - 视频生成逻辑下沉
workflow,任务状态抽到task_store TaskStore支持 Redis 优先、不可用时自动回退内存- Supabase 访问抽到
repositories/*,deps/auth/admin全面改造
涉及文件
backend/app/modules/videos/router.pybackend/app/modules/videos/workflow.pybackend/app/modules/videos/task_store.pybackend/app/modules/videos/service.pybackend/app/modules/*/router.pybackend/app/repositories/users.pybackend/app/repositories/sessions.pybackend/app/core/deps.py
✅ 统一响应与异常处理 (11:00)
内容
- 统一 JSON 响应结构:
success/message/data/code - 全局异常处理中将
detail转换为message
涉及文件
backend/app/core/response.pybackend/app/main.py
🎞️ 素材重命名与存储操作 (11:40)
内容
- 新增素材重命名接口
PUT /api/materials/{material_id} - Storage 增加
move_file以支持重命名/移动
涉及文件
backend/app/modules/materials/router.pybackend/app/services/storage.py
🧾 平台列表调整 (12:10)
内容
- 平台顺序调整为:抖音 → 微信视频号 → B站 → 小红书
- 移除快手配置
涉及文件
backend/app/services/publish_service.py
📘 后端开发规范补充 (12:30)
内容
- 新增
BACKEND_DEV.md作为后端规范文档 BACKEND_README.md同步模块化结构与响应格式
涉及文件
Docs/BACKEND_DEV.mdDocs/BACKEND_README.md
🚀 发布管理进入体验优化 (13:10)
内容
- 首页预取
/publish路由,进入发布管理时更快 - 发布页读取
sessionStorage预取数据,首屏更快渲染 - 账号与作品列表增加骨架屏,避免空白等待
涉及文件
frontend/src/features/home/ui/HomePage.tsxfrontend/src/features/home/model/useHomeController.tsfrontend/src/features/publish/model/usePublishController.tsfrontend/src/features/publish/ui/PublishPage.tsx
📁 首页素材加载优化 (13:30)
内容
- 素材列表签名 URL 并发生成(并发上限 8),缩短加载时间
- 素材列表增加加载骨架,数量根据上次素材数量动态调整
涉及文件
backend/app/modules/materials/router.pyfrontend/src/features/home/model/useMaterials.tsfrontend/src/features/home/model/useHomeController.tsfrontend/src/features/home/ui/HomePage.tsxfrontend/src/features/home/ui/MaterialSelector.tsx
🎬 预览加载体验优化 (14:00)
内容
- 预览视频设置
preload="metadata",缩短首帧等待 - 发布页预览按钮悬停预取视频资源
涉及文件
frontend/src/components/VideoPreviewModal.tsxfrontend/src/features/home/ui/PreviewPanel.tsxfrontend/src/features/publish/ui/PublishPage.tsx
📹 微信视频号发布接入 (16:30)
内容
- 新增视频号上传器
WeixinUploader,打通上传/标题/简介/标签/发布流程 - 视频号扫码登录配置完善(iframe 扫码、候选二维码过滤)
- 发布平台与路由接入视频号
- 中文错误提示 + 关键节点截图保存到
debug_screenshots
涉及文件
backend/app/services/uploader/weixin_uploader.pybackend/app/services/qr_login_service.pybackend/app/services/publish_service.pybackend/app/modules/publish/router.pybackend/app/modules/login_helper/router.py
🧪 视频号上传稳定性修复 (17:40)
内容
- 统一浏览器指纹(UA/locale/timezone)并支持系统 Chrome
- 增加 headful + xvfb-run 运行方案,避免 headless 检测与解码失败
- 强制 SwiftShader,修复 WebGL context loss
- 上传前转码为兼容 MP4(H.264 + AAC + faststart)
- 增强上传状态判断与调试日志
weixin_network.log
涉及文件
backend/app/core/config.pybackend/app/services/uploader/weixin_uploader.pybackend/app/services/qr_login_service.pyrun_backend.sh
🧾 发布诊断增强 (18:10)
内容
- 抖音发布新增网络日志与失败截图,便于定位上传/发布失败
- 视频号上传失败截图与网络日志落盘
涉及文件
backend/app/services/uploader/douyin_uploader.pybackend/app/services/uploader/weixin_uploader.pybackend/app/debug_screenshots/*
🧩 发布页交互调整 (18:20)
内容
- 未选择平台时禁用发布按钮
- 移除定时发布 UI/参数,仅保留立即发布
涉及文件
frontend/src/features/publish/ui/PublishPage.tsxfrontend/src/features/publish/model/usePublishController.ts