import type { MetadataRoute } from "next"; import { fetchPosts, fetchBoards } from "@/lib/api"; export default async function sitemap(): Promise { const baseUrl = "http://localhost:3000"; const entries: MetadataRoute.Sitemap = [ { url: `${baseUrl}/`, lastModified: new Date(), changeFrequency: "daily", priority: 1 }, ]; try { const { boards } = await fetchBoards(); for (const board of boards) { entries.push({ url: `${baseUrl}/board/${board.id}`, lastModified: new Date(), changeFrequency: "daily", priority: 0.8, }); } const { posts } = await fetchPosts(1, 100); for (const post of posts) { entries.push({ url: `${baseUrl}/post/${post.id}`, lastModified: new Date(post.created_at), changeFrequency: "weekly", priority: 0.6, }); } } catch { /* 忽略 API 错误 */ } return entries; }