fix: AI数字人「我的音色」试听无音频时弹提示而非静默返回 #1813

Merged
auto-approve-bot merged 2 commits from fix/ai-avatar-preview-tip into develop 2026-09-09 09:55:10 +08:00
Owner

问题

PanelVoiceSelector 的「我的音色」(clone) preview_url/audio_url 都为空字符串,handlePreview 里 if (!url) return 静默返回,用户点击没任何反应。

修复

  • URL 为空时弹 message.warning:「该音色暂无试听音频,请先用此音色生成一段配音后再试听」
  • 播放按钮 disabled={!previewUrl} 保留,同时加 title=NO_PREVIEW_TIP 悬浮提示
  • audio.onerror / audio.play().catch 改用 message.error 提示(原 setError 会意外覆盖整列音色列表,也一并修正)

不动

  • 播放逻辑本身(Audio 创建/播放/停止)
  • 音色列表布局
  • 系统预设音色播放
  • 其他面板

验收

  • tsc 0 / ESLint 0 / Prettier / vite build / 746 单测全过
  • CI 全绿
## 问题 PanelVoiceSelector 的「我的音色」(clone) preview_url/audio_url 都为空字符串,handlePreview 里 `if (!url) return` 静默返回,用户点击没任何反应。 ## 修复 - URL 为空时弹 `message.warning`:「该音色暂无试听音频,请先用此音色生成一段配音后再试听」 - 播放按钮 `disabled={!previewUrl}` 保留,同时加 `title=NO_PREVIEW_TIP` 悬浮提示 - `audio.onerror` / `audio.play().catch` 改用 `message.error` 提示(原 setError 会意外覆盖整列音色列表,也一并修正) ## 不动 - 播放逻辑本身(Audio 创建/播放/停止) - 音色列表布局 - 系统预设音色播放 - 其他面板 ## 验收 - tsc 0 / ESLint 0 / Prettier / vite build / 746 单测全过 - CI 全绿
xiaoxia added 2 commits 2026-09-09 09:49:29 +08:00
feat: #1811 新增文案库独立页面
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 2s
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 / 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 Unit Tests (pull_request) Successful in 1m32s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m37s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m41s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m45s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m48s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m59s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 2m11s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 3m27s
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 skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 3s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 2m15s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 7s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 23s
AI Code Review / AI Code Review (pull_request) Successful in 6m23s
211725128b
- 路由:/app/scripts,位于标题库路由之后
- 导航:NAV_ITEMS 与 NAV_GROUPS 资源管理组下标题库之后插入「文案库」
- 新建页面 src/pages/scripts/ScriptLibrary.tsx,风格对齐标题库
- 新建 API 层 src/api/scripts(GET/POST/PUT/DELETE,列表必须解包 items)
- 支持:列表 / 新建 / 编辑 / 删除 / 按标题搜索 / 空状态
- 不动 AI 数字人弹窗内的文案选择;不修改标题库/智能剪辑等现有页面
fix: 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 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 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 / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Validate - Style (pull_request) Successful in 1m9s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m22s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m41s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m38s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m42s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m47s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m46s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 4m55s
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 skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 3m52s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 5s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 20s
AI Code Review / AI Code Review (pull_request) Successful in 6m33s
f58c4dfa9b
clone 音色 preview_url/audio_url 都为空时,播放按钮点击静默 return
用户感知不到原因。改为:

- URL 为空时弹 message.warning 提示「该音色暂无试听音频,请先用此音色
  生成一段配音后再试听」
- 播放按钮 disabled 保留,同时加 title=NO_PREVIEW_TIP 悬浮提示
- audio.onerror / audio.play().catch 改用 message.error 提示
  (原 setError 会意外覆盖整列音色列表,也修正为仅影响 toast)

不动播放逻辑/音色列表布局/系统预设音色/其他面板。

🚀 预览环境已部署

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

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

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

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

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

CI全绿,自动审批通过。

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

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot merged commit 7c738ee64d into develop 2026-09-09 09:55:10 +08:00
auto-approve-bot deleted branch fix/ai-avatar-preview-tip 2026-09-09 09:55:11 +08:00

🗑️ 预览环境已清理

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

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

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