fix: 修复PR#1382引入的TypeScript编译错误 #1387

Closed
xiaoxia wants to merge 2 commits from fix/ts-errors-pr1382 into develop
Owner

修复内容

修复 PR #1382(Step4标题预览移至右侧面板)引入的 TypeScript 编译错误,解决 CI Run#30879 阻断。

修复清单

文件 问题 修复
PreviewVideoPanel.tsx showTitlePreview 重复声明(props 解构 + 局部 const) 删除多余的 const showTitlePreview = !!titleSettings,使用 props 传入的值
PreviewVideoPanel.tsx TitlePreviewCanvas 组件使用但未 import 添加 import TitlePreviewCanvas from "./title/TitlePreviewCanvas"
Step4TitleSettings.tsx TitlePreviewCanvas import 了但未使用(已迁移到 PreviewVideoPanel) 删除未使用的 import
GeneratePage.tsx useQuery 使用但未 import 添加 import { useQuery } from "@tanstack/react-query"
GeneratePage.tsx getAssetsByKind 使用但未 import 添加 import { getAssetsByKind } from "@/api/assets/assets"
GeneratePage.tsx 回调参数 a 缺少类型标注 添加 AssetItem 类型标注

验证

  • npx tsc --noEmit 零代码错误
  • npx prettier --check 格式通过
## 修复内容 修复 PR #1382(Step4标题预览移至右侧面板)引入的 TypeScript 编译错误,解决 CI Run#30879 阻断。 ### 修复清单 | 文件 | 问题 | 修复 | |------|------|------| | `PreviewVideoPanel.tsx` | `showTitlePreview` 重复声明(props 解构 + 局部 const) | 删除多余的 `const showTitlePreview = !!titleSettings`,使用 props 传入的值 | | `PreviewVideoPanel.tsx` | `TitlePreviewCanvas` 组件使用但未 import | 添加 `import TitlePreviewCanvas from "./title/TitlePreviewCanvas"` | | `Step4TitleSettings.tsx` | `TitlePreviewCanvas` import 了但未使用(已迁移到 PreviewVideoPanel) | 删除未使用的 import | | `GeneratePage.tsx` | `useQuery` 使用但未 import | 添加 `import { useQuery } from "@tanstack/react-query"` | | `GeneratePage.tsx` | `getAssetsByKind` 使用但未 import | 添加 `import { getAssetsByKind } from "@/api/assets/assets"` | | `GeneratePage.tsx` | 回调参数 `a` 缺少类型标注 | 添加 `AssetItem` 类型标注 | ### 验证 - ✅ `npx tsc --noEmit` 零代码错误 - ✅ `npx prettier --check` 格式通过
xiaoxia added the bugfrontendP1 labels 2026-08-16 00:40:51 +08:00
xiaoxia added 1 commit 2026-08-16 00:40:51 +08:00
fix: 修复PR#1382引入的TypeScript编译错误
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 / 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 / Check if frontend-only change (pull_request) Successful in 1m36s
CI/CD Pipeline / Unit 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
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m42s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m44s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m59s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 2m7s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 42s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m31s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m13s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m9s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
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 / Canary Release to Production (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
AI Code Review / AI Code Review (pull_request) Successful in 4m45s
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
3717787cc8
- PreviewVideoPanel: 删除重复的 showTitlePreview 声明,添加 TitlePreviewCanvas import
- Step4TitleSettings: 删除未使用的 TitlePreviewCanvas import
- GeneratePage: 补充 useQuery / getAssetsByKind / AssetItem import,修复回调参数类型标注

修复 CI Run#30879 阻断的 TS 编译错误

🚀 预览环境已部署

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

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

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

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

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1387 | | 预览链接 | [https://pr-1387.preview.xiaoxiajianji.com](https://pr-1387.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
xiaoxia added 1 commit 2026-08-16 00:46:30 +08:00
fix: 修复PreviewVideoPanel JSX结构-将视频+Canvas叠加层移出!showTitlePreview块
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 / 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 / Check if frontend-only change (pull_request) Successful in 1m0s
CI/CD Pipeline / Unit 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 / Validate - Migration (alembic) (pull_request) Successful in 1m36s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m36s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m38s
AI Code Review / AI Code Review (pull_request) Successful in 1m39s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 50s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 51s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m55s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m59s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m42s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
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 Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 39m21s
CI/CD Pipeline / CI Gate (pull_request) Failing after 14s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 41s
157ebd4ef2
- 预览成功+Canvas标题叠加层提升到顶层,仅在 hasPreview 条件下渲染
- 空状态/生成中/生成失败/预览信息添加 !showTitlePreview 守卫
- 修复 Canvas overlay 在 showTitlePreview=true 时永远不渲染的死代码问题
Collaborator

代码审查结果 - PR #1387

⚠️ 问题(1个需要修改)

  1. PreviewVideoPanel.tsx 第55行(删除处)及后续JSX:代码删除了 const showTitlePreview = !!titleSettings 的定义,但在后续的 JSX 逻辑中(如第 210、226、239、251 行)仍然使用了 showTitlePreview 变量进行条件判断。这会导致运行时抛出 ReferenceError: showTitlePreview is not defined,导致页面崩溃无法渲染。

💡 建议(2个可选)

  1. PreviewVideoPanel.tsx 第19行:导入了 TitlePreviewCanvas 组件,但在当前代码中并未作为组件使用(JSX 中使用的是原生 <canvas> 标签),建议移除该无用导入。
  2. GeneratePage.tsx 第15-16行:导入了 useQuerygetAssetsByKind,但在当前 diff 展示的代码范围内未实际使用。如果是为了后续功能预留可忽略,否则建议移除以保持代码整洁。

格式检查通过 | 逻辑审查需修改 | 性能无明显问题


🤖 由 AI 代码审查机器人自动生成 | 2026-08-15 16:48:09 | 模型:

## 代码审查结果 - PR #1387 ### ⚠️ 问题(1个需要修改) 1. **PreviewVideoPanel.tsx 第55行(删除处)及后续JSX**:代码删除了 `const showTitlePreview = !!titleSettings` 的定义,但在后续的 JSX 逻辑中(如第 210、226、239、251 行)仍然使用了 `showTitlePreview` 变量进行条件判断。这会导致运行时抛出 `ReferenceError: showTitlePreview is not defined`,导致页面崩溃无法渲染。 ### 💡 建议(2个可选) 1. **PreviewVideoPanel.tsx 第19行**:导入了 `TitlePreviewCanvas` 组件,但在当前代码中并未作为组件使用(JSX 中使用的是原生 `<canvas>` 标签),建议移除该无用导入。 2. **GeneratePage.tsx 第15-16行**:导入了 `useQuery` 和 `getAssetsByKind`,但在当前 diff 展示的代码范围内未实际使用。如果是为了后续功能预留可忽略,否则建议移除以保持代码整洁。 --- ✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能无明显问题 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-08-15 16:48:09 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia closed this pull request 2026-08-16 16:59:47 +08:00

🗑️ 预览环境已清理

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

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

🗑️ **预览环境已清理** PR #1387 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Some checks are pending
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 / 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 / Check if frontend-only change (pull_request) Successful in 1m0s
CI/CD Pipeline / Unit 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 / Validate - Migration (alembic) (pull_request) Successful in 1m36s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m36s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m38s
AI Code Review / AI Code Review (pull_request) Successful in 1m39s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 50s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 51s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m55s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m59s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m42s
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
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 Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 39m21s
CI/CD Pipeline / CI Gate (pull_request) Failing after 14s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 41s

Pull request closed

Sign in to join this conversation.