xinli/添加菜单-操作指南.md
2025-12-19 14:03:43 +08:00

5.5 KiB
Raw Blame History

添加知识库管理菜单 - 操作指南

问题

左侧菜单中看不到"知识库管理"选项

解决方案

方法1使用简化版SQL推荐

  1. 重新连接MySQL数据库

    • 如果连接断开,重新连接
  2. 执行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
);
  1. 刷新浏览器页面
    • 按 F5 或 Ctrl+R 刷新
    • 应该能看到"知识库管理"菜单

方法2手动分步执行

如果方法1失败使用详细版SQL

  1. 查询父菜单ID
SELECT menu_id, menu_name, parent_id 
FROM sys_menu 
WHERE menu_name LIKE '%心理%' OR menu_name LIKE '%测评%'
ORDER BY menu_id;
  1. 记录"心理测评管理"的menu_id假设是2000

  2. 添加主菜单将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知识库文档管理'
);
  1. 查询新菜单ID
SELECT menu_id FROM sys_menu WHERE menu_name = '知识库管理';
  1. 添加按钮权限将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());
  1. 分配角色权限
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后刷新页面即可看到新菜单 🎉