import { cache } from "react"; import { fetchBoards, fetchMe } from "./api"; // 同一 SSR 请求内去重:layout 与页面可能同时需要当前用户, // 相同 Cookie 头参数下只产生一次 /api/me 调用。 export const getMeCached = cache((cookieHeader?: string) => fetchMe(cookieHeader)); // 全站导航需要板块列表:layout 每请求调用,失败降级为空列表(导航隐藏,不阻塞页面) export const getBoardsCached = cache(async () => { try { const { boards } = await fetchBoards(); return boards; } catch { return []; } });