文件
csp/frontend/src/app/page.tsx
2026-02-12 10:02:13 +00:00

49 行
1.6 KiB
TypeScript
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
import Link from "next/link";
const API_BASE = process.env.NEXT_PUBLIC_API_BASE ?? "http://localhost:8080";
async function fetchHealth() {
try {
const r = await fetch(`${API_BASE}/api/health`, { cache: "no-store" });
if (!r.ok) return { ok: false, error: `HTTP ${r.status}` } as const;
return (await r.json()) as { ok: boolean; version?: string };
} catch (e: unknown) {
return { ok: false, error: String(e) } as const;
}
}
export default async function Home() {
const health = await fetchHealth();
return (
<div className="min-h-screen bg-zinc-50 text-zinc-900">
<main className="mx-auto max-w-3xl px-6 py-12">
<h1 className="text-3xl font-semibold">CSP 线MVP</h1>
<p className="mt-2 text-sm text-zinc-600">
API Base: <span className="font-mono">{API_BASE}</span>
</p>
<div className="mt-6 rounded-xl border bg-white p-5">
<h2 className="text-lg font-medium"></h2>
<pre className="mt-3 overflow-auto rounded-lg bg-zinc-900 p-3 text-xs text-zinc-100">
{JSON.stringify(health, null, 2)}
</pre>
</div>
<div className="mt-6 flex gap-3">
<Link
className="rounded-lg bg-zinc-900 px-4 py-2 text-white hover:bg-zinc-800"
href="/auth"
>
/
</Link>
</div>
<div className="mt-10 text-sm text-zinc-500">
////
</div>
</main>
</div>
);
}