feat(web): 标题模板管理系统 — 预设区域升级为模板卡片网格,支持新建/编辑/复制/删除 + 持久化 #2013

Closed
xiaoxia wants to merge 1 commits from feat/title-template-management into develop
Owner

Bug修复

Bug1:预设选中后手动改参数自动脱离预设

  • activePreset 从 useMemo 派生改为 useState 显式管理
  • 用户手动修改任何样式参数时,setActivePreset(null) 自动脱离预设
  • 预设卡片高亮仅在明确选择预设时显示

Bug2:预设卡片预览字号统一

  • TitleMiniPreview canvas 宽度固定为 120px(原100px)
  • 统一 previewScale 为 0.35,确保所有预设预览清晰可读

Bug3:描边参数始终可手动调整

  • 预设只提供初始值,不锁定参数
  • applyPreset 合并预设样式但不阻止后续手动修改

功能升级

模板卡片网格

  • 4列模板卡片网格(原5列预设网格)
  • 每个卡片:预览图 + 模板名称 + 系统/自定义标签 + 单选按钮
  • 选中卡片高亮边框
  • hover 显示编辑/复制/删除按钮(系统预设仅可编辑/复制)

新建模板

  • 面板顶部「新建模板」按钮
  • 编辑模式:左侧实时预览 + 右侧参数面板(复用现有 TitleStylePanel)
  • 保存弹窗:模板名称(必填)+ emoji(可选)+ 描述

编辑/复制/删除模板

  • 用户自定义模板可编辑、复制、删除
  • 系统预设只可编辑和复制,不可删除

持久化存储

  • 用户自定义模板存 localStorage,key 为 xiaoxia-title-templates
  • 数据结构与 TITLE_PRESETS 一致(TitleTemplate[])
  • 组件挂载时自动加载,更新时自动保存

影响范围

  • TitleStylePanel 是公共组件,智能剪辑和AI数字人两个页面自动生效
  • 新增文件:useTitleTemplates.ts(模板CRUD + localStorage hook)
  • 修改文件:TitleStylePanel.tsx、TitleStylePanel.css、useTitleStyleUpdaters.ts、PanelTitleConfig.tsx、GeneratePage.tsx 等
## Bug修复 ### Bug1:预设选中后手动改参数自动脱离预设 - `activePreset` 从 useMemo 派生改为 useState 显式管理 - 用户手动修改任何样式参数时,`setActivePreset(null)` 自动脱离预设 - 预设卡片高亮仅在明确选择预设时显示 ### Bug2:预设卡片预览字号统一 - TitleMiniPreview canvas 宽度固定为 120px(原100px) - 统一 previewScale 为 0.35,确保所有预设预览清晰可读 ### Bug3:描边参数始终可手动调整 - 预设只提供初始值,不锁定参数 - `applyPreset` 合并预设样式但不阻止后续手动修改 ## 功能升级 ### 模板卡片网格 - 4列模板卡片网格(原5列预设网格) - 每个卡片:预览图 + 模板名称 + 系统/自定义标签 + 单选按钮 - 选中卡片高亮边框 - hover 显示编辑/复制/删除按钮(系统预设仅可编辑/复制) ### 新建模板 - 面板顶部「新建模板」按钮 - 编辑模式:左侧实时预览 + 右侧参数面板(复用现有 TitleStylePanel) - 保存弹窗:模板名称(必填)+ emoji(可选)+ 描述 ### 编辑/复制/删除模板 - 用户自定义模板可编辑、复制、删除 - 系统预设只可编辑和复制,不可删除 ### 持久化存储 - 用户自定义模板存 localStorage,key 为 `xiaoxia-title-templates` - 数据结构与 TITLE_PRESETS 一致(TitleTemplate[]) - 组件挂载时自动加载,更新时自动保存 ## 影响范围 - TitleStylePanel 是公共组件,智能剪辑和AI数字人两个页面自动生效 - 新增文件:`useTitleTemplates.ts`(模板CRUD + localStorage hook) - 修改文件:TitleStylePanel.tsx、TitleStylePanel.css、useTitleStyleUpdaters.ts、PanelTitleConfig.tsx、GeneratePage.tsx 等
xiaoxia added 1 commit 2026-09-22 22:29:20 +08:00
feat(web): 标题模板管理系统 — 预设区域升级为模板卡片网格,支持新建/编辑/复制/删除 + 持久化
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 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
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 Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web 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 Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web 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) Failing after 50s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m9s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m18s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 1m40s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 3m57s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 4m28s
AI Code Review / AI Code Review (pull_request) Successful in 6m33s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 7m42s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 6m55s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 11m33s
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 / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Failing after 2s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 3m45s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 3m58s
05b5de2ea8
Bug修复:
- Bug1:预设选中后手动改参数自动脱离预设(useRef→useState管理activePreset)
- Bug2:预设卡片预览字号统一(canvas固定120px宽度渲染)
- Bug3:描边参数始终可手动调整(预设只给初始值不锁定)

功能升级:
- 预设区域改为4列模板卡片网格(预览+名称+系统/自定义标签)
- 新增「新建模板」按钮,编辑模式实时预览+参数面板
- 支持编辑/复制/删除用户自定义模板
- 模板数据持久化到localStorage(key: xiaoxia-title-templates)

影响范围:TitleStylePanel公共组件,智能剪辑和AI数字人两个页面自动生效
xiaoxia closed this pull request 2026-09-22 22:37:23 +08:00

🗑️ 预览环境已清理

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

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

🗑️ **预览环境已清理** PR #2013 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Some checks are pending
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 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
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 Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web 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 Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web 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) Failing after 50s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m9s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m18s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 1m40s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 3m57s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 4m28s
AI Code Review / AI Code Review (pull_request) Successful in 6m33s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 7m42s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 6m55s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 11m33s
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 / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Failing after 2s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 3m45s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 3m58s

Pull request closed

Sign in to join this conversation.