/** * 导航状态管理 —— 替代旧 store.js 中 activePage / MENU_ITEMS / sidebar 部分 */ // ==================== 菜单配置(数据驱动) ==================== export const MENU_ITEMS = [ { id: 'chat', label: '智能客服对话', icon: '💬', path: '/chat' }, { id: 'knowledge', label: '知识库', icon: '📚', children: [ { id: 'stats', label: '统计概览', icon: '📊', path: '/knowledge/stats' }, { id: 'doc-upload', label: '文档上传', icon: '📤', path: '/knowledge/upload' }, { id: 'doc-manage', label: '文档管理', icon: '📄', path: '/knowledge/document' }, { id: 'category', label: '分类管理', icon: '🏷️', path: '/knowledge/category' }, { id: 'search-test', label: '搜索测试', icon: '🔍', path: '/knowledge/search' }, { id: 'faq', label: 'FAQ 管理', icon: '❓', path: '/knowledge/faq' }, { id: 'feedback-ops', label: '反馈运营', icon: '💡', path: '/knowledge/feedback-ops', roles: ['admin', 'kb_operator'] }, ], }, { id: 'conversation', label: '会话管理', icon: '💬', path: '/conversation' }, { id: 'dashboard', label: '运营看板', icon: '📈', path: '/dashboard' }, { id: 'settings', label: '系统设置', icon: '⚙️', children: [ { id: 'role', label: '客服角色管理', icon: '🎭', path: '/settings/role' }, { id: 'model-config', label: '模型配置', icon: '🤖', path: '/settings/model-config' }, { id: 'sensitive', label: '敏感词管理', icon: '🛡️', path: '/settings/sensitive' }, { id: 'audit-log', label: '审计日志', icon: '📋', path: '/settings/audit-log' }, { id: 'user-manage', label: '用户管理', icon: '👥', path: '/settings/user', roles: ['admin'] }, { id: 'api-key', label: 'API Key 管理', icon: '🔑', path: '/settings/api-key', roles: ['admin'] }, { id: 'webhook', label: 'Webhook 管理', icon: '🔔', path: '/settings/webhook', roles: ['admin'] }, { id: 'mcp-server', label: 'MCP 服务管理', icon: '🔌', path: '/settings/mcp-server', roles: ['admin'] }, { id: 'pipeline-flow', label: 'AI 执行链', icon: '🔀', path: '/settings/pipeline-flow' }, { id: 'system-config', label: '系统配置', icon: '🔧', path: '/settings/system-config', roles: ['admin'] }, { id: 'log-viewer', label: '系统日志', icon: '📜', path: '/settings/log-viewer', roles: ['admin'] }, { id: 'prompt-trace', label: '提示词追踪', icon: '🔬', path: '/settings/prompt-trace', roles: ['admin'] }, ], }, ] export interface MenuItem { id: string label: string icon: string path?: string roles?: string[] children?: MenuItem[] }