From c8d9735751f804f9d87a6c8a126a63187db64491 Mon Sep 17 00:00:00 2001 From: toom1996 Date: Sat, 22 Aug 2026 20:47:03 +0800 Subject: [PATCH] update --- .workbuddy/memory/2026-08-22.md | 32 +++++++++++++++++++++ src/components/ComingSoon.astro | 8 ++++-- src/components/Index.astro | 6 ++-- src/components/RunwayLooks.astro | 9 +++--- src/components/RunwayLooksDetail.astro | 13 +++++---- src/components/pages/article.astro | 8 +++--- src/components/pages/articles.astro | 39 +++++++++++--------------- src/components/pages/brands.astro | 3 +- src/i18n/config.ts | 12 -------- src/layouts/Layout.astro | 24 ++++++++-------- src/lib/api.ts | 36 ++++++++++++++++++++++++ src/lib/data.ts | 1 - src/lib/routes.ts | 39 ++++++++++++++++++++++++++ src/lib/ssg.ts | 1 - src/lib/ssr.ts | 34 ++++++++++++++++++++++ src/pages/cn/article.astro | 18 ++---------- src/pages/cn/shows.astro | 14 ++++++--- src/pages/en/article.astro | 18 ++---------- src/pages/en/items/[id].astro | 24 ++++------------ src/pages/shows.astro | 14 ++++++--- 20 files changed, 228 insertions(+), 125 deletions(-) create mode 100644 .workbuddy/memory/2026-08-22.md create mode 100644 src/lib/routes.ts create mode 100644 src/lib/ssr.ts diff --git a/.workbuddy/memory/2026-08-22.md b/.workbuddy/memory/2026-08-22.md new file mode 100644 index 0000000..e6365a2 --- /dev/null +++ b/.workbuddy/memory/2026-08-22.md @@ -0,0 +1,32 @@ +# 2026-08-22 工作记忆 + +## 重构:把 SSR / SSG 请求 base URL 从 astro 文件抽离到 lib +用户要求:重新封装 SSR 和 SSG 请求,baseurl 不要放在 .astro 文件里。 + +### 改动清单 +- **新建 `src/lib/ssr.ts`**:集中 SSR(按需渲染)数据客户端。 + - `ssrBase()`:解析优先级 `API_SSR` > `PUBLIC_API_BASE` > `http://localhost:8090`(替代之前散布在 article 页面的内联写法)。 + - `getSsrArticle(id)`:包揽「缺 id / 取数失败 / 成功」三态,返回 `{article, error}`。 +- **`src/pages/en/article.astro` / `cn/article.astro`**:删除 `const API = (import.meta.env.API_SSR || PUBLIC_API_BASE || "http://localhost:8090")...`,改用 `getSsrArticle(id)`;不再给组件传 `apiBase`。 +- **`src/pages/en/items/[id].astro`**:删掉**硬编码** `const API = "http://localhost:8090"`(最严重的一处)和调试 `console.log(id/article)`,改用 `getSsrArticle(id)`。 +- **`src/components/pages/article.astro` 与 `RunwayLooksDetail.astro`**:移除 `apiBase` prop,改用 `ssrBase()` 内部解析图片绝对地址(原来 `apiBase` 只用于服务端 frontmatter 的 `full()`,浏览器 ` -
+
2026 Edition @@ -201,7 +204,7 @@ if (!yearChips.length) yearChips = yearSeed