refactor(shared): 抽取标题模板为公共组件,智能剪辑/AI数字人复用 #2067

Merged
auto-approve-bot merged 1 commits from refactor/extract-title-template-shared-20260927 into develop 2026-09-27 20:29:51 +08:00
Owner

背景

标题模板(大卡片网格+编辑器)此前被智能剪辑与AI数字人引用,AI数字人一直走小预设+参数内联(enableTemplates=false),与智能剪辑 Step3 UI 不一致。本次抽离为公共组件 @/components/title,统一复用入口。

改动

新增公共组件 src/components/title/

  • TitleTemplateSelector:大卡片网格(我的/系统分组、选中紫边、新建/编辑/复制/导出/删除)
  • TitleTemplateEditor:编辑器弹窗(左预览+右参数Tab)
  • TitleStyleParamsTab:参数Tab面板(基础/描边/阴影/背景/排版/封面)
  • TitleMiniPreview:Canvas大字预览(迁移自pages内部)
  • settings.ts:公共TitleStyleSettings类型+默认值(不含aiAutoSelect/title/coverTitle业务字段)
  • utils.ts:消除对pages/generate/types反向依赖
  • position-options.ts:公共POSITION_OPTIONS常量
  • index.ts:barrel统一导出
  • TitleStylePanel.css:ts-*参数样式

调用方

  • 智能剪辑 TitleStylePanel:改为import公共TitleMiniPreview,FillPreview props类型修正
  • generate/constants.ts:POSITION_OPTIONS从公共层重导出
  • 旧路径TitleMiniPreview:改为re-export wrapper保持兼容
  • AI数字人 PanelTitleConfig:enableTemplates false->true,启用大卡片网格(与智能剪辑一致)

验证

  • tsc --noEmit / eslint / prettier / vite build 全部通过

未改动

  • UI视觉保持staging大卡片效果完全不变
  • TitleTemplate仍走localStorage(xiaoxia.title.templates.v1),未引入后端API
  • 智能剪辑Step3大卡片渲染逻辑不变,本轮重点是公共类型/预览/参数Tab/编辑器抽离

效果

  • 智能剪辑Step3:不变
  • AI数字人面板4:小预设+参数内联→大卡片网格
## 背景 标题模板(大卡片网格+编辑器)此前被智能剪辑与AI数字人引用,AI数字人一直走小预设+参数内联(enableTemplates=false),与智能剪辑 Step3 UI 不一致。本次抽离为公共组件 @/components/title,统一复用入口。 ## 改动 ### 新增公共组件 src/components/title/ - TitleTemplateSelector:大卡片网格(我的/系统分组、选中紫边、新建/编辑/复制/导出/删除) - TitleTemplateEditor:编辑器弹窗(左预览+右参数Tab) - TitleStyleParamsTab:参数Tab面板(基础/描边/阴影/背景/排版/封面) - TitleMiniPreview:Canvas大字预览(迁移自pages内部) - settings.ts:公共TitleStyleSettings类型+默认值(不含aiAutoSelect/title/coverTitle业务字段) - utils.ts:消除对pages/generate/types反向依赖 - position-options.ts:公共POSITION_OPTIONS常量 - index.ts:barrel统一导出 - TitleStylePanel.css:ts-*参数样式 ### 调用方 - 智能剪辑 TitleStylePanel:改为import公共TitleMiniPreview,FillPreview props类型修正 - generate/constants.ts:POSITION_OPTIONS从公共层重导出 - 旧路径TitleMiniPreview:改为re-export wrapper保持兼容 - AI数字人 PanelTitleConfig:enableTemplates false->true,启用大卡片网格(与智能剪辑一致) ## 验证 - tsc --noEmit / eslint / prettier / vite build 全部通过 ## 未改动 - UI视觉保持staging大卡片效果完全不变 - TitleTemplate仍走localStorage(xiaoxia.title.templates.v1),未引入后端API - 智能剪辑Step3大卡片渲染逻辑不变,本轮重点是公共类型/预览/参数Tab/编辑器抽离 ## 效果 - 智能剪辑Step3:不变 - AI数字人面板4:小预设+参数内联→大卡片网格
xiaoxia added 1 commit 2026-09-27 20:20:38 +08:00
refactor(shared): 抽取标题模板为公共组件,智能剪辑与AI数字人复用
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been skipped
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 / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy 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 / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m23s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m31s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m47s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m43s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m44s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m31s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 5m36s
AI Code Review / AI Code Review (pull_request) Successful in 6m39s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 8m34s
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 / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 7m41s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 36s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Failing after 48s
4ae09f2b1d
- 新增公共组件 @/components/title:
  - TitleTemplateSelector: 大卡片网格选择器(我的/系统模板分组、新建/编辑/复制/导出/删除)
  - TitleTemplateEditor: 模板编辑器弹窗(预览+参数Tab)
  - TitleStyleParamsTab: 参数Tab面板(基础/描边/阴影/背景/排版)
  - TitleMiniPreview: Canvas大字预览(迁移自pages内部)
  - settings.ts: 公共 TitleStyleSettings 类型+DEFAULT(不含业务字段 aiAutoSelect/title/coverTitle)
  - utils.ts: 重构为依赖公共类型,消除 pages/generate/types 反向依赖
  - position-options.ts: 公共 POSITION_OPTIONS 常量
  - index.ts: 统一 barrel export
- 智能剪辑 TitleStylePanel(pages/generate/components/title/):
  - 改为 import @/components/title/TitleMiniPreview,旧路径改为 re-export
  - 修复 FillPreview 类型,消除 TitleStyleSettings/TitleSettings 类型不匹配
  - generate/constants.ts 重导出 POSITION_OPTIONS 自公共层
- AI数字人 PanelTitleConfig:
  - enableTemplates 改为 true,启用大卡片网格模式(与智能剪辑 Step3 一致)
  - 共享同一份 TITLE_PRESETS 系统预设、localStorage 用户模板
- tsc/eslint/prettier/vite build 全部通过
auto-approve-bot approved these changes 2026-09-27 20:22:09 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-09-27 20:22:10 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。

🚀 预览环境已部署

项目 详情
PR号 #2067
预览链接 https://pr-2067.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #2067 | | 预览链接 | [https://pr-2067.preview.xiaoxiajianji.com](https://pr-2067.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot merged commit a00031e100 into develop 2026-09-27 20:29:51 +08:00
auto-approve-bot deleted branch refactor/extract-title-template-shared-20260927 2026-09-27 20:29:53 +08:00

🗑️ 预览环境已清理

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

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

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