140 lines
4.6 KiB
SQL
140 lines
4.6 KiB
SQL
-- ==========================================
|
|
-- 班级信息管理菜单权限修复脚本
|
|
-- 版本:V1.0.0
|
|
-- 创建时间:2025-01-21
|
|
-- 说明:修复班级信息管理菜单的组件路径和权限标识不匹配问题
|
|
-- ==========================================
|
|
|
|
SET NAMES utf8mb4;
|
|
|
|
-- ==========================================
|
|
-- 问题描述
|
|
-- ==========================================
|
|
-- 1. 组件路径错误:数据库中是 'xg/class/info/index',实际前端文件在 'xg-xx/classInfo/index'
|
|
-- 2. 权限标识不匹配:数据库中是 'xg:class:*',后端API使用 'xg:classInfo:*'
|
|
|
|
-- ==========================================
|
|
-- 修复方案1:更新数据库菜单配置(推荐)
|
|
-- ==========================================
|
|
|
|
-- 1. 修复班级信息管理主菜单的组件路径
|
|
UPDATE `sys_menu`
|
|
SET `component` = 'xg-xx/classInfo/index'
|
|
WHERE `menu_name` = '班级信息管理'
|
|
AND `component` = 'xg/class/info/index'
|
|
AND `menu_type` = 'C';
|
|
|
|
-- 2. 修复权限标识:将 xg:class:* 更新为 xg:classInfo:*
|
|
UPDATE `sys_menu`
|
|
SET `perms` = 'xg:classInfo:list'
|
|
WHERE `perms` = 'xg:class:list';
|
|
|
|
UPDATE `sys_menu`
|
|
SET `perms` = 'xg:classInfo:query'
|
|
WHERE `perms` = 'xg:class:query';
|
|
|
|
UPDATE `sys_menu`
|
|
SET `perms` = 'xg:classInfo:add'
|
|
WHERE `perms` = 'xg:class:add';
|
|
|
|
UPDATE `sys_menu`
|
|
SET `perms` = 'xg:classInfo:edit'
|
|
WHERE `perms` = 'xg:class:edit';
|
|
|
|
UPDATE `sys_menu`
|
|
SET `perms` = 'xg:classInfo:remove'
|
|
WHERE `perms` = 'xg:class:remove';
|
|
|
|
UPDATE `sys_menu`
|
|
SET `perms` = 'xg:classInfo:export'
|
|
WHERE `perms` = 'xg:class:export';
|
|
|
|
-- 3. 其他班级相关权限标识修复
|
|
UPDATE `sys_menu`
|
|
SET `perms` = 'xg:classInfo:config'
|
|
WHERE `perms` = 'xg:class:config';
|
|
|
|
UPDATE `sys_menu`
|
|
SET `perms` = 'xg:classInfo:cadre'
|
|
WHERE `perms` = 'xg:class:cadre';
|
|
|
|
UPDATE `sys_menu`
|
|
SET `perms` = 'xg:classInfo:statistics'
|
|
WHERE `perms` = 'xg:class:statistics';
|
|
|
|
UPDATE `sys_menu`
|
|
SET `perms` = 'xg:classInfo:detail'
|
|
WHERE `perms` = 'xg:class:detail';
|
|
|
|
UPDATE `sys_menu`
|
|
SET `perms` = 'xg:classInfo:member'
|
|
WHERE `perms` = 'xg:class:member';
|
|
|
|
-- ==========================================
|
|
-- 验证修复结果
|
|
-- ==========================================
|
|
|
|
-- 查看修复后的班级信息管理菜单配置
|
|
SELECT
|
|
menu_id,
|
|
menu_name,
|
|
parent_id,
|
|
path,
|
|
component,
|
|
perms,
|
|
menu_type,
|
|
visible,
|
|
status
|
|
FROM `sys_menu`
|
|
WHERE (menu_name LIKE '%班级%' AND menu_type IN ('C', 'F'))
|
|
OR (perms LIKE '%classInfo%')
|
|
ORDER BY parent_id, order_num;
|
|
|
|
-- ==========================================
|
|
-- 备选方案2:如果需要保持数据库配置不变,则需要修复前端
|
|
-- ==========================================
|
|
|
|
-- 以下是需要在前端进行的修改(注释说明):
|
|
|
|
/*
|
|
方案2修改内容:
|
|
|
|
1. 修改前端页面组件权限标识:
|
|
将前端页面中的权限标识从 'xg:classInfo:*' 改为 'xg:class:*'
|
|
|
|
文件:web/src/views/xg-xx/classInfo/index.vue
|
|
修改内容:
|
|
- v-hasPermi="['xg:classInfo:add']" → v-hasPermi="['xg:class:add']"
|
|
- v-hasPermi="['xg:classInfo:edit']" → v-hasPermi="['xg:class:edit']"
|
|
- v-hasPermi="['xg:classInfo:remove']" → v-hasPermi="['xg:class:remove']"
|
|
- v-hasPermi="['xg:classInfo:export']" → v-hasPermi="['xg:class:export']"
|
|
- v-hasPermi="['xg:classInfo:query']" → v-hasPermi="['xg:class:query']"
|
|
|
|
2. 修改后端API权限注解:
|
|
将后端控制器中的权限注解从 'xg:classInfo:*' 改为 'xg:class:*'
|
|
|
|
文件:backend/ruoyi-modules/ruoyi-xg-xx/src/main/java/org/dromara/xg/controller/XgClassInfoController.java
|
|
修改内容:
|
|
- @SaCheckPermission("xg:classInfo:list") → @SaCheckPermission("xg:class:list")
|
|
- @SaCheckPermission("xg:classInfo:export") → @SaCheckPermission("xg:class:export")
|
|
- @SaCheckPermission("xg:classInfo:query") → @SaCheckPermission("xg:class:query")
|
|
- @SaCheckPermission("xg:classInfo:add") → @SaCheckPermission("xg:class:add")
|
|
- @SaCheckPermission("xg:classInfo:edit") → @SaCheckPermission("xg:class:edit")
|
|
- @SaCheckPermission("xg:classInfo:remove") → @SaCheckPermission("xg:class:remove")
|
|
|
|
3. 创建正确的组件路径文件:
|
|
在前端创建目录:web/src/views/xg/class/info/
|
|
将现有文件 web/src/views/xg-xx/classInfo/index.vue
|
|
复制到 web/src/views/xg/class/info/index.vue
|
|
*/
|
|
|
|
-- ==========================================
|
|
-- 推荐使用方案1:修改数据库配置
|
|
-- 理由:
|
|
-- 1. 避免大量代码修改
|
|
-- 2. 保持代码一致性
|
|
-- 3. 减少维护成本
|
|
-- 4. 符合当前开发规范
|
|
-- ==========================================
|
|
|
|
SELECT '班级信息管理菜单权限修复完成!请重新启动后端服务并刷新前端页面' as result; |