修复图片展示错误

This commit is contained in:
yml2213
2026-07-23 17:30:59 +08:00
parent 95f3857470
commit 9d74cbcf8d
3 changed files with 23 additions and 9 deletions
+20 -6
View File
@@ -306,20 +306,34 @@ func centToYuan(value int64) float64 {
func cleanScreenshotURLs(urls []string) []string { func cleanScreenshotURLs(urls []string) []string {
cleaned := make([]string, 0, len(urls)) cleaned := make([]string, 0, len(urls))
seen := make(map[string]struct{}, len(urls)) seen := make(map[string]struct{}, len(urls))
for _, url := range urls { for _, fileURL := range urls {
url = strings.TrimSpace(url) fileURL = normalizeDefaultScreenshotURL(strings.TrimSpace(fileURL))
if url == "" { if fileURL == "" {
continue continue
} }
if _, ok := seen[url]; ok { if _, ok := seen[fileURL]; ok {
continue continue
} }
seen[url] = struct{}{} seen[fileURL] = struct{}{}
cleaned = append(cleaned, url) cleaned = append(cleaned, fileURL)
} }
return cleaned return cleaned
} }
// normalizeDefaultScreenshotURL 把历史默认图地址升级到当前版本,避免浏览器继续吃旧 SVG 缓存。
func normalizeDefaultScreenshotURL(fileURL string) string {
if fileURL == "" {
return ""
}
switch {
case fileURL == "/api/listings/default-upload-screenshot",
strings.HasPrefix(fileURL, "/api/listings/default-upload-screenshot?"):
return defaultUploadScreenshot
default:
return fileURL
}
}
func firstScreenshotURL(urls []string) string { func firstScreenshotURL(urls []string) string {
if len(urls) == 0 { if len(urls) == 0 {
return "" return ""
+1 -1
View File
@@ -47,7 +47,7 @@ const (
defaultFireLevelMin = 38 defaultFireLevelMin = 38
defaultPublishCooldownMinutes = 5 defaultPublishCooldownMinutes = 5
maxExternalUploadItems = 10 maxExternalUploadItems = 10
defaultUploadScreenshot = "/api/listings/default-upload-screenshot" defaultUploadScreenshot = "/api/listings/default-upload-screenshot?v=webp1"
) )
type PublishCooldownError struct { type PublishCooldownError struct {
@@ -36,7 +36,7 @@ interface RiskItem {
level: RiskLevel level: RiskLevel
} }
const defaultScreenshotURL = '/api/listings/default-upload-screenshot' const defaultScreenshotURL = '/api/listings/default-upload-screenshot?v=webp1'
const rejectReasonOptions = [ const rejectReasonOptions = [
'默认截图,需补充真实截图', '默认截图,需补充真实截图',
'账号资产信息不完整', '账号资产信息不完整',
@@ -451,7 +451,7 @@ function hasDefaultScreenshot(row: Listing) {
} }
function isDefaultScreenshot(url: string) { function isDefaultScreenshot(url: string) {
return url.includes(defaultScreenshotURL) return url.includes('/api/listings/default-upload-screenshot')
} }
function riskItems(row: Listing): RiskItem[] { function riskItems(row: Listing): RiskItem[] {