Files
freefire 3e55b5d230 feat: 管理端板块管理与旧版数据导入,补充部署运营文档
- 新增管理端板块管理页面与后端接口(admin_board)
- 新增旧版数据导入:legacyimport 服务、导入面板、importusers 命令行工具
- 聊天用户卡片、板块图标等 UI 组件与界面优化
- 补充 about/公告/1Panel 部署等文档
- gitignore 排除 dist/ 构建产物与 .agents/ 本地工具目录
2026-09-24 03:37:44 +08:00

34 lines
1.0 KiB
TypeScript

import type { Metadata } from "next";
import { cookies } from "next/headers";
import { authCookieHeader } from "@/lib/cookies";
import { fetchAdminBoards, type AdminBoard } from "@/lib/api";
import { getMeCached } from "@/lib/serverData";
import { isOwner } from "@/lib/roles";
import Forbidden from "../Forbidden";
import BoardsAdmin from "./BoardsAdmin";
export const metadata: Metadata = {
title: "板块管理",
};
export default async function AdminBoardsPage() {
const cookie = authCookieHeader(await cookies());
const me = await getMeCached(cookie || undefined);
// 仅站长可管理板块
if (!me.user || !isOwner(me.user.role)) {
return <Forbidden text="板块管理仅站长可操作。" />;
}
let initial: AdminBoard[] | null = null;
let initError = "";
try {
const r = await fetchAdminBoards(cookie || undefined);
initial = r.boards ?? [];
} catch (e) {
initError = e instanceof Error ? e.message : "获取板块列表失败";
}
return <BoardsAdmin initial={initial} initError={initError} />;
}