fix(video): 视频卡用首帧当封面(#t=0.1),不再显示空白占位
<video preload="metadata"> 不解码画面、又没 poster(后端抽帧没产出 poster 文件)→ 卡片空白。 给缩略图视频地址加 #t=0.1,浏览器跳到 0.1s 渲染该帧当封面;取的是当前采用版 mp4(=最新版)。 改:视频卡缩略图 + 详情弹窗历史版本缩略图。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
ee842da19c
commit
79fc95f1b7
@@ -3148,7 +3148,7 @@ export function PipelinePage(props: {
|
||||
<div className="video-card" key={seg.id} data-video-id={seg.id}>
|
||||
<div className="placeholder video-thumb" style={{ position: "relative", overflow: "hidden" }} role="button" tabIndex={0} title="点击查看详情(历史版本/提示词/重跑)" onClick={() => openVideoDetail(seg.id)} onKeyDown={(event) => { if (event.key === "Enter" || event.key === " ") { event.preventDefault(); openVideoDetail(seg.id); } }}>
|
||||
{url
|
||||
? <video src={url} muted playsInline preload="metadata" style={{ position: "absolute", inset: 0, width: "100%", height: "100%", objectFit: "cover", borderRadius: "inherit" }} />
|
||||
? <video src={`${url}#t=0.1`} muted playsInline preload="metadata" style={{ position: "absolute", inset: 0, width: "100%", height: "100%", objectFit: "cover", borderRadius: "inherit" }} />
|
||||
: <span className="ph-frame">场 {seg.sort_order + 1}</span>}
|
||||
{url && !showBusy && <div className="play"><div className="btn-play"><Play size={14} fill="currentColor" /></div></div>}
|
||||
{showBusy && <span className="sb-gen-veil" aria-hidden="true"><span className="spinner" /></span>}
|
||||
@@ -3604,7 +3604,7 @@ export function PipelinePage(props: {
|
||||
{vdVersions.length ? vdVersions.map((v) => (
|
||||
<div className={`vd-history-thumb${v.id === vdVer?.id ? " current" : ""}${v.is_adopted ? " adopted" : ""}`} key={v.id} role="button" tabIndex={0} title={v.is_adopted ? "已采用版本" : "点击查看该版本"} onClick={() => setVdVerId(v.id)} onKeyDown={(event) => { if (event.key === "Enter" || event.key === " ") { event.preventDefault(); setVdVerId(v.id); } }}>
|
||||
<div className="placeholder" style={{ position: "relative", overflow: "hidden" }}>
|
||||
{v.asset_url && <video src={v.asset_url} muted playsInline preload="metadata" style={{ position: "absolute", inset: 0, width: "100%", height: "100%", objectFit: "cover" }} />}
|
||||
{v.asset_url && <video src={`${v.asset_url}#t=0.1`} muted playsInline preload="metadata" style={{ position: "absolute", inset: 0, width: "100%", height: "100%", objectFit: "cover" }} />}
|
||||
</div>
|
||||
<div className="ts">{(v.created_at || "").slice(11, 16) || "--:--"}</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user