xinli/Archive/添加菜单-操作指南.md
2026-01-30 16:23:31 +08:00

195 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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