"use client" import type React from "react" import { useState, useEffect } from "react" import Link from "next/link" import { usePathname, useRouter } from "next/navigation" import { LayoutDashboard, FileText, Users, CreditCard, Settings, LogOut, Wallet, Globe, BookOpen, Banknote } from "lucide-react" export default function AdminLayout({ children }: { children: React.ReactNode }) { const pathname = usePathname() const router = useRouter() const [mounted, setMounted] = useState(false) const [authChecked, setAuthChecked] = useState(false) useEffect(() => { setMounted(true) }, []) // 非登录页时校验 Cookie,未登录则跳转登录页 useEffect(() => { if (!mounted || pathname === "/admin/login") return setAuthChecked(false) let cancelled = false fetch("/api/admin", { credentials: "include" }) .then((res) => { if (cancelled) return if (res.status === 401) router.replace("/admin/login") else setAuthChecked(true) }) .catch(() => { if (!cancelled) setAuthChecked(true) }) return () => { cancelled = true } }, [mounted, pathname, router]) const handleLogout = async () => { await fetch("/api/admin/logout", { method: "POST", credentials: "include" }) router.replace("/admin/login") } // 简化菜单:按功能归类,保留核心功能 // PDF需求:分账管理、分销管理、订单管理三合一 → 交易中心 const menuItems = [ { icon: LayoutDashboard, label: "数据概览", href: "/admin" }, { icon: BookOpen, label: "内容管理", href: "/admin/content" }, { icon: Users, label: "用户管理", href: "/admin/users" }, { icon: Wallet, label: "交易中心", href: "/admin/distribution" }, // 合并:分销+订单+提现 { icon: CreditCard, label: "推广设置", href: "/admin/referral-settings" }, { icon: Banknote, label: "支付配置", href: "/admin/payment" }, { icon: Settings, label: "系统设置", href: "/admin/settings" }, ] // 登录页:不渲染侧栏,只渲染子页面 if (pathname === "/admin/login") { return
Soul创业派对