# 添加知识库管理菜单 - 操作指南 ## 问题 左侧菜单中看不到"知识库管理"选项 ## 解决方案 ### 方法1:使用简化版SQL(推荐) 1. **重新连接MySQL数据库** - 如果连接断开,重新连接 2. **执行SQL脚本** ```sql -- 直接执行文件:添加知识库菜单-简化版.sql ``` 或者复制以下内容执行: ```sql -- 添加知识库管理主菜单 INSERT INTO sys_menu ( menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark ) VALUES ( '知识库管理', 2000, 8, 'knowledge', 'psychology/knowledge/index', 1, 0, 'C', '0', '0', 'psychology:knowledge:list', 'documentation', 'admin', NOW(), 'AI知识库文档管理' ); -- 获取刚插入的菜单ID SET @menu_id = LAST_INSERT_ID(); -- 添加按钮权限 INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) VALUES ('知识库查询', @menu_id, 1, '#', '', 1, 0, 'F', '0', '0', 'psychology:knowledge:query', '#', 'admin', NOW()), ('知识库上传', @menu_id, 2, '#', '', 1, 0, 'F', '0', '0', 'psychology:knowledge:upload', '#', 'admin', NOW()), ('知识库删除', @menu_id, 3, '#', '', 1, 0, 'F', '0', '0', 'psychology:knowledge:remove', '#', 'admin', NOW()), ('知识库重建', @menu_id, 4, '#', '', 1, 0, 'F', '0', '0', 'psychology:knowledge:rebuild', '#', 'admin', NOW()); -- 为管理员角色分配权限 INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, menu_id FROM sys_menu WHERE menu_name IN ('知识库管理', '知识库查询', '知识库上传', '知识库删除', '知识库重建') AND NOT EXISTS ( SELECT 1 FROM sys_role_menu WHERE role_id = 1 AND sys_role_menu.menu_id = sys_menu.menu_id ); ``` 3. **刷新浏览器页面** - 按 F5 或 Ctrl+R 刷新 - 应该能看到"知识库管理"菜单 ### 方法2:手动分步执行 如果方法1失败,使用详细版SQL: 1. **查询父菜单ID** ```sql SELECT menu_id, menu_name, parent_id FROM sys_menu WHERE menu_name LIKE '%心理%' OR menu_name LIKE '%测评%' ORDER BY menu_id; ``` 2. **记录"心理测评管理"的menu_id**(假设是2000) 3. **添加主菜单**(将2000改为实际ID) ```sql INSERT INTO sys_menu ( menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark ) VALUES ( '知识库管理', 2000, 8, 'knowledge', 'psychology/knowledge/index', 1, 0, 'C', '0', '0', 'psychology:knowledge:list', 'documentation', 'admin', NOW(), 'AI知识库文档管理' ); ``` 4. **查询新菜单ID** ```sql SELECT menu_id FROM sys_menu WHERE menu_name = '知识库管理'; ``` 5. **添加按钮权限**(将9999改为上一步的menu_id) ```sql INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) VALUES ('知识库查询', 9999, 1, '#', '', 1, 0, 'F', '0', '0', 'psychology:knowledge:query', '#', 'admin', NOW()), ('知识库上传', 9999, 2, '#', '', 1, 0, 'F', '0', '0', 'psychology:knowledge:upload', '#', 'admin', NOW()), ('知识库删除', 9999, 3, '#', '', 1, 0, 'F', '0', '0', 'psychology:knowledge:remove', '#', 'admin', NOW()), ('知识库重建', 9999, 4, '#', '', 1, 0, 'F', '0', '0', 'psychology:knowledge:rebuild', '#', 'admin', NOW()); ``` 6. **分配角色权限** ```sql INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, menu_id FROM sys_menu WHERE menu_name IN ('知识库管理', '知识库查询', '知识库上传', '知识库删除', '知识库重建'); ``` ### 方法3:通过系统管理界面添加 如果SQL执行有问题,可以通过系统界面手动添加: 1. 登录系统 2. 进入"系统管理" → "菜单管理" 3. 点击"新增"按钮 4. 填写以下信息: - 菜单名称:知识库管理 - 父菜单:心理测评管理 - 显示排序:8 - 路由地址:knowledge - 组件路径:psychology/knowledge/index - 菜单类型:目录 - 菜单图标:documentation - 权限标识:psychology:knowledge:list 5. 保存后刷新页面 ## 验证 执行SQL后,应该能看到: ``` 左侧菜单 ├── 首页 ├── 心理测评管理 │ ├── 在线用户 │ ├── 系统监控 │ ├── ... │ └── 知识库管理 ← 新增的菜单 └── 系统管理 ``` ## 故障排查 ### 问题1:执行SQL报错 **错误**:Communications link failure **解决**: 1. 重新连接MySQL 2. 检查MySQL服务是否运行 3. 检查网络连接 ### 问题2:菜单不显示 **可能原因**: 1. 没有刷新页面 2. 权限未分配 3. parent_id不正确 **解决**: 1. 强制刷新:Ctrl+F5 2. 检查角色权限 3. 查询正确的parent_id ### 问题3:点击菜单404 **原因**:前端路由未配置 **解决**: - 前端页面已创建:`xinli-ui/src/views/psychology/knowledge/index.vue` - 确保前端项目已编译 - 检查路由配置 ## 直接访问 如果菜单还是不显示,可以直接访问: ``` http://localhost:30081/#/psychology/knowledge ``` 或 ``` http://localhost:30081/psychology/knowledge ``` ## 需要的文件 确保以下文件存在: - ✅ 后端控制器:`PsyKnowledgeController.java` - ✅ 前端页面:`xinli-ui/src/views/psychology/knowledge/index.vue` - ✅ 后端服务:`KnowledgeService.java` 所有文件都已创建完成! --- **执行完SQL后,刷新页面即可看到新菜单!** 🎉