refactor(VideoGeneration): 拆分 1385 行单体组件

按审查后的方案拆分为 8 个文件,单文件最大行数从 1385 降至 483:

utils/(纯函数,无 React 依赖)
- videoTimeline.ts: computeAssignedIntervals(57 行)
- videoValidation.ts: validateLocalVideo(85 行)

hooks/(独立领域逻辑)
- useEmptyShotMaterials.ts: 空镜素材匹配/切换/上传(210 行)
- useVideoGeneration.ts: 视频生成 4-Step 核心流程(425 行)

_components/(展示组件,接收 props)
- AvatarMaterialSelector.tsx: 人物素材卡片(99 行)
- ShotTimeline.tsx: 分镜列表 + 素材操作(182 行)
- GenerationControls.tsx: 底部控制栏(112 行)

index.tsx: 容器组件,组合子组件 + 管理人物素材/预览/activeScene(483 行)

目录采用 _components/ 下划线前缀(页面私有组件惯例)。
TypeScript 编译和 Vite 生产构建均通过。

Refs: P1-6
This commit is contained in:
小鱼开发
2026-05-14 18:19:27 +08:00
parent 7550559aa0
commit 8046e408d6
12 changed files with 1655 additions and 1386 deletions
+2
View File
@@ -21,6 +21,7 @@ services:
- ENV=production
- APP_BASE_URL=https://tapi.meijiaka.cn
- DEBUG=false
- LOG_LEVEL=INFO
- DATABASE_URL=${DATABASE_URL}
- REDIS_HOST=${REDIS_HOST}
- REDIS_PORT=${REDIS_PORT:-6379}
@@ -53,6 +54,7 @@ services:
- ENV=production
- APP_BASE_URL=https://tapi.meijiaka.cn
- DEBUG=false
- LOG_LEVEL=INFO
- DATABASE_URL=${DATABASE_URL}
- REDIS_HOST=${REDIS_HOST}
- REDIS_PORT=${REDIS_PORT:-6379}