fix: 优化验收操作和图片去重

This commit is contained in:
yml2213
2026-08-15 14:27:12 +08:00
parent 55a658b4fe
commit 190445319b
3 changed files with 77 additions and 46 deletions
@@ -44,10 +44,15 @@ function normalizePreviewItems(files: UploadedFile[], imageUrls: string[]) {
mediumUrl: file.mediumUrl || file.url,
}))
.filter((item) => Boolean(item.url))
const fileUrlSet = new Set(normalizedFiles.map((item) => item.url))
const fileUrlSet = new Set(normalizedFiles.map((item) => getImageIdentity(item.url)))
const normalizedUrls = imageUrls
.map((url) => String(url || '').trim())
.filter((url) => url && !fileUrlSet.has(url))
.filter((url) => url && !fileUrlSet.has(getImageIdentity(url)))
.map((url) => ({ url, thumbnailUrl: url, mediumUrl: url }))
return [...normalizedFiles, ...normalizedUrls]
}
/** 忽略临时签名参数,避免同一存储对象重复显示。 */
function getImageIdentity(value: string) {
return String(value || '').trim().split(/[?#]/, 1)[0]
}