import { Home, History, BarChart3, Settings, UserCog, Layout, Sofa, Code2, FolderKanban, FolderTree, Rocket, Server, Boxes, Folder, Blocks, FileText, HardDriveUpload, List, Network, ArrowLeftRight, Package, ShoppingCart, Store, ShoppingBag, ClipboardCheck, FileBarChart, Globe, Menu, LucideIcon, User, Building } from 'lucide-react' /** * 菜单图标映射表 * 将字符串图标名称映射到实际的 Lucide 图标组件 */ export const menuIconMap: Record = { 'Home': Home, 'History': History, 'BarChart3': BarChart3, 'Settings': Settings, 'UserCog': UserCog, 'Layout': Layout, 'Sofa': Sofa, 'Code2': Code2, 'FolderKanban': FolderKanban, 'FolderTree': FolderTree, 'Rocket': Rocket, 'Server': Server, 'Boxes': Boxes, 'Folder': Folder, 'Blocks': Blocks, 'FileText': FileText, 'HardDriveUpload': HardDriveUpload, 'List': List, 'Network': Network, 'ArrowLeftRight': ArrowLeftRight, 'Package': Package, 'ShoppingCart': ShoppingCart, 'Store': Store, 'ShoppingBag': ShoppingBag, 'ClipboardCheck': ClipboardCheck, 'FileBarChart': FileBarChart, 'Globe': Globe, 'User': User, 'Building': Building } /** * 根据图标名称获取对应的 Lucide 图标组件 * @param iconName 图标名称 * @returns Lucide 图标组件,如果找不到则返回通用菜单图标 */ export function getMenuIcon(iconName?: string): LucideIcon { if (!iconName) return Menu return menuIconMap[iconName] || Menu }