revert(listings): 首页卡片恢复使用原生 img 与公开缩略图链路 (16KB秒开)

This commit is contained in:
yml2213
2026-09-06 20:36:25 +08:00
parent ac909d6757
commit 823632b608
5 changed files with 19 additions and 74 deletions
@@ -9,7 +9,6 @@ import {
useListingCollections,
type ListingCollectionItem,
} from '@/features/listings/composables/useListingCollections'
import AuthImage from '@/shared/components/business/AuthImage.vue'
import { formatCent, formatMoney } from '@/shared/utils/money'
import {
formatHafCoinM,
@@ -17,7 +16,6 @@ import {
getCoinWan,
getListingDisplayPrice,
getListingTitle,
getCoinScreenshotURL,
} from '@/shared/utils/listingDisplay'
const route = useRoute()
@@ -138,11 +136,12 @@ function timeText(item: ListingCollectionItem) {
<section v-else class="mobile-list">
<article v-for="item in activeItems" :key="item.listing.id" class="mobile-card">
<RouterLink :to="detailPath(item)" class="mobile-card-main">
<AuthImage
v-if="getCoinScreenshotURL(item.listing)"
:source="getCoinScreenshotURL(item.listing)"
<img
v-if="item.listing.cover_url || item.listing.screenshot_urls?.[0]"
:src="item.listing.cover_url || item.listing.screenshot_urls?.[0]"
:alt="getListingTitle(item.listing)"
fit="cover"
loading="lazy"
decoding="async"
/>
<div v-else class="mobile-cover-empty">HFB</div>
<div class="mobile-info">
@@ -728,20 +728,6 @@
display: block;
}
.mobile-card-media .auth-image-fallback {
width: 100%;
height: 100%;
min-height: 100%;
border: none;
border-radius: 0;
background: #f1f5f9;
color: #94a3b8;
font-size: 11px;
display: flex;
align-items: center;
justify-content: center;
}
.media-empty {
display: flex;
align-items: center;
@@ -53,7 +53,6 @@ import {
hasAcceleratedSaleRatio,
hasGiftResources,
isTopTierInsurance,
getCoinScreenshotURL,
getCoinWan,
formatHafCoinM,
readAssetString,
@@ -1046,13 +1045,12 @@ syncMobileHomeQuery()
<div class="mobile-card-body">
<!-- 左侧封面 -->
<div class="mobile-card-media">
<AuthImage
v-if="getCoinScreenshotURL(item)"
:source="getCoinScreenshotURL(item)"
<img
v-if="item.cover_url || item.screenshot_urls?.[0]"
:src="item.cover_url || item.screenshot_urls?.[0]"
:alt="formatListingCode(item)"
image-class="mobile-media-img"
fallback-class="mobile-media-fallback"
fit="cover"
loading="lazy"
decoding="async"
/>
<div v-else class="media-empty">HFB</div>