fix(title): 预览区标题应用真实模板描边/阴影/背景 #2018

Merged
xiaoxia merged 2 commits from fix/template-preview-stroke-shadow into develop 2026-09-23 14:21:00 +08:00
Owner

问题

选模板卡片后(如抖音爆款黄),视频预览区标题文字没有应用模板样式,只显示默认黑色字。

根因:FrontendPreviewPlayer.tsx 渲染标题 overlay 时,描边/阴影/背景的 CSS 值全部硬编码:

  • WebkitTextStroke: 2px #000000(黑描边 2px,忽略 strokeWidth/strokeColor)
  • textShadow: 2px 2px 4px rgba(0,0,0,0.8)(固定阴影)
  • 没有 bg padding/radius/color(忽略 bgEnabled 等)

CanvasPreviewGrid 传给 FrontendPreviewPlayer 时也只透传 stroke/shadow 两个布尔值,缺失 strokeWidth/shadowColor/bg* 等字段。

修复

  • FrontendPreviewPlayer 扩展 titleSettings props,新增 strokeWidth/strokeColor/shadowOffsetX/Y/shadowBlur/shadowColor/bgEnabled/bgColor/bgPadding/bgRadius/lineHeight
  • 所有描边/阴影/背景值按容器高度等比缩放后应用到 CSS(px 单位)
  • CanvasPreviewGrid 传递 titleSettings 时补充上述字段,批量网格预览同步生效
  • 删除不再使用的 titleScale 常量
  • 数字人侧 PanelLipsyncPreview 本来就正确读字段,无需改动

校验

  • tsc --noEmit 零错误
  • Prettier 格式化

选抖音爆款黄模板后,预览区应显示黄色大字 + 8px 黑描边,与模板卡片预览一致。

## 问题 选模板卡片后(如抖音爆款黄),视频预览区标题文字没有应用模板样式,只显示默认黑色字。 根因:`FrontendPreviewPlayer.tsx` 渲染标题 overlay 时,描边/阴影/背景的 CSS 值全部硬编码: - WebkitTextStroke: `2px #000000`(黑描边 2px,忽略 strokeWidth/strokeColor) - textShadow: `2px 2px 4px rgba(0,0,0,0.8)`(固定阴影) - 没有 bg padding/radius/color(忽略 bgEnabled 等) CanvasPreviewGrid 传给 FrontendPreviewPlayer 时也只透传 stroke/shadow 两个布尔值,缺失 strokeWidth/shadowColor/bg* 等字段。 ## 修复 - FrontendPreviewPlayer 扩展 titleSettings props,新增 strokeWidth/strokeColor/shadowOffsetX/Y/shadowBlur/shadowColor/bgEnabled/bgColor/bgPadding/bgRadius/lineHeight - 所有描边/阴影/背景值按容器高度等比缩放后应用到 CSS(px 单位) - CanvasPreviewGrid 传递 titleSettings 时补充上述字段,批量网格预览同步生效 - 删除不再使用的 titleScale 常量 - 数字人侧 PanelLipsyncPreview 本来就正确读字段,无需改动 ## 校验 - tsc --noEmit 零错误 - Prettier 格式化 选抖音爆款黄模板后,预览区应显示黄色大字 + 8px 黑描边,与模板卡片预览一致。
xiaoxia added 1 commit 2026-09-23 14:11:01 +08:00
fix(title): 预览区标题样式应用真实模板描边/阴影/背景值
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 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) Failing after 1m6s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m12s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m24s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m26s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m52s
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
16e20ff63c
问题:FrontendPreviewPlayer 渲染视频预览标题时,描边宽度/颜色、阴影偏移/模糊/颜色、背景色块都被硬编码(如黑描边2px、固定2px阴影、无背景),选模板后预览文字不显示模板真实样式(例如抖音爆款黄的8px黑描边只显示2px)。

修复:
- FrontendPreviewPlayer 扩展 titleSettings props,接收 strokeWidth/strokeColor/shadowOffsetX/Y/shadowBlur/shadowColor/bgEnabled/bgColor/bgPadding/bgRadius/lineHeight 字段
- 所有描边/阴影/背景值按容器等比缩放后用于 CSS
- CanvasPreviewGrid 传递 titleSettings 时补充上述字段,批量预览同步生效
- 删除不再使用的 titleScale 常量
- 数字人侧 PanelLipsyncPreview 已正确读字段,无需改动

🚀 预览环境已部署

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

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

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

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

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #2018 | | 预览链接 | [https://pr-2018.preview.xiaoxiajianji.com](https://pr-2018.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
xiaoxia added 1 commit 2026-09-23 14:13:54 +08:00
chore: 修复 TitleMiniPreview useEffect 依赖项警告
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 / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
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 / Retag skipped 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 / 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 1m12s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m18s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m12s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m24s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m23s
AI Code Review / AI Code Review (pull_request) Successful in 6m28s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 5m42s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 27s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m3s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 10m9s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 18m51s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 19m5s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
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
ad76d25842
auto-approve-bot approved these changes 2026-09-23 14:15:16 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-09-23 14:15:16 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
xiaoxia merged commit eaed4b4cbf into develop 2026-09-23 14:21:00 +08:00

🗑️ 预览环境已清理

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

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

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