--- import Layout from "@/layouts/Layout.astro" import Breadcrumb from "@/components/Breadcrumb.astro" import { getBrands, getSsgPopularBrands, type BrandEntry } from "@/lib/api" import { getI18n } from '@/i18n/utils' import { clientHref, ROUTES, href } from '@/lib/routes' const { locale } = getI18n(Astro) let sidebarBrands: BrandEntry[] = [] try { sidebarBrands = (await getBrands({ size: 300, only_with_articles: 1, featured: 1 })) .filter((b) => b.id && b.name) .sort((a, b) => a.name.localeCompare(b.name)) } catch {} // 热门品牌:构建期走 SSG 内部接口(/api/ssg/brands/popular),不可用时回落假数据先看效果 const FAKE_HOT_BRANDS = [ { id: "hot-chanel", name: "Chanel", article_count: 342 }, { id: "hot-dior", name: "Dior", article_count: 318 }, { id: "hot-gucci", name: "Gucci", article_count: 287 }, { id: "hot-prada", name: "Prada", article_count: 254 }, { id: "hot-louisvuitton", name: "Louis Vuitton", article_count: 241 }, { id: "hot-saintlaurent", name: "Saint Laurent", article_count: 219 }, { id: "hot-balenciaga", name: "Balenciaga", article_count: 198 }, { id: "hot-valentino", name: "Valentino", article_count: 176 }, { id: "hot-givenchy", name: "Givenchy", article_count: 162 }, { id: "hot-burberry", name: "Burberry", article_count: 153 }, { id: "hot-fendi", name: "Fendi", article_count: 141 }, { id: "hot-bottega", name: "Bottega Veneta", article_count: 128 }, ] let hotBrands: { id: string; name: string; article_count: number }[] = [] try { const ssg = await getSsgPopularBrands(12) if (ssg.length) hotBrands = ssg.map((b) => ({ id: String(b.id), name: b.brand || "", article_count: 0 })) } catch {} if (!hotBrands.length) hotBrands = FAKE_HOT_BRANDS // 年份筛选:写死,按需增删(数据最早约 2005 年,如需更老年份往数组里加即可) // 年份:从当今年份往前推 15 年(含),末项加"X年前"兜底 const currentYear = new Date().getFullYear() const yearFloor = currentYear - 15 const yearOptions: { value: number | string; label: string }[] = [] for (let y = currentYear; y >= yearFloor; y--) { yearOptions.push({ value: y, label: String(y) }) } yearOptions.push({ value: `before${yearFloor}`, label: `${yearFloor}年前` }) // 系列类型 / 季节:写死静态数据(先用示例/假数据预览,确认后直接改这两个数组即可) const collectionOptions: { value: string; label: string }[] = [ { value: "rtw", label: "Ready-to-Wear" }, { value: "menswear", label: "Menswear" }, { value: "womenswear", label: "Womenswear" }, { value: "couture", label: "Couture" }, { value: "resort", label: "Resort" }, { value: "pre_fall", label: "Pre-Fall" }, { value: "bridal", label: "Bridal" }, { value: "swimwear", label: "Swimwear" }, ] const seasonOptions: { value: string; label: string }[] = [ { value: "spring", label: "Spring / Summer" }, { value: "fall", label: "Fall / Winter" }, { value: "cruise", label: "Cruise" }, { value: "holiday", label: "Holiday" }, ] ---
2026 Edition

全部的 runway

全部品牌

热门推荐
  • 未找到匹配的品牌