-- ============================================= -- mokee编辑器 菜单 & 角色初始化 SQL -- 系统编码: mokeetext-edit -- 执行位置: 网关平台数据库 -- ============================================= -- 0. 获取系统 ID SET @system_id = (SELECT id FROM sys_system WHERE system_code = 'mokeetext-edit' AND is_deleted = 0 LIMIT 1); -- 1. 创建目录 SET @menu_sys = REPLACE(UUID(),'-',''); INSERT INTO sys_menu (id, system_id, parent_id, menu_name, menu_path, component, icon, menu_type, sort_order, status, permission) VALUES (@menu_sys, @system_id, '0', '内容管理', '/', 'Layout', 'Document', 1, 1, 1, NULL); -- 2. 创建页面菜单(对应实际路由: /notes, /websites, /shares) INSERT INTO sys_menu (id, system_id, parent_id, menu_name, menu_path, component, icon, menu_type, sort_order, status, permission) VALUES (REPLACE(UUID(),'-',''), @system_id, @menu_sys, '笔记', '/notes', 'notes/index', 'Edit', 2, 1, 1, 'notes:list'), (REPLACE(UUID(),'-',''), @system_id, @menu_sys, '网站管理', '/websites', 'websites/index', 'Monitor', 2, 2, 1, 'websites:list'), (REPLACE(UUID(),'-',''), @system_id, @menu_sys, '分享管理', '/shares', 'shares/index', 'Link', 2, 3, 1, 'shares:list'); -- 3. 创建按钮权限 INSERT INTO sys_menu (id, system_id, parent_id, menu_name, menu_path, component, icon, menu_type, sort_order, status, permission) VALUES (REPLACE(UUID(),'-',''), @system_id, @menu_sys, '创建笔记', NULL, NULL, '', 3, 1, 1, 'notes:add'), (REPLACE(UUID(),'-',''), @system_id, @menu_sys, '编辑笔记', NULL, NULL, '', 3, 2, 1, 'notes:edit'), (REPLACE(UUID(),'-',''), @system_id, @menu_sys, '删除笔记', NULL, NULL, '', 3, 3, 1, 'notes:delete'), (REPLACE(UUID(),'-',''), @system_id, @menu_sys, '创建网站', NULL, NULL, '', 3, 1, 1, 'websites:add'), (REPLACE(UUID(),'-',''), @system_id, @menu_sys, '编辑网站', NULL, NULL, '', 3, 2, 1, 'websites:edit'), (REPLACE(UUID(),'-',''), @system_id, @menu_sys, '删除网站', NULL, NULL, '', 3, 3, 1, 'websites:delete'), (REPLACE(UUID(),'-',''), @system_id, @menu_sys, '创建分享', NULL, NULL, '', 3, 1, 1, 'shares:add'), (REPLACE(UUID(),'-',''), @system_id, @menu_sys, '删除分享', NULL, NULL, '', 3, 2, 1, 'shares:delete'); -- 4. 创建角色 SET @role_admin = REPLACE(UUID(),'-',''); SET @role_user = REPLACE(UUID(),'-',''); INSERT INTO sys_role (id, system_id, role_name, role_code, description, status) VALUES (@role_admin, @system_id, '管理员', 'admin', '拥有全部权限', 1), (@role_user, @system_id, '普通用户', 'user', '拥有基本权限', 1); -- 5. 管理员获得全部菜单权限 INSERT INTO sys_role_menu (id, role_id, menu_id) SELECT REPLACE(UUID(),'-',''), @role_admin, m.id FROM sys_menu m WHERE m.system_id = @system_id; -- 6. 普通用户只分配页面菜单(不含按钮权限) INSERT INTO sys_role_menu (id, role_id, menu_id) SELECT REPLACE(UUID(),'-',''), @role_user, m.id FROM sys_menu m WHERE m.system_id = @system_id AND m.menu_type != 3; -- 7. 创建管理员账号(密码 admin123 的 BCrypt 密文) INSERT INTO sys_user (id, username, password, real_name, email, phone, status, is_deleted) SELECT REPLACE(UUID(),'-',''), 'admin_mokeetext-edit', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iKTVKIUi', 'mokee编辑器管理员', 'admin@mokeetext-edit.com', NULL, 1, 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_user WHERE username = 'admin_mokeetext-edit'); -- 8. 绑定到 gateway 系统(用于登录管理后台) INSERT INTO sys_user_system (id, user_id, system_id) SELECT REPLACE(UUID(),'-',''), u.id, s.id FROM sys_user u, sys_system s WHERE u.username = 'admin_mokeetext-edit' AND s.system_code = 'gateway' AND NOT EXISTS (SELECT 1 FROM sys_user_system us WHERE us.user_id = u.id AND us.system_id = s.id); -- 9. 分配 gateway-app-admin 角色 INSERT INTO sys_user_role (id, user_id, role_id) SELECT REPLACE(UUID(),'-',''), u.id, r.id FROM sys_user u, sys_role r, sys_system s WHERE u.username = 'admin_mokeetext-edit' AND r.role_code = 'gateway-app-admin' AND r.system_id = s.id AND s.system_code = 'gateway' AND NOT EXISTS (SELECT 1 FROM sys_user_role ur WHERE ur.user_id = u.id AND ur.role_id = r.id); -- 10. 绑定到 mokeetext-edit 系统 INSERT INTO sys_user_system (id, user_id, system_id) SELECT REPLACE(UUID(),'-',''), u.id, s.id FROM sys_user u, sys_system s WHERE u.username = 'admin_mokeetext-edit' AND s.system_code = 'mokeetext-edit' AND NOT EXISTS (SELECT 1 FROM sys_user_system us WHERE us.user_id = u.id AND us.system_id = s.id); -- 11. 分配本系统 admin 角色 INSERT INTO sys_user_role (id, user_id, role_id) SELECT REPLACE(UUID(),'-',''), u.id, r.id FROM sys_user u, sys_role r, sys_system s WHERE u.username = 'admin_mokeetext-edit' AND r.role_code = 'admin' AND r.system_id = s.id AND s.system_code = 'mokeetext-edit' AND NOT EXISTS (SELECT 1 FROM sys_user_role ur WHERE ur.user_id = u.id AND ur.role_id = r.id);