xinli/Archive/添加菜单-操作指南.md

195 lines
5.5 KiB
Markdown
Raw Normal View History

2026-01-30 16:23:31 +08:00
# 添加知识库管理菜单 - 操作指南
## 问题
左侧菜单中看不到"知识库管理"选项
## 解决方案
### 方法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后刷新页面即可看到新菜单** 🎉