import { Settings, Users, Database, Shield, Bell, Mail, Globe, Palette, Monitor, Smartphone, Save, RefreshCw, Eye, EyeOff, Zap, HardDrive, Lock, Server } from "lucide-react"; import { AdminPanelConfig } from "@/types/admin-panel"; // 示例配置:完整的后台管理面板配置 export const defaultAdminPanelConfig: AdminPanelConfig = { header: { title: "后台管理面板", description: "系统设置和配置管理", breadcrumbs: [ { label: "首页", href: "/" }, { label: "管理", href: "/admin" }, { label: "系统设置" } ], actions: [ { id: "refresh", label: "刷新", icon: , variant: "outline", onClick: () => window.location.reload() }, { id: "export", label: "导出配置", icon: , variant: "outline", onClick: () => console.log("导出配置") } ] }, tabs: [ { id: "general", title: "常规设置", icon: , sections: [ { id: "site-info", title: "网站信息", description: "网站基本信息和配置", icon: , fields: [ { id: "siteName", label: "网站名称", description: "显示在浏览器标题栏的网站名称", type: "input", value: "我的网站", placeholder: "请输入网站名称", validation: { required: true, minLength: 2, maxLength: 50 } }, { id: "siteDescription", label: "网站描述", description: "网站的简短描述,用于SEO", type: "textarea", value: "这是一个很棒的网站", rows: 3, validation: { maxLength: 200 } }, { id: "adminEmail", label: "管理员邮箱", description: "接收系统通知的邮箱地址", type: "email", value: "admin@example.com", validation: { required: true, pattern: /^[^\s@]+@[^\s@]+\.[^\s@]+$/ } }, { id: "language", label: "默认语言", description: "网站的默认显示语言", type: "select", value: "zh-CN", options: [ { label: "简体中文", value: "zh-CN" }, { label: "English", value: "en-US" }, { label: "日本語", value: "ja-JP" }, { label: "한국어", value: "ko-KR" } ] }, { id: "timezone", label: "时区", description: "服务器时区设置", type: "select", value: "Asia/Shanghai", options: [ { label: "北京时间 (UTC+8)", value: "Asia/Shanghai" }, { label: "东京时间 (UTC+9)", value: "Asia/Tokyo" }, { label: "纽约时间 (UTC-5)", value: "America/New_York" }, { label: "伦敦时间 (UTC+0)", value: "Europe/London" } ] } ] } ] }, { id: "system", title: "系统设置", icon: , sections: [ { id: "performance", title: "性能设置", description: "系统性能和资源配置", icon: , columns: 2, fields: [ { id: "enableMaintenance", label: "维护模式", description: "启用后网站将显示维护页面", type: "switch", value: false }, { id: "cacheEnabled", label: "启用缓存", description: "开启页面缓存以提高性能", type: "switch", value: true }, { id: "maxUsers", label: "最大用户数", description: "系统允许的最大注册用户数量", type: "slider", value: 1000, min: 100, max: 10000, step: 100 }, { id: "sessionTimeout", label: "会话超时时间(分钟)", description: "用户登录会话的超时时间", type: "slider", value: 30, min: 5, max: 120, step: 5 }, { id: "backupFrequency", label: "备份频率", description: "自动备份数据的频率", type: "select", value: "daily", options: [ { label: "每小时", value: "hourly", description: "适合高频更新的网站" }, { label: "每天", value: "daily", description: "推荐设置" }, { label: "每周", value: "weekly", description: "适合低频更新的网站" }, { label: "每月", value: "monthly", description: "仅适合静态网站" } ] }, { id: "logLevel", label: "日志级别", description: "系统日志记录的详细程度", type: "select", value: "info", options: [ { label: "错误", value: "error" }, { label: "警告", value: "warn" }, { label: "信息", value: "info" }, { label: "调试", value: "debug" } ] } ] } ] }, { id: "security", title: "安全设置", icon: , sections: [ { id: "auth-settings", title: "认证设置", description: "用户认证和访问控制", icon: , fields: [ { id: "enableRegistration", label: "允许用户注册", description: "是否允许新用户注册账户", type: "switch", value: true }, { id: "enableSSL", label: "强制HTTPS", description: "强制所有连接使用HTTPS协议", type: "switch", value: true }, { id: "securityLevel", label: "安全级别", description: "系统安全防护级别 (1-10)", type: "slider", value: 8, min: 1, max: 10, step: 1 }, { id: "maxLoginAttempts", label: "最大登录尝试次数", description: "账户锁定前允许的最大失败登录次数", type: "number", value: 5, min: 1, max: 20 }, { id: "passwordPolicy", label: "密码策略", description: "密码复杂度要求", type: "select", value: "medium", options: [ { label: "简单", value: "simple", description: "至少6位字符" }, { label: "中等", value: "medium", description: "至少8位,包含字母和数字" }, { label: "复杂", value: "complex", description: "至少12位,包含大小写字母、数字和特殊字符" } ] } ] } ] }, { id: "appearance", title: "外观设置", icon: , sections: [ { id: "theme-settings", title: "主题设置", description: "界面主题和视觉配置", icon: , fields: [ { id: "theme", label: "主题模式", description: "选择网站的主题外观", type: "radio", value: "light", options: [ { label: "浅色主题", value: "light" }, { label: "深色主题", value: "dark" }, { label: "自动切换", value: "auto" } ] }, { id: "primaryColor", label: "主色调", description: "网站的主要颜色", type: "color", value: "#3b82f6" }, { id: "enableComments", label: "启用评论", description: "是否在文章页面显示评论功能", type: "switch", value: true }, { id: "performanceScore", label: "性能优化级别", description: "网站性能优化程度 (0-100)", type: "slider", value: 75, min: 0, max: 100, step: 5 }, { id: "customCSS", label: "自定义样式", description: "添加自定义CSS代码", type: "textarea", value: "", rows: 6, placeholder: "/* 在这里添加自定义CSS */", showWhen: (values) => values.theme === "dark" } ] } ] }, { id: "notifications", title: "通知设置", icon: , sections: [ { id: "notification-settings", title: "通知配置", description: "系统通知和邮件设置", icon: , fields: [ { id: "enableNotifications", label: "启用通知", description: "是否接收系统通知", type: "switch", value: true }, { id: "emailNotifications", label: "邮件通知类型", description: "选择要接收的邮件通知类型", type: "checkbox", value: true, // Note: For multiple checkboxes, you'd typically use a different approach // This is a simplified example }, { id: "maxFileSize", label: "最大文件大小 (MB)", description: "允许上传的最大文件大小", type: "slider", value: 10, min: 1, max: 100, step: 1 }, { id: "enableCDN", label: "启用CDN", description: "使用内容分发网络加速", type: "switch", value: false }, { id: "notificationSound", label: "通知声音", description: "上传自定义通知声音文件", type: "file", value: null, accept: "audio/*" } ] } ] }, { id: "users", title: "用户管理", icon: , badge: "4", sections: [ { id: "user-list", title: "用户列表", description: "管理系统用户账户和权限", icon: , fields: [ { id: "userSearch", label: "搜索用户", description: "输入用户名或邮箱进行搜索", type: "input", value: "", placeholder: "搜索用户..." }, { id: "userRole", label: "默认用户角色", description: "新注册用户的默认角色", type: "select", value: "user", options: [ { label: "用户", value: "user" }, { label: "编辑", value: "editor" }, { label: "管理员", value: "admin" } ] } ] } ] } ], // 配置选项 autoSave: true, autoSaveDelay: 3000, validateOnChange: true, validateOnSubmit: false, // 主题设置 theme: { spacing: "normal", layout: "tabs" }, // 回调函数 onValueChange: (path, value, allValues) => { console.log(`配置项 ${path} 已更改为:`, value); }, onSave: async (values) => { console.log("保存配置:", values); // 这里可以添加保存到服务器的逻辑 }, onReset: () => { console.log("重置配置"); }, onValidate: (values) => { const errors: Record = {}; // 自定义验证逻辑 if (values.siteName && values.siteName.includes("测试")) { errors.siteName = "网站名称不能包含'测试'字样"; } if (values.maxUsers && values.sessionTimeout && values.maxUsers > 5000 && values.sessionTimeout < 15) { errors.sessionTimeout = "当最大用户数超过5000时,会话超时时间不能少于15分钟"; } return errors; } }; // 简化版配置示例 export const simpleAdminPanelConfig: AdminPanelConfig = { header: { title: "快速设置", description: "基本配置选项" }, tabs: [ { id: "basic", title: "基本设置", icon: , sections: [ { id: "basic-info", title: "基本信息", icon: , fields: [ { id: "name", label: "名称", type: "input", value: "", validation: { required: true } }, { id: "enabled", label: "启用", type: "switch", value: true } ] } ] } ] };