diff --git a/hunliji-api/router/routers.go b/hunliji-api/router/routers.go index f21bce4..4c3ba13 100644 --- a/hunliji-api/router/routers.go +++ b/hunliji-api/router/routers.go @@ -582,6 +582,14 @@ func collectAlbumImages(configData string) []string { seen[src] = true images = append(images, src) } + // 相册灯箱优先原图;无原图时再退缩放展示图 + addPrefer := func(primary interface{}, fallback interface{}) { + if src, ok := primary.(string); ok && strings.TrimSpace(src) != "" { + add(primary) + return + } + add(fallback) + } add(raw["heroImg"]) add(raw["endImg"]) if pages, ok := raw["photoPages"].([]interface{}); ok { @@ -590,12 +598,23 @@ func collectAlbumImages(configData string) []string { if !ok { continue } - add(page["img1"]) - add(page["img2"]) - if pageImages, ok := page["images"].([]interface{}); ok { - for _, src := range pageImages { - add(src) + addPrefer(page["img1"], page["img1Resized"]) + addPrefer(page["img2"], page["img2Resized"]) + pageImages, _ := page["images"].([]interface{}) + pageResized, _ := page["imagesResized"].([]interface{}) + n := len(pageImages) + if len(pageResized) > n { + n = len(pageResized) + } + for i := 0; i < n; i++ { + var primary, fallback interface{} + if i < len(pageImages) { + primary = pageImages[i] } + if i < len(pageResized) { + fallback = pageResized[i] + } + addPrefer(primary, fallback) } } } diff --git a/vite-tailwindcss/src/components/PhotoGallery.vue b/vite-tailwindcss/src/components/PhotoGallery.vue index 7c893c8..51a9ddb 100644 --- a/vite-tailwindcss/src/components/PhotoGallery.vue +++ b/vite-tailwindcss/src/components/PhotoGallery.vue @@ -11,7 +11,7 @@