-- 小红书模块 RBAC 菜单种子(Fake.Rbac menu 表) -- 设计文档:E:\oms0414\docs\小红书模块设计-063001.md -- -- 注意:本环境 menu.CreateUserId / UpdateUserId 为 CHAR(36) GUID,不可写整数 0 -- 若已误插入导致 get-menu-tree 报错,先执行 fix_xhs_menu_bad_guids.sql SET @ADMIN_USER_ID = ( SELECT `Id` FROM `user` WHERE `Account` = 'admin' AND (`IsDeleted` = 0 OR `IsDeleted` IS NULL) LIMIT 1 ); SET @ADMIN_USER_ID = IFNULL( @ADMIN_USER_ID, '08de4226-3fd4-4a5c-83e5-70e164b15f2f' ); SET @ROOT_PID = '00000000-0000-0000-0000-000000000000'; -- 一级:小红书(目录节点,PermissionCode 留空字符串;子菜单各自绑权限) INSERT INTO `menu` ( `Id`, `PId`, `Name`, `PermissionCode`, `Type`, `Icon`, `Route`, `Component`, `Order`, `IsHidden`, `IsCached`, `Description`, `IsDeleted`, `ConcurrencyStamp`, `CreateUserId`, `CreateTime`, `UpdateUserId`, `UpdateTime` ) VALUES ( 'a1b2c3d4-e5f6-7890-abcd-ef1234567801', @ROOT_PID, '小红书', '', 1, 'icon-fire', '/xhs', NULL, 4, 0, 0, 'LIKE AI 小红书自动化', 0, UUID(), @ADMIN_USER_ID, NOW(), @ADMIN_USER_ID, NOW() ) ON DUPLICATE KEY UPDATE `Name` = VALUES(`Name`), `PId` = VALUES(`PId`), `PermissionCode` = VALUES(`PermissionCode`), `Route` = VALUES(`Route`), `Component` = VALUES(`Component`), `CreateUserId` = VALUES(`CreateUserId`), `UpdateUserId` = VALUES(`UpdateUserId`); INSERT INTO `menu` ( `Id`, `PId`, `Name`, `PermissionCode`, `Type`, `Icon`, `Route`, `Component`, `Order`, `IsHidden`, `IsCached`, `Description`, `IsDeleted`, `ConcurrencyStamp`, `CreateUserId`, `CreateTime`, `UpdateUserId`, `UpdateTime` ) VALUES ('a1b2c3d4-e5f6-7890-abcd-ef1234567802', 'a1b2c3d4-e5f6-7890-abcd-ef1234567801', '启动服务', 'Xhs.Agent.Query', 1, NULL, '/xhs/startService', 'views/xhs/startService/index', 1, 0, 1, NULL, 0, UUID(), @ADMIN_USER_ID, NOW(), @ADMIN_USER_ID, NOW()), ('a1b2c3d4-e5f6-7890-abcd-ef1234567803', 'a1b2c3d4-e5f6-7890-abcd-ef1234567801', '内容分析', 'Xhs.Analysis.Use', 1, NULL, '/xhs/analysis', 'views/xhs/analysis/index', 2, 0, 1, NULL, 0, UUID(), @ADMIN_USER_ID, NOW(), @ADMIN_USER_ID, NOW()), ('a1b2c3d4-e5f6-7890-abcd-ef1234567804', 'a1b2c3d4-e5f6-7890-abcd-ef1234567801', '爆款创作', 'Xhs.Creation.Use', 1, NULL, '/xhs/creation', 'views/xhs/creation/index', 3, 0, 1, NULL, 0, UUID(), @ADMIN_USER_ID, NOW(), @ADMIN_USER_ID, NOW()), ('a1b2c3d4-e5f6-7890-abcd-ef1234567805', 'a1b2c3d4-e5f6-7890-abcd-ef1234567801', '发布记录', 'Xhs.Publish.Query', 1, NULL, '/xhs/publishHistory', 'views/xhs/publishHistory/index', 4, 0, 1, NULL, 0, UUID(), @ADMIN_USER_ID, NOW(), @ADMIN_USER_ID, NOW()), ('a1b2c3d4-e5f6-7890-abcd-ef1234567806', 'a1b2c3d4-e5f6-7890-abcd-ef1234567801', '技能卡片', 'Xhs.Skills.Query', 1, NULL, '/xhs/skills', 'views/xhs/skills/index', 5, 0, 1, NULL, 0, UUID(), @ADMIN_USER_ID, NOW(), @ADMIN_USER_ID, NOW()), ('a1b2c3d4-e5f6-7890-abcd-ef1234567807', 'a1b2c3d4-e5f6-7890-abcd-ef1234567801', '拟人设置', 'Xhs.HumanSettings.Save', 1, NULL, '/xhs/humanSettings', 'views/xhs/humanSettings/index', 6, 0, 1, NULL, 0, UUID(), @ADMIN_USER_ID, NOW(), @ADMIN_USER_ID, NOW()) ON DUPLICATE KEY UPDATE `Name` = VALUES(`Name`), `PId` = VALUES(`PId`), `Route` = VALUES(`Route`), `Component` = VALUES(`Component`), `Order` = VALUES(`Order`), `CreateUserId` = VALUES(`CreateUserId`), `UpdateUserId` = VALUES(`UpdateUserId`); -- AI 助手:挂在「系统管理」下(Route=/system);若不存在则挂根节点 SET @SYSTEM_PID = ( SELECT `Id` FROM `menu` WHERE `Route` = '/system' AND `IsDeleted` = 0 ORDER BY `Order` LIMIT 1 ); SET @AI_ASSISTANT_PID = IFNULL(@SYSTEM_PID, @ROOT_PID); INSERT INTO `menu` ( `Id`, `PId`, `Name`, `PermissionCode`, `Type`, `Icon`, `Route`, `Component`, `Order`, `IsHidden`, `IsCached`, `Description`, `IsDeleted`, `ConcurrencyStamp`, `CreateUserId`, `CreateTime`, `UpdateUserId`, `UpdateTime` ) VALUES ( 'a1b2c3d4-e5f6-7890-abcd-ef1234567808', @AI_ASSISTANT_PID, 'AI 助手', 'Xhs.Ai.Use', 1, NULL, '/system/xhsAiAssistant', 'views/system/xhsAiAssistant/index', 99, 0, 1, '小红书 AI 助手(系统菜单)', 0, UUID(), @ADMIN_USER_ID, NOW(), @ADMIN_USER_ID, NOW() ) ON DUPLICATE KEY UPDATE `Name` = VALUES(`Name`), `PId` = VALUES(`PId`), `Route` = VALUES(`Route`), `Component` = VALUES(`Component`), `CreateUserId` = VALUES(`CreateUserId`), `UpdateUserId` = VALUES(`UpdateUserId`); -- 权限分配见 sql/seed_xhs_role_permissions.sql(或重启 API 由 XhsRolePermissionSeedContributor 自动合并)