perf(listings): 优化详情页图片加载链路支持公开变体与分级秒开

This commit is contained in:
yml2213
2026-09-06 21:40:35 +08:00
parent 823632b608
commit 23883d4be5
7 changed files with 168 additions and 11 deletions
@@ -115,9 +115,27 @@ async function loadImage() {
const sourceURL = await resolveURL(props.source)
imageURL.value = sourceURL
if (props.previewSrcList?.length) {
previewURLs.value = await Promise.all(
props.previewSrcList.map(url => (url === props.source ? sourceURL : resolveURL(url)))
// 先填充公开或当前已解析的主图 URL,让预览组件立即可用
const initialPreviews = props.previewSrcList.map(url =>
url === props.source ? sourceURL : url
)
previewURLs.value = initialPreviews
// 若包含需要鉴权转 Blob 的私有 URL,在后台异步静默解析,不阻塞主图呈现
const hasAuthPreviews = props.previewSrcList.some(
url => url !== props.source && shouldFetchWithAuth(url)
)
if (hasAuthPreviews) {
Promise.all(
props.previewSrcList.map(url => (url === props.source ? sourceURL : resolveURL(url)))
)
.then(urls => {
previewURLs.value = urls
})
.catch(() => {
// 预览图静默降级,不破坏主图正常显示
})
}
}
} catch {
failed.value = true