195 lines
5.5 KiB
Markdown
195 lines
5.5 KiB
Markdown
# 添加知识库管理菜单 - 操作指南
|
||
|
||
## 问题
|
||
左侧菜单中看不到"知识库管理"选项
|
||
|
||
## 解决方案
|
||
|
||
### 方法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后,刷新页面即可看到新菜单!** 🎉
|