diff --git a/apps/web/src/app/globals.css b/apps/web/src/app/globals.css index c5de782..956b0e4 100644 --- a/apps/web/src/app/globals.css +++ b/apps/web/src/app/globals.css @@ -4,6 +4,16 @@ @custom-variant dark (&:is(.dark *)); +/* 系统字体回退:离线/内网环境不依赖 Google 字体 */ +:root { + --font-sans: ui-sans-serif, system-ui, -apple-system, "PingFang SC", + "Microsoft YaHei", "Hiragino Sans GB", "Segoe UI", Roboto, Helvetica, Arial, + sans-serif; + --font-geist-sans: var(--font-sans); + --font-geist-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, + "Liberation Mono", monospace; +} + @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index 6e83050..d5dd9fb 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -1,18 +1,16 @@ import type { Metadata } from "next"; -import { Geist, Geist_Mono } from "next/font/google"; import { Providers } from "@/components/providers"; import { Toaster } from "@/components/ui/sonner"; import "./globals.css"; -const geistSans = Geist({ +// 使用系统字体,避免构建时联网下载 Google 字体(内网/离线环境) +const geistSans = { variable: "--font-geist-sans", - subsets: ["latin"], -}); +}; -const geistMono = Geist_Mono({ +const geistMono = { variable: "--font-geist-mono", - subsets: ["latin"], -}); +}; export const metadata: Metadata = { title: "AI智能应用平台",