-- ============================================================ -- 角色路由权限初始化脚本 -- 说明:为各角色分配路由权限(只分配一级菜单权限,子路由自动继承) -- 生成时间: 2025-11-17 -- ============================================================ -- 清空现有权限(如果需要重新初始化) -- TRUNCATE TABLE role_route; -- ============================================================ -- 1. 超级管理员 (super_admin) - 拥有所有权限 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 12, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false; -- ============================================================ -- 2. 系统管理员 (admin) - 拥有所有权限 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 1, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false; -- ============================================================ -- 3. 系统管理员 (system_admin) - 拥有所有权限 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 13, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false; -- ============================================================ -- 4. 业务管理员 (business_admin) - 核心业务权限 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 14, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false AND route_path IN ( '/home', -- 系统概览 '/documents', -- 文档管理 '/rules', -- 评查规则库 '/contract-template', -- 合同模板 '/cross-checking', -- 交叉评查 '/chat-with-llm' -- AI法务助手 ); -- ============================================================ -- 5. 文档管理员 (document_admin) - 文档相关权限 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 15, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false AND route_path IN ( '/home', -- 系统概览 '/documents', -- 文档管理 '/rules', -- 评查规则库 '/contract-template' -- 合同模板 ); -- ============================================================ -- 6. 评查管理员 (evaluation_admin) - 评查相关权限 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 16, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false AND route_path IN ( '/home', -- 系统概览 '/documents', -- 文档管理 '/rules', -- 评查规则库 '/chat-with-llm' -- AI法务助手 ); -- ============================================================ -- 7. 交叉评查管理员 (crossreview_admin) - 交叉评查权限 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 17, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false AND route_path IN ( '/home', -- 系统概览 '/documents', -- 文档管理 '/cross-checking' -- 交叉评查 ); -- ============================================================ -- 8. 评查员 (auditor) - 执行评查任务 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 18, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false AND route_path IN ( '/home', -- 系统概览 '/documents', -- 文档管理 '/rules', -- 评查规则库 '/cross-checking', -- 交叉评查 '/chat-with-llm' -- AI法务助手 ); -- ============================================================ -- 9. 上传者 (uploader) - 仅上传文档 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 19, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false AND route_path IN ( '/home', -- 系统概览 '/documents' -- 文档管理 ); -- ============================================================ -- 10. 部门主管 (deptLeader) - 部门管理权限 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 3, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false AND route_path IN ( '/home', -- 系统概览 '/documents', -- 文档管理 '/rules', -- 评查规则库 '/contract-template', -- 合同模板 '/cross-checking', -- 交叉评查 '/chat-with-llm' -- AI法务助手 ); -- ============================================================ -- 11. 小组组长 (groupLeader) - 小组管理权限 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 4, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false AND route_path IN ( '/home', -- 系统概览 '/documents', -- 文档管理 '/rules', -- 评查规则库 '/cross-checking', -- 交叉评查 '/chat-with-llm' -- AI法务助手 ); -- ============================================================ -- 12. 普通员工 (common) - 基本权限 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 2, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false AND route_path IN ( '/home', -- 系统概览 '/documents', -- 文档管理 '/chat-with-llm' -- AI法务助手 ); -- ============================================================ -- 13. 访客 (guest) - 只读权限 -- ============================================================ INSERT INTO role_route (role_id, route_id) SELECT 20, id FROM sys_routes WHERE parent_id IS NULL AND is_hidden = false AND route_path IN ( '/home' -- 系统概览 ); -- ============================================================ -- 验证权限配置 -- ============================================================ -- 查看各角色的路由权限数量 SELECT r.role_name, r.role_key, COUNT(rr.route_id) as route_count FROM roles r LEFT JOIN role_route rr ON r.id = rr.role_id GROUP BY r.id, r.role_name, r.role_key ORDER BY route_count DESC; -- 查看管理员角色的具体路由权限 SELECT r.role_name, sr.route_path, sr.route_title, sr.sort_order FROM role_route rr JOIN roles r ON rr.role_id = r.id JOIN sys_routes sr ON rr.route_id = sr.id WHERE r.role_key IN ('admin', 'super_admin') ORDER BY r.role_name, sr.sort_order; -- ============================================================ -- 完成! -- ============================================================ -- 提示:执行此脚本后,请清除浏览器缓存并重新登录系统