@ -502,6 +502,7 @@ const seasonOptions: { value: string; label: string }[] = [
|
||||
// 图片总数只用于末位遮罩文案,通过 moreLabel 回调传入。
|
||||
getCardSlots(it: ArticleItem) {
|
||||
const total = it.image_count || 0
|
||||
// 缩略图条带跳过主图(it.cover 即 gallery[0]),从第二张起,避免首张缩略图与主图重复。
|
||||
return makeCardSlots(it.gallery || [], 5, {
|
||||
moreLabel: () => (total > 30 ? "30+" : `${total}+`),
|
||||
})
|
||||
|
||||
@ -297,6 +297,7 @@ const cityOptions: { value: string; label: string }[] = [
|
||||
// 卡片右侧缩略图条带:固定 5 个槽位,缺图留 placeholder
|
||||
// 街拍 images 是 { image, name }[](与 runway 的 string[] gallery 不同),先抽成纯 URL 数组
|
||||
getCardSlots(it: StreetSnapItem) {
|
||||
// 缩略图条带跳过主图(it.cover 即 images[0]),从第二张起,避免首张缩略图与主图重复。
|
||||
const imgs = (it.images || []).map((im: any) => (im && (im.image || im)) || "")
|
||||
return makeCardSlots(imgs)
|
||||
},
|
||||
@ -341,7 +342,7 @@ const cityOptions: { value: string; label: string }[] = [
|
||||
nextPage() { this.goPage(this.page + 1) },
|
||||
|
||||
toAbsUrl(url: string) { return toAbs(url) },
|
||||
// 街拍详情统一收口到 /item/[id](与服务端 /item 回落逻辑对应)
|
||||
// 街拍详情与走秀统一收口 /item/[id],前端按编码前缀 r/s 分流(见后端 hashid.EncodeTyped)
|
||||
itemHref(it: { id: string | number }) { return clientHref(this.locale, ROUTES.item(it.id)) },
|
||||
|
||||
// theimpression 标题含字面 \t:地点 \t 场次,拆成 [location, event]
|
||||
|
||||
Reference in New Issue
Block a user