feat: 剪辑规划器完整交互 — 7大配置面板 + 时间轴拖拽/缩放/播放头 + 预览播放器 #284
Merged
xiaoxia
merged 15 commits from 2026-07-14 18:15:55 +08:00
feature/task-center-page into develop
15 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
c2a5c9417e |
style: Prettier 格式化 40 个文件 — 修复 Frontend Lint CI
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 44s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 48s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m4s
CI/CD Pipeline / Unit Tests (push) Successful in 1m8s
CI/CD Pipeline / Integration Tests (push) Successful in 1m19s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m19s
CI/CD Pipeline / Frontend Lint (push) Successful in 2m40s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m55s
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (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 / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
|
||
|
|
2b6ba6e074 |
fix: PR#284 P1 类型安全修复 — EditPlanConfig/AssetItem/GenerateFromTemplateRequest
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 31s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 27s
CI/CD Pipeline / Unit Tests (push) Successful in 1m2s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 52s
CI/CD Pipeline / Frontend Lint (push) Failing after 1m56s
CI/CD Pipeline / Integration Tests (push) Successful in 1m24s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m33s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m23s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) 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 / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
P1-1: EditPlanConfig 内部 7 个 config 字段从 Record<string,unknown> 改为具体类型 - watermark_config → WatermarkConfig - intro_outro_config → IntroOutroConfig - pip_config → PipConfig - filter_config → FilterConfig - green_screen_config → ChromaKeyConfig - sticker_config → StickerConfig - cover_config → CoverConfig P1-2: AssetItem.metadata 从 Record<string,unknown> 改为 AssetMetadata 接口 - 新增 AssetMetadata 接口(duration/width/height/bitrate/codec/fps 等) P1-3: GenerateFromTemplateRequest.config 从 Record<string,unknown> 改为 EditPlanConfig P1-4: 去掉 EditPlanConfig 的 [key: string]: unknown 索引签名 - GeneratePage.tsx 生成参数加 as EditPlanConfig 类型断言 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
640672b798 |
fix: 消除 Record<string, unknown> 弱类型 — P1 审计修复
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 38s
CI/CD Pipeline / Unit Tests (push) Successful in 1m12s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 43s
CI/CD Pipeline / Frontend Lint (push) Failing after 1m59s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m16s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Integration Tests (push) Successful in 1m39s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m56s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (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 / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m35s
- editingPlanner.ts: EditingTemplate/SaveTemplatePayload 7个config字段 从 Record<string, unknown> 改为 types.ts 中具体类型 (WatermarkConfig, IntroOutroConfig, PipConfig, FilterConfig, ChromaKeyConfig, StickerConfig, CoverConfig) - templates.ts: TemplateItem 3个config字段 从 Record<string, unknown> 改为 TitleConfig/SubtitleConfig/BgmConfig - TemplateLibrary.tsx: formatConfig 参数类型从 Record<string, unknown> 改为 object |
||
|
|
1feff1c6fb |
feat: 编辑器渲染结果联动 + 一键生成链路打通
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 48s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 57s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m22s
CI/CD Pipeline / Unit Tests (push) Successful in 1m23s
CI/CD Pipeline / Frontend Lint (push) Failing after 2m19s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 2m19s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (push) Successful in 1m35s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m25s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
- editPlans.ts: 新增 GeneratedVideo 类型 + getGenerationTaskResults 函数 - products.ts: 重写为基于 /generation/tasks 端点(后端无 /products 路由) - GeneratePage.tsx: 生成完成后获取视频 URL + 预览/下载/分享/导航成片库 - EditingPlanner.tsx: 移除 GenerationProgressModal 死代码(genModalOpen 从未设为 true) 打通生成→预览→下载→分享→成片库完整链路,消除所有 404 API 调用 |
||
|
|
f77f519582 |
fix: P1 类型安全修复 — EditPlanConfig/AssetItem/TitleSettings
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 54s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 32s
CI/CD Pipeline / Unit Tests (push) Successful in 1m31s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m4s
CI/CD Pipeline / Frontend Lint (push) Failing after 2m10s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m58s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (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 / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (push) Successful in 1m41s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m37s
P1-1: EditPlan.config 从 Record<string, unknown> 改为 EditPlanConfig 接口 - 新增 TitleConfig/SubtitleConfig/BgmConfig/SegmentTtsConfig 等子类型 - CreateEditPlanRequest/UpdateEditPlanRequest/AIRecommendResponse 同步更新 - GenerateCoverResponse.cover 改为带 scheme/asset_id/frame_time 的类型 P1-2: AssetItem 补充 duration/classification_status 字段,消除 mapAssetToMediaAsset 全部 as 断言 P1-3: TitleSettings 提取到共享 types.ts,ClipPropertiesPanel/PreviewPlayer 去重导入 - 对齐后端 title_config 字段,前端 camelCase → 后端 snake_case 映射 |
||
|
|
82de158e35 |
feat: 时间轴轨道缩放 + 播放头控制
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 29s
CI/CD Pipeline / Unit Tests (push) Successful in 58s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 27s
CI/CD Pipeline / Frontend Lint (push) Failing after 1m2s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Successful in 52s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m1s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (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 / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (push) Successful in 1m15s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m30s
- EditingPlanner: 新增 currentTime/pixelsPerSecond 状态 + rAF 帧推进 - TimelinePanel: 缩放控件(−/滑块/+/标签)、播放头渲染/拖拽、标尺点击跳转 - TimelinePanel: clip 宽度按 duration*pps 动态计算,裁剪灵敏度同步缩放 - EditingPlanner.css: zoom 控件 + playhead 三角手柄 + clip min-width 适配 - 松耦合:PreviewPlayer 不修改,currentTime 仅驱动播放头位置 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
6213569ec8 |
feat: 完成贴纸面板+封面选择器集成,含滤镜/绿幕/水印/片头片尾/画中画面板
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 56s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 42s
CI/CD Pipeline / Frontend Lint (push) Failing after 1m22s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m14s
CI/CD Pipeline / Integration Tests (push) Successful in 1m56s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m57s
CI/CD Pipeline / Unit Tests (push) Successful in 4m14s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 5m41s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (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 / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
- 新增 StickerPanel: emoji素材库(30个) + 图片URL + 文字花字(8种预设) + 属性编辑 - 新增 CoverSelector: 智能封面/抽帧选封面/上传封面 三种模式 - 集成到 EditingPlanner.tsx: state/handler/payload/drawer - 集成到 ClipPropertiesPanel.tsx: props + 入口按钮 - 新增 EditingPlanner.css: sticker-* 和 cover-* 完整样式 - 同步提交: FilterPanel, GreenScreenPanel, WatermarkPanel, IntroOutroPanel, PipConfigPanel - types.ts: StickerConfig, CoverConfig 类型定义 - editingPlanner.ts API: sticker_config, cover_config 字段 |
||
|
|
d91a803719 |
feat: 剪辑时间轴裁剪增强 — 手柄拖拽/分割/恢复原始长度
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 44s
CI/CD Pipeline / Unit Tests (push) Successful in 1m16s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 40s
CI/CD Pipeline / Frontend Lint (push) Failing after 1m6s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m17s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m21s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (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 / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (push) Successful in 1m53s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m51s
- 新增 TrimConfig 类型(入点/出点/原始时长) - TimelinePanel 添加左右裁剪手柄(hover显示),拖动调整入点/出点 - 拖动时实时显示裁剪预览 tooltip(入点/出点/时长) - 右键片段弹出菜单:分割片段 / 恢复原始长度 / 删除 - 已裁剪片段显示视觉标记(左侧蓝色边框 + ✂ 图标) - EditingPlanner 新增 handleClipTrim/handleClipSplit/handleClipResetTrim - handleSave/handleGoToGenerate payload 序列化 trim_config - 新增 CSS 样式:裁剪手柄、预览 tooltip、右键菜单 |
||
|
|
b08598290b |
feat: TTS 配音面板 — 配音模式切换 + 音色选择 + 语速/语调/音量 + 试听 + 字幕联动
- tts.ts: 新增 TTSVoice 接口、getTtsVoices()、previewTts() API - types.ts: 新增 TtsMode/TtsConfig/DEFAULT_TTS_CONFIG,ClipData 增加 tts_config 字段 - TtsPanel.tsx: Drawer 形式配音面板(模式切换/文本输入/音色卡片/滑块/试听/字幕联动) - ClipPropertiesPanel.tsx: 新增 TTS 配音入口按钮 - EditingPlanner.tsx: TTS 状态管理 + Drawer 集成 + payload 序列化 - EditingPlanner.css: tts-* 前缀全套样式(V21 设计系统) |
||
|
|
438de40998 |
feat: 转场特效选择器 + 片段调速面板
- 新增 TransitionSelector 组件:15种转场预设卡片网格 + 时长滑块(0.3s~2s) - 新增 SpeedPanel 组件:速度滑块(0.25x~4x) + 预设按钮 + 音调修正开关 - 扩展 ClipData 类型:transition + speed 字段 - 扩展 TRANSITION_OPTIONS:14种转场 + cut + none,含图标 - TimelinePanel:转场指示器 + 速度徽章 - ClipPropertiesPanel:转场/调速入口按钮 - EditingPlanner:Drawer 集成 + handleSave/handleGoToGenerate payload - CSS:转场选择器/调速面板/时间线指示器/入口按钮样式 |
||
|
|
0bb1406b75 |
feat(editing-planner): BGM 选择器 + 字幕样式配置面板
- 新增 BGM API 模块 (api/bgm.ts):BgmPreset、BgmMixConfig 类型,getBgmPresets 接口 - 新增 BgmSelector 组件:Drawer 形式,分类标签栏、搜索、试听、音量/淡入淡出/人声闪避配置 - 新增 SubtitleStylePanel 组件:Drawer 形式,字幕开关、手动/ASR 模式、字体大小/颜色/字体/位置/描边/阴影/动画配置、实时预览 - EditingPlanner 集成:状态管理、模板初始化映射、PreviewPlayer 适配、ClipPropertiesPanel 入口按钮 - ClipPropertiesPanel 更新:BGM 区域展示当前选中 BGM + 配置入口、字幕区域新增高级样式配置按钮 - EditingPlanner.css:BGM 选择器、字幕面板、ClipPropertiesPanel 新增样式(约 410 行) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
72d77b2b9a |
feat(assets): 素材批量操作 UI 对接 — 批量删除/打标签/改分类/智能标记 + 结果 Drawer
- API 层新增 4 个批量操作函数(batchDeleteAssets/batchTagAssets/batchClassifyAssets/batchMarkAssets) - 批量操作栏增加打标签、改分类、智能标记按钮 - 批量打标签弹窗支持 add/replace 模式切换 + 自定义标签输入 - 批量改分类弹窗支持分类下拉选择 - 批量智能标记弹窗支持推荐/慎用/高风险三选一 - 操作结果 Drawer 展示成功/失败明细 - 配套 CSS 样式(弹窗、Drawer、标签输入等) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
445ba24ab5 |
feat: 模板库升级 + 剪辑计划管理页面
- 重写 TemplateLibrary:对接后端分页/筛选 API(category/keyword/duration_range), 增强详情弹窗(segments 素材规则、subtitle/bgm/title config、aspect_ratio), 新增复制模板和从模板生成功能 - 新建 EditPlans 剪辑计划管理页面:Ant Design Table + Tabs 状态筛选、 模板筛选下拉、分页、一键重新生成、自动轮询进行中的计划 - 修改 editPlans.ts getEditPlans 返回分页响应(items/total/page/page_size) - 扩展 templates.ts API:copyTemplate、generateFromTemplate、toggleFavoriteTemplate - 添加 /app/edit-plans 路由和导航配置 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
83137d5c2e |
feat: 任务中心页面 — 列表/筛选/重试/错误详情/分页
- 扩展 tasks API 模块:分页查询(getTasks)、重试(retryTask)、错误详情类型 - 新建 TaskCenter 页面:Ant Design Table 展示任务列表 - 顶部 Tabs 状态筛选(全部/等待中/进行中/已完成/失败/已取消) - 下拉类型筛选(全部/生成任务/素材导入) - 失败任务行显示重试按钮(Popconfirm 确认) - 可展开行显示错误详情(错误类型/信息/失败阶段/堆栈) - 分页(showSizeChanger/showQuickJumper/showTotal) - 自动轮询:有 running/waiting 任务时每5秒刷新 - 添加路由 /app/tasks 和导航配置 |
||
|
|
3ce6d47d46 |
feat(products): 成片中心 UI 4 大功能升级
1. 封面预览 — 卡片已支持 thumbnailUrl 展示
2. 复核状态标签 — 右上角显示待复核(灰)/已通过(绿)/需修改(红),点击循环切换
3. 批量操作 — 批量下载改用 batch-download API + job_id 轮询
4. 筛选栏 — 新增按项目、按复核状态筛选 Select
API 层新增:
- updateReviewStatus: PATCH /products/{id}/review
- batchDownload: POST /products/batch-download
- getBatchDownloadStatus: GET /products/batch-download/{jobId}
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|