-- ============================================ -- 首页菜单诊断和修复脚本 -- ============================================ -- 1. 首先查看当前菜单表结构 DESCRIBE eb_system_menu; -- 2. 查看现有的一级菜单(pid=0) SELECT id, pid, name, icon, component, menu_type, sort, is_show, is_delte FROM eb_system_menu WHERE pid = 0 ORDER BY sort DESC, id ASC; -- 3. 查看是否已存在首页相关菜单 SELECT * FROM eb_system_menu WHERE name LIKE '%首页%' OR name LIKE '%控制台%' OR component LIKE '%home%'; -- 4. 查看当前最大的菜单ID SELECT MAX(id) as max_id FROM eb_system_menu; -- 5. 查看角色表 SELECT * FROM eb_system_role WHERE id = 1; -- 6. 查看当前管理员的角色 SELECT id, account, real_name, roles FROM eb_system_admin LIMIT 5; -- ============================================ -- 修复步骤(根据诊断结果选择执行) -- ============================================ -- 方案A:如果首页菜单不存在,插入新记录 -- 注意:先执行上面的查询,确认 id 600, 601 不存在 -- 删除可能存在的旧记录(如果之前插入过) DELETE FROM eb_system_menu WHERE id IN (600, 601, 789, 790); DELETE FROM eb_system_role_menu WHERE menu_id IN (600, 601, 789, 790); -- 插入首页一级菜单(sort=300 确保排在最前面) INSERT INTO `eb_system_menu` (`id`, `pid`, `name`, `icon`, `perms`, `component`, `menu_type`, `sort`, `is_show`, `is_delte`, `create_time`, `update_time`) VALUES (600, 0, '首页', 'el-icon-s-home', '', '/home', 'M', 300, 1, 0, NOW(), NOW()); -- 插入控制台子菜单 INSERT INTO `eb_system_menu` (`id`, `pid`, `name`, `icon`, `perms`, `component`, `menu_type`, `sort`, `is_show`, `is_delte`, `create_time`, `update_time`) VALUES (601, 600, '控制台', '', 'admin:dashboard:index', '/home/index', 'C', 0, 1, 0, NOW(), NOW()); -- 为角色1(超级管理员)添加菜单权限(如果不是超管角色需要这个) INSERT INTO `eb_system_role_menu` (`rid`, `menu_id`) VALUES (1, 600); INSERT INTO `eb_system_role_menu` (`rid`, `menu_id`) VALUES (1, 601); -- 7. 验证插入结果 SELECT id, pid, name, icon, component, menu_type, sort, is_show, is_delte FROM eb_system_menu WHERE id IN (600, 601); -- 8. 验证角色菜单关联 SELECT * FROM eb_system_role_menu WHERE menu_id IN (600, 601);