import React, { useState } from 'react'; import { Outlet, NavLink, useNavigate } from 'react-router-dom'; import { useAuth } from '@/contexts/AuthContext'; import './AdminLayout.css'; const adminNavItems = [ { path: '/admin', icon: 'dashboard', label: '平台驾驶舱', exact: true }, { path: '/admin/users', icon: 'users', label: '用户管理' }, { path: '/admin/models', icon: 'models', label: '大模型库管理' }, { path: '/admin/settings', icon: 'settings', label: '网站基础设置' }, { path: '/admin/payment', icon: 'payment', label: '支付渠道配置' }, { path: '/admin/services', icon: 'services', label: '增值服务管理' }, { path: '/admin/membership', icon: 'membership', label: '会员订阅体系' }, { path: '/admin/ads', icon: 'ads', label: '广告位管理' }, { path: '/admin/market', icon: 'market', label: '应用市场审核' }, { path: '/admin/logs', icon: 'logs', label: '日志与风控' }, { path: '/admin/agents', icon: 'agents', label: 'Agent管理' }, { path: '/admin/skills', icon: 'skills', label: '技能管理' }, { path: '/admin/code-exec', icon: 'code', label: '代码执行沙箱' }, { path: '/admin/distributions', icon: 'distro', label: '发行版构建' }, { path: '/admin/privacy', icon: 'privacy', label: '隐私与本地代理' }, { path: '/admin/promotion', icon: 'promotion', label: '推广系统' }, { path: '/admin/achievement', icon: 'achievement', label: '成就系统' }, { path: '/admin/tenant', icon: 'tenant', label: '多租户管理' }, { path: '/admin/billing', icon: 'billing', label: '计费与支付' }, { path: '/admin/analytics', icon: 'analytics', label: '数据分析' }, { path: '/admin/im-bots', icon: 'imbot', label: 'IM 机器人' }, ]; const adminIconPaths: Record = { dashboard: , users: , models: , settings: , payment: , services: , membership: , ads: , market: , logs: , skills: , code: , distro: , privacy: , promotion: , achievement: , tenant: , billing: , analytics: , }; const AdminLayout: React.FC = () => { const { user, logout } = useAuth(); const navigate = useNavigate(); const [collapsed, setCollapsed] = useState(false); if (!user || user.role !== 'admin') { navigate('/login'); return null; } return (
{/* Admin Sidebar */} {/* Admin Main Content */}
欢迎,{user.username}
返回前台
{user.username.charAt(0).toUpperCase()}
{user.username}
); }; export default AdminLayout;