From a1c16be1eaa370a8b687e859cee778f62d36b1fc Mon Sep 17 00:00:00 2001 From: seaislee1209 Date: Tue, 12 May 2026 14:48:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(records):=20=E4=BB=BB=E5=8A=A1=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=BC=B9=E7=AA=97=E5=8A=A0=E8=A7=86=E9=A2=91=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=20+=20RGB=20=E6=95=85=E9=9A=9C=E5=AD=97=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 需求: 消费记录 detail modal 加多一个视频展示框 - completed + result_url → 视频播放器 - failed → 失败图标 (RGB 故障字风格) - processing/queued → spinner 现有信息排版整体搬到右侧,布局不动。 后端 (apps/generation/views.py): admin_records_view + team_records_view 返回字段加 'result_url' (model 早就有 result_url, 只是这俩 list API 没暴露) 前端类型 (web/src/types/index.ts): AdminRecord 加 result_url?: string RecordDetailModal 重构 (web/src/components/RecordDetailModal.tsx): - 弹窗宽 560 → 1080 (maxWidth 95vw, maxHeight 85vh) - body display: flex 双栏 - 左侧 480 固定宽 + 16:9 视频框 + object-fit: contain (沿用 GenerationCard.resultArea 同一套 sizing 思路, 不同长宽比视频用 contain 居中 + 黑边补足) - 右侧 flex 1, overflow-y auto, 现有内容整体搬过去排版不动 - 视频用 controls + preload="metadata", 不自动播放, 跟全局音量走 MediaArea 组件分支: - completed + result_url: