fix(frontend): #1913 智能剪辑无有效模板时后端自动兜底,移除空template硬拦截 #1913

Merged
auto-approve-bot merged 5 commits from fix/1913-preview-material-fallback into develop 2026-09-15 00:58:05 +08:00
Owner

P0 修复:智能剪辑预览卡在"独立选片中..."拿不到素材

问题根因

用户无有效模板时 selectedTemplate 为空,前端 useStep2Materials 和 useBatchVariantPlans 中 if (!templateId) return 硬拦截直接退出,不发任何请求,导致预览一直卡在"独立选片中"。

修复内容

  1. useStep2Materials.ts:去掉 if (!tid) return 硬拦截,空 tid 时仍发 from-assets 请求(后端自动兜底创建默认 voice_over 模板)
  2. useBatchVariantPlans.ts:去掉 if (!templateId) 硬拦截,空 templateId 时仍发 variant-plans 请求;新增超时/失败友好错误提示
  3. templateFallback.ts:isValidTemplate 逻辑保持不变,自动选择逻辑已允许 validTemplates 为空时流程继续
  4. Step2MaterialSelect/GenerateStepContent:新增 selectedTemplate prop 传递,确保 hook 能拿到 template 信息
  5. 错误处理:后端返回错误时显示友好提示("素材匹配失败,请稍后重试" / "智能选片超时,请检查网络后重试")

关联

  • 后端 #1913 已对无模板场景做自动兜底(创建默认 voice_over 模板并返回片段数据)
  • 本次配合后端移除前端硬拦截
## P0 修复:智能剪辑预览卡在"独立选片中..."拿不到素材 ### 问题根因 用户无有效模板时 selectedTemplate 为空,前端 `useStep2Materials` 和 `useBatchVariantPlans` 中 `if (!templateId) return` 硬拦截直接退出,不发任何请求,导致预览一直卡在"独立选片中"。 ### 修复内容 1. **useStep2Materials.ts**:去掉 `if (!tid) return` 硬拦截,空 tid 时仍发 from-assets 请求(后端自动兜底创建默认 voice_over 模板) 2. **useBatchVariantPlans.ts**:去掉 `if (!templateId)` 硬拦截,空 templateId 时仍发 variant-plans 请求;新增超时/失败友好错误提示 3. **templateFallback.ts**:isValidTemplate 逻辑保持不变,自动选择逻辑已允许 validTemplates 为空时流程继续 4. **Step2MaterialSelect/GenerateStepContent**:新增 selectedTemplate prop 传递,确保 hook 能拿到 template 信息 5. **错误处理**:后端返回错误时显示友好提示("素材匹配失败,请稍后重试" / "智能选片超时,请检查网络后重试") ### 关联 - 后端 #1913 已对无模板场景做自动兜底(创建默认 voice_over 模板并返回片段数据) - 本次配合后端移除前端硬拦截
xiaoxia added 5 commits 2026-09-15 00:48:40 +08:00
fix(frontend): #1913 智能剪辑无模板时后端自动兜底,移除空template硬拦截
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 / Frontend Unit Tests (pull_request) Successful in 1m51s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m5s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m11s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 2m12s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m18s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m17s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 3m32s
AI Code Review / AI Code Review (pull_request) Successful in 6m39s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 8m43s
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 7m2s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 15s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 36s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 38h26m17s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 38h34m57s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 38h35m0s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 38h35m4s
CI/CD Pipeline / PR Build API Image (pull_request) Failing after 38h34m31s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 38h25m48s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 38h34m30s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 38h34m30s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 38h34m30s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 38h34m32s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 38h34m32s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 38h25m48s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 38h25m48s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 38h34m26s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 38h25m45s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 38h34m26s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 38h34m31s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 38h34m33s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 38h34m31s
CI/CD Pipeline / PR Build Worker Image (pull_request) Failing after 39h9m59s
3670ee2402

🚀 预览环境已部署

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

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

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

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

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1913 | | 预览链接 | [https://pr-1913.preview.xiaoxiajianji.com](https://pr-1913.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot approved these changes 2026-09-15 00:50:59 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

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

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot merged commit b51fffd9b5 into develop 2026-09-15 00:58:05 +08:00
auto-approve-bot deleted branch fix/1913-preview-material-fallback 2026-09-15 00:58:05 +08:00

🗑️ 预览环境已清理

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

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

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