-- ============================================================================ -- 开放平台数据同步:后台菜单与按钮权限 -- 参见 .scratch/openplat-sync/issues/14-menu-permission-sql.md -- 可重复执行 -- -- 说明:后台菜单是动态从 sys_menu 读取的(GET /auth/user -> formatMenus -> addRoute)。 -- menu_type=1 的记录不生成路由,只作按钮权限。 -- path 与 component 填相同值,组件按 import.meta.glob('/src/views/**/index.vue') 解析。 -- ============================================================================ -- 菜单:数据同步 INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `title`, `path`, `component`, `menu_type`, `sort_number`, `authority`, `hide`, `app_id`, `deleted`, `merchant_code`, `tenant_id`) SELECT 14400, 8574, '数据同步', '/gxmu/dataSync', '/gxmu/dataSync', 0, 100, '', 0, 0, 0, '', 10049 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` m WHERE m.`menu_id` = 14400); -- 按钮:手动同步 INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `title`, `path`, `component`, `menu_type`, `sort_number`, `authority`, `hide`, `app_id`, `deleted`, `merchant_code`, `tenant_id`) SELECT 14401, 14400, '手动同步', '', '', 1, 1, 'gxmu:sync:manual', 0, 0, 0, '', 10049 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` m WHERE m.`menu_id` = 14401); -- 菜单:学生名册 INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `title`, `path`, `component`, `menu_type`, `sort_number`, `authority`, `hide`, `app_id`, `deleted`, `merchant_code`, `tenant_id`) SELECT 14402, 8574, '学生名册', '/gxmu/studentRoster', '/gxmu/studentRoster', 0, 105, '', 0, 0, 0, '', 10049 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` m WHERE m.`menu_id` = 14402); -- 按钮:名册查询 INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `title`, `path`, `component`, `menu_type`, `sort_number`, `authority`, `hide`, `app_id`, `deleted`, `merchant_code`, `tenant_id`) SELECT 14403, 14402, '名册查询', '', '', 1, 1, 'gxmu:student:list', 0, 0, 0, '', 10049 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` m WHERE m.`menu_id` = 14403); -- 按钮:名册导出(泄露风险最高,单独授权) INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `title`, `path`, `component`, `menu_type`, `sort_number`, `authority`, `hide`, `app_id`, `deleted`, `merchant_code`, `tenant_id`) SELECT 14404, 14402, '名册导出', '', '', 1, 2, 'gxmu:student:export', 0, 0, 0, '', 10049 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` m WHERE m.`menu_id` = 14404); -- --------------------------------------------------------------------------- -- 给超级管理员授权(其它角色请按需在后台「角色管理」里勾选) -- --------------------------------------------------------------------------- INSERT INTO `sys_role_menu` (`role_id`, `menu_id`, `tenant_id`) SELECT r.`role_id`, m.`menu_id`, 10049 FROM `sys_role` r JOIN `sys_menu` m ON m.`menu_id` IN (14400, 14401, 14402, 14403, 14404) LEFT JOIN `sys_role_menu` rm ON rm.`role_id` = r.`role_id` AND rm.`menu_id` = m.`menu_id` WHERE r.`role_code` = 'superAdmin' AND r.`tenant_id` = 10049 AND rm.`id` IS NULL;