diff --git a/h3-console/static/index.html b/h3-console/static/index.html index 6ed6eba..c108766 100644 --- a/h3-console/static/index.html +++ b/h3-console/static/index.html @@ -347,12 +347,18 @@ function filenameFromUrl(u) { } catch (e) { return u; } } -// 每个预览项都包一层 .thumb-wrap,媒体本体再包一层 .thumb-media 挂 × 删除按钮, -// 下面接一行文件名 caption——上传上去选错了/传多了,之前只能整个表单清空重来, -// 2026-08-24 用户要求能单个删;文件名是 2026-08-24 补的,之前只有个位置标签看不出传的是哪个文件。 +// 每个预览项都包一层 .thumb-wrap,文件名 caption 放在最上面、媒体本体再包一层 +// .thumb-media 挂 × 删除按钮——上传上去选错了/传多了,之前只能整个表单清空重来, +// 2026-08-24 用户要求能单个删;文件名是 2026-08-24 补的,之前只有个位置标签看不出传的是 +// 哪个文件;2026-08-25 改成放图片上方(之前放下面,用户反馈不够显眼,容易当成没显示)。 function wrapWithDelete(mediaEl, onDelete, caption) { const wrap = document.createElement('span'); wrap.className = 'thumb-wrap'; + if (caption) { + const cap = document.createElement('span'); + cap.className = 'thumb-name'; cap.textContent = caption; cap.title = caption; + wrap.appendChild(cap); + } const mediaWrap = document.createElement('span'); mediaWrap.className = 'thumb-media'; const del = document.createElement('button'); @@ -360,11 +366,6 @@ function wrapWithDelete(mediaEl, onDelete, caption) { del.onclick = onDelete; mediaWrap.appendChild(mediaEl); mediaWrap.appendChild(del); wrap.appendChild(mediaWrap); - if (caption) { - const cap = document.createElement('span'); - cap.className = 'thumb-name'; cap.textContent = caption; cap.title = caption; - wrap.appendChild(cap); - } return wrap; } @@ -827,11 +828,14 @@ async function refreshDetail() { if (req.first_frame_url) imgs.push(['首帧', req.first_frame_url]); if (req.last_frame_url) imgs.push(['尾帧', req.last_frame_url]); (req.reference_image_urls || []).forEach((u, i) => imgs.push(['参考图'+(i+1), u])); - // 图片点开看大图,参考视频/音频跟生成结果的视频一样用原生播放器直接预览;每个媒体下面 - // 再带一行文件名(从上传时 server.py 塞进 URL 里的原名反解出来,见 filenameFromUrl)。 + // 图片点开看大图,参考视频/音频跟生成结果的视频一样用原生播放器直接预览;每个媒体上面 + // 带一行文件名(从上传时 server.py 塞进 URL 里的原名反解出来,见 filenameFromUrl—— + // 引用外部图床的旧任务URL里没有这个原名分段,会退化成显示URL里的原始文件名/hash, + // 不算错误,只是没有更好的名字可用)。2026-08-25:caption 挪到图片上方(之前在下面, + // 用户反馈不够显眼)。 const thumbCap = (label, u) => `${label} · ${filenameFromUrl(u)}`.replace(/ - `${mediaHtml}${thumbCap(label,u)}`; + `${thumbCap(label,u)}${mediaHtml}`; const imgTags = imgs.map(([label, u]) => viewThumb(``, label, u)).join(''); const videoTags = (req.reference_video_urls || []).map((u, i) =>