5.5 KiB
5.5 KiB
添加知识库管理菜单 - 操作指南
问题
左侧菜单中看不到"知识库管理"选项
解决方案
方法1:使用简化版SQL(推荐)
-
重新连接MySQL数据库
- 如果连接断开,重新连接
-
执行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
);
- 刷新浏览器页面
- 按 F5 或 Ctrl+R 刷新
- 应该能看到"知识库管理"菜单
方法2:手动分步执行
如果方法1失败,使用详细版SQL:
- 查询父菜单ID
SELECT menu_id, menu_name, parent_id
FROM sys_menu
WHERE menu_name LIKE '%心理%' OR menu_name LIKE '%测评%'
ORDER BY menu_id;
-
记录"心理测评管理"的menu_id(假设是2000)
-
添加主菜单(将2000改为实际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, remark
) VALUES (
'知识库管理', 2000, 8, 'knowledge', 'psychology/knowledge/index',
1, 0, 'C', '0', '0',
'psychology:knowledge:list', 'documentation', 'admin', NOW(), 'AI知识库文档管理'
);
- 查询新菜单ID
SELECT menu_id FROM sys_menu WHERE menu_name = '知识库管理';
- 添加按钮权限(将9999改为上一步的menu_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
('知识库查询', 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());
- 分配角色权限
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT 1, menu_id FROM sys_menu
WHERE menu_name IN ('知识库管理', '知识库查询', '知识库上传', '知识库删除', '知识库重建');
方法3:通过系统管理界面添加
如果SQL执行有问题,可以通过系统界面手动添加:
- 登录系统
- 进入"系统管理" → "菜单管理"
- 点击"新增"按钮
- 填写以下信息:
- 菜单名称:知识库管理
- 父菜单:心理测评管理
- 显示排序:8
- 路由地址:knowledge
- 组件路径:psychology/knowledge/index
- 菜单类型:目录
- 菜单图标:documentation
- 权限标识:psychology:knowledge:list
- 保存后刷新页面
验证
执行SQL后,应该能看到:
左侧菜单
├── 首页
├── 心理测评管理
│ ├── 在线用户
│ ├── 系统监控
│ ├── ...
│ └── 知识库管理 ← 新增的菜单
└── 系统管理
故障排查
问题1:执行SQL报错
错误:Communications link failure
解决:
- 重新连接MySQL
- 检查MySQL服务是否运行
- 检查网络连接
问题2:菜单不显示
可能原因:
- 没有刷新页面
- 权限未分配
- parent_id不正确
解决:
- 强制刷新:Ctrl+F5
- 检查角色权限
- 查询正确的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后,刷新页面即可看到新菜单! 🎉