fix: 测试页同时兼容 base64 与 URL 图片字段
直连 worker 返回 *_base64、经网关则改写为 *_url;统一 resolveImgSrc 后接口1/2/3/5/6 测试页都能正确显示结果图。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+16
-11
@@ -88,7 +88,7 @@
|
||||
.hidden { display: none !important; }
|
||||
@media (max-width: 800px) { .results-layout { flex-direction: column; } }
|
||||
</style>
|
||||
<script src="/static/img_downscale.js"></script>
|
||||
<script src="/static/img_downscale.js?v=2"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
@@ -237,25 +237,30 @@ async function submitTest() {
|
||||
function renderGrid() {
|
||||
if (!_images.length) { $('resultsGrid').innerHTML = '<span style="color:#9ca3af">无数据</span>'; return; }
|
||||
let h = '';
|
||||
// 叠图档:原图打底 + 透明 PNG 叠加(无原图或无叠图 → 显示占位)
|
||||
const overlayCell = (label, url) => (url && _origUrl)
|
||||
// 叠图档:原图打底 + 透明 PNG 图层(无原图或无叠图 → 显示占位)
|
||||
const overlayCell = (label, src) => (src && _origUrl)
|
||||
? '<div class="level-cell"><div class="level-label">'+label+'</div><div class="img-stack">'+
|
||||
'<img class="layer-base" src="'+_origUrl+'" alt="原图">'+
|
||||
'<img class="layer-anno" src="'+url+'" alt="'+label+'"></div></div>'
|
||||
'<img class="layer-anno" src="'+src+'" alt="'+label+'"></div></div>'
|
||||
: '<div class="level-cell"><div class="level-label">'+label+'</div><div class="level-none">无</div></div>';
|
||||
// 生发图:独立 img(已是 ComfyUI 完整人像照片)
|
||||
const grownCell = (label, url) => url
|
||||
? '<div class="level-cell"><div class="level-label">'+label+'</div><img src="'+url+'" alt="'+label+'"></div>'
|
||||
const grownCell = (label, src) => src
|
||||
? '<div class="level-cell"><div class="level-label">'+label+'</div><img src="'+src+'" alt="'+label+'"></div>'
|
||||
: '<div class="level-cell"><div class="level-label">'+label+'</div><div class="level-none">无</div></div>';
|
||||
_images.forEach(function(it) {
|
||||
// 兼容网关 *_url 与 worker *_base64
|
||||
const mid = resolveImgSrc(it.image_middle_url, it.image_middle_base64, 'image/png');
|
||||
const high = resolveImgSrc(it.image_high_url, it.image_high_base64, 'image/png');
|
||||
const low = resolveImgSrc(it.image_low_url, it.image_low_base64, 'image/png');
|
||||
const grown = resolveImgSrc(it.grown_image_url, it.grown_image_base64, 'image/jpeg');
|
||||
h += '<div class="hair-block">' +
|
||||
'<div class="hair-block-title">#' + (it.order||'—') + ' ' + (it.hairline_type||'') +
|
||||
(it.grown_image_url ? ' <span style="font-size:11px;color:#7c3aed">含生发图</span>' : '') + '</div>' +
|
||||
(grown ? ' <span style="font-size:11px;color:#7c3aed">含生发图</span>' : '') + '</div>' +
|
||||
'<div class="level-row">' +
|
||||
overlayCell('middle', it.image_middle_url) +
|
||||
overlayCell('high', it.image_high_url) +
|
||||
overlayCell('low', it.image_low_url) +
|
||||
grownCell('生发图', it.grown_image_url) +
|
||||
overlayCell('middle', mid) +
|
||||
overlayCell('high', high) +
|
||||
overlayCell('low', low) +
|
||||
grownCell('生发图', grown) +
|
||||
'</div>' +
|
||||
'</div>';
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user