优化图片处理逻辑:优先使用最小变体以节省流量,并新增 normalizeImageUrl 函数处理相对路径问题

This commit is contained in:
2026-01-30 14:28:14 +08:00
parent 845dc7d045
commit 52fb8c9328
4 changed files with 85 additions and 3 deletions

View File

@@ -156,7 +156,7 @@
</div>
<!-- 图片网格 -->
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6">
<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 gap-6">
<div
v-for="(image, index) in images"
:key="image.date || index"
@@ -264,6 +264,7 @@
import { ref, computed, onMounted, onUnmounted, watch } from 'vue'
import { useImageList } from '@/composables/useImages'
import { bingPaperApi } from '@/lib/api-service'
import { normalizeImageUrl } from '@/lib/api-config'
import { useRouter } from 'vue-router'
import { getDefaultMkt, setSavedMkt, SUPPORTED_REGIONS, setSupportedRegions } from '@/lib/mkt-utils'
import {
@@ -570,8 +571,11 @@ const getLatestImageUrl = () => {
return bingPaperApi.getImageUrlByDate(latestImage.value.date, 'UHD', 'jpg', latestImage.value.mkt)
}
// 获取图片 URL缩略图 - 使用较小分辨率节省流量)
// 获取图片 URL缩略图 - 优先使用后端返回的最小变体以节省流量)
const getImageUrl = (image: any) => {
if (image.variants && image.variants.length > 0) {
return normalizeImageUrl(image.variants[0].url)
}
return bingPaperApi.getImageUrlByDate(image.date!, '640x480', 'jpg', image.mkt)
}