refactor(editing-planner): Phase 3 - extract business hooks #903

Merged
xiaoxia merged 2 commits from refactor/editing-planner-phase3 into develop 2026-07-26 07:58:48 +08:00
Owner

Phase 3 — 抽取业务 Hook

将 EditingPlanner.tsx 中的业务逻辑抽成 4 个自定义 Hook:

Hook 行数 职责
useTemplateManagement ~459 模板列表/详情/计划加载、保存、模式切换、筛选搜索、3个useEffect
useClipOperations ~231 片段增删改查、重排、裁剪、分割、转场、调速、TTS、配音选择
usePlaybackControl ~56 播放/暂停、rAF帧推进、时间线缩放、seek
useEditorDrawers ~78 11个抽屉开关 + 3个目标片段ID + 快捷打开方法

主文件变化

  • 重构前:1013 行
  • 重构后:425 行
  • 减少:588 行(-58%)

保留在主文件

  • 全局配置 state(11个配置项)
  • useUndoRedo(最上层管理 clips/setClips)
  • voiceMaterialsQuery(useQuery,全局缓存共享)
  • 素材库 state + 右侧栏 Tab
  • 6 个配置变更 handler(简单 setter 包装)

质量

  • 仅移动代码,逻辑等价
  • 新文件权限 644
  • smoke test 已覆盖 4 个新 Hook
  • Phase 2 基础上继续,按顺序合并
## Phase 3 — 抽取业务 Hook 将 EditingPlanner.tsx 中的业务逻辑抽成 4 个自定义 Hook: | Hook | 行数 | 职责 | |------|------|------| | `useTemplateManagement` | ~459 | 模板列表/详情/计划加载、保存、模式切换、筛选搜索、3个useEffect | | `useClipOperations` | ~231 | 片段增删改查、重排、裁剪、分割、转场、调速、TTS、配音选择 | | `usePlaybackControl` | ~56 | 播放/暂停、rAF帧推进、时间线缩放、seek | | `useEditorDrawers` | ~78 | 11个抽屉开关 + 3个目标片段ID + 快捷打开方法 | ### 主文件变化 - **重构前**:1013 行 - **重构后**:425 行 - **减少**:588 行(-58%) ### 保留在主文件 - 全局配置 state(11个配置项) - `useUndoRedo`(最上层管理 clips/setClips) - `voiceMaterialsQuery`(useQuery,全局缓存共享) - 素材库 state + 右侧栏 Tab - 6 个配置变更 handler(简单 setter 包装) ### 质量 - 仅移动代码,逻辑等价 - 新文件权限 644 - smoke test 已覆盖 4 个新 Hook - Phase 2 基础上继续,按顺序合并
xiaoxia force-pushed refactor/editing-planner-phase3 from 97aba1623e to 12807debac 2026-07-26 03:08:24 +08:00 Compare
auto-approve-bot approved these changes 2026-07-26 03:10:33 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-07-26 03:10:33 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
xiaoxia added 1 commit 2026-07-26 03:39:59 +08:00
refactor(editing-planner): Phase 3 - extract business hooks
AI Code Review / AI Code Review (pull_request) Failing after 0s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 32s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 47s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m16s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m16s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 32s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 57s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 15s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 54s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 3m3s
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 28s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 2m14s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m36s
a1bda3e484
Extract 4 business hooks from EditingPlanner.tsx:
- useEditorDrawers (78行): 11个抽屉开关 + 目标ID + 快捷打开
- usePlaybackControl (56行): 播放/暂停、rAF帧推进、缩放、seek
- useClipOperations (231行): 片段CRUD、重排、裁剪、分割、转场、调速、TTS、配音
- useTemplateManagement (459行): 模板列表/详情/计划加载、保存、模式切换、筛选搜索

主文件: 997→415行(-58%)
xiaoxia force-pushed refactor/editing-planner-phase3 from 12807debac to a1bda3e484 2026-07-26 03:39:59 +08:00 Compare
xiaoxia added 1 commit 2026-07-26 07:42:36 +08:00
fix(ts): remove unused TemplateMode import (TS6133)
AI Code Review / AI Code Review (pull_request) Failing after 0s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 40s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m23s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m23s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m8s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 57s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 50s
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m54s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 30s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 3m25s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 4m40s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m25s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 32s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Failing after 45s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 46m45s
4105a4df41
xiaoxia force-pushed refactor/editing-planner-phase3 from 1d039e155d to 4105a4df41 2026-07-26 07:42:36 +08:00 Compare
xiaoxia merged commit 07805e72c5 into develop 2026-07-26 07:58:48 +08:00

🗑️ 预览环境已清理

PR #903 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #903 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.