admin/fix_all_role_menus.sql
lvfengfree b92e1119ae fix: 修复菜单为空问题 - 移除后端过滤home路由的错误逻辑
- 修复RouteService中错误过滤home路由的问题
- 后端现在正确返回所有用户有权限的路由
- 添加设备管理相关功能(列表、在线监控、电源管理、远程监控)
- 添加详细的修复文档和重启脚本
- 更新权限配置脚本

问题根源:后端代码中有逻辑会过滤掉home路由,导致前端收到空数组,无法生成菜单
解决方案:移除过滤home路由的逻辑,让后端返回所有有权限的路由
2026-03-01 09:50:19 +08:00

40 lines
1.8 KiB
SQL
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. 修复 R_SUPER超级管理员- 拥有所有权限
UPDATE sys_role
SET menus = 'device,device_list,device_group,device_monitor,device_online,device_power,screen,screen_wall,screen_control,screen_record,user-manage,user-manage_list,user-manage_role,user-manage_permission,application,application_approval,application_history,system,system_agent,system_amt,system_log,my-device,my-device_status,my-device_remote-control,my-device_power-control,my-application,my-application_apply,my-application_my-list'
WHERE role_code = 'R_SUPER';
-- 2. 修复 R_ADMIN管理员- 设备管理、大屏、用户管理、申请管理
UPDATE sys_role
SET menus = 'device,device_list,device_group,device_monitor,device_online,device_power,screen,screen_wall,screen_control,screen_record,user-manage,user-manage_list,user-manage_role,application,application_approval,application_history'
WHERE role_code = 'R_ADMIN';
-- 3. 修复 R_USER普通用户- 我的设备、我的申请
UPDATE sys_role
SET menus = 'my-device,my-device_status,my-device_remote-control,my-device_power-control,my-application,my-application_apply,my-application_my-list'
WHERE role_code = 'R_USER';
-- 4. 修复 R_STU学生- 我的设备状态、我的申请列表
UPDATE sys_role
SET menus = 'my-device,my-device_status,my-application,my-application_my-list'
WHERE role_code = 'R_STU';
-- 验证修复结果
SELECT
role_code AS '角色代码',
role_name AS '角色名称',
menus AS '菜单配置',
status AS '状态'
FROM sys_role
WHERE status = 1
ORDER BY
CASE role_code
WHEN 'R_SUPER' THEN 1
WHEN 'R_ADMIN' THEN 2
WHEN 'R_USER' THEN 3
WHEN 'R_STU' THEN 4
ELSE 5
END;