110 lines
11 KiB
Go
110 lines
11 KiB
Go
-- 毛隅管理菜单与页面权限(可重复执行)
|
||
-- 对应 im_manager 页面接口 /maoyu/*,业务经 maoyu-server 内部接口 /internal/admin/maoyu/tenants/{tenant_code} 处理。
|
||
-- 前端组件路径约定:web/src/views/maoyu/**(需前端按菜单路径放置页面组件)。
|
||
SET NAMES utf8mb4;
|
||
SET @now := NOW();
|
||
|
||
-- 顶级目录
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT 0,1,'','毛隅管理','maoyuManager','/maoyu','SmileOutlined',1,'/maoyu/dashboard','','','LAYOUT',1,'',0,0,'',0,0,0,126,'毛隅手记萌宠与爱宠社区管理',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuManager');
|
||
SET @maoyuId := (SELECT id FROM hg_admin_menu WHERE name='maoyuManager' LIMIT 1);
|
||
UPDATE hg_admin_menu SET redirect='/maoyu/dashboard', updated_at=@now WHERE id=@maoyuId;
|
||
|
||
-- 数据概览
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @maoyuId,2,CONCAT('tr_',@maoyuId,' '),'数据概览','maoyuDashboard','dashboard','',2,'','/maoyu/dashboard','','/maoyu/dashboard/index',1,'maoyuDashboard',0,0,'',1,0,0,70,'萌宠、场景任务与内容治理核心指标',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuDashboard');
|
||
|
||
-- 宠物档案(只读)
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @maoyuId,2,CONCAT('tr_',@maoyuId,' '),'宠物档案','maoyuPets','pets','',2,'','/maoyu/pets/list','','/maoyu/pets/index',1,'maoyuPets',0,0,'',1,0,0,60,'宠物档案查询与详情(只读)',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuPets');
|
||
SET @petsId := (SELECT id FROM hg_admin_menu WHERE name='maoyuPets' LIMIT 1);
|
||
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @petsId,3,CONCAT('tr_',@maoyuId,' tr_',@petsId,' '),'查看宠物详情','maoyuPetsView','','',3,'','/maoyu/pets/view','','',1,'',0,0,'',0,1,0,30,'',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuPetsView');
|
||
|
||
-- 场景生成任务(只读)
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @maoyuId,2,CONCAT('tr_',@maoyuId,' '),'场景任务','maoyuJobs','jobs','',2,'','/maoyu/generation-jobs/list','','/maoyu/jobs/index',1,'maoyuJobs',0,0,'',1,0,0,50,'场景生成任务进度与失败排查(只读)',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuJobs');
|
||
SET @jobsId := (SELECT id FROM hg_admin_menu WHERE name='maoyuJobs' LIMIT 1);
|
||
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @jobsId,3,CONCAT('tr_',@maoyuId,' tr_',@jobsId,' '),'查看任务详情','maoyuJobsView','','',3,'','/maoyu/generation-jobs/view','','',1,'',0,0,'',0,1,0,30,'',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuJobsView');
|
||
|
||
-- 动作配置
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @maoyuId,2,CONCAT('tr_',@maoyuId,' '),'动作配置','maoyuActionConfigs','action-configs','',2,'','/maoyu/action-configs/list','','/maoyu/action-configs/index',1,'maoyuActionConfigs',0,0,'',1,0,0,40,'玩球/梳毛/喂食/洗澡等互动动作玩法配置',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuActionConfigs');
|
||
SET @actionsId := (SELECT id FROM hg_admin_menu WHERE name='maoyuActionConfigs' LIMIT 1);
|
||
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @actionsId,3,CONCAT('tr_',@maoyuId,' tr_',@actionsId,' '),'查看动作配置','maoyuActionConfigsView','','',3,'','/maoyu/action-configs/view','','',1,'',0,0,'',0,1,0,30,'',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuActionConfigsView');
|
||
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @actionsId,3,CONCAT('tr_',@maoyuId,' tr_',@actionsId,' '),'编辑动作配置','maoyuActionConfigsEdit','','',3,'','/maoyu/action-configs/edit','','',1,'',0,0,'',0,1,0,20,'',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuActionConfigsEdit');
|
||
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @actionsId,3,CONCAT('tr_',@maoyuId,' tr_',@actionsId,' '),'启停动作配置','maoyuActionConfigsStatus','','',3,'','/maoyu/action-configs/status','','',1,'',0,0,'',0,1,0,10,'',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuActionConfigsStatus');
|
||
|
||
-- 互动通知(只读)
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @maoyuId,2,CONCAT('tr_',@maoyuId,' '),'互动通知','maoyuNotices','notices','',2,'','/maoyu/notices/list','','/maoyu/notices/index',1,'maoyuNotices',0,0,'',1,0,0,30,'点赞评论互动通知查询(只读)',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuNotices');
|
||
|
||
-- 内容审核
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @maoyuId,2,CONCAT('tr_',@maoyuId,' '),'内容审核','maoyuContent','content','',2,'','/maoyu/content/list','','/maoyu/content/index',1,'maoyuContent',0,0,'',1,0,0,20,'爱宠动态与评论审核管理',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuContent');
|
||
SET @contentId := (SELECT id FROM hg_admin_menu WHERE name='maoyuContent' LIMIT 1);
|
||
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @contentId,3,CONCAT('tr_',@maoyuId,' tr_',@contentId,' '),'查看内容详情','maoyuContentView','','',3,'','/maoyu/content/view','','',1,'',0,0,'',0,1,0,30,'',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuContentView');
|
||
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @contentId,3,CONCAT('tr_',@maoyuId,' tr_',@contentId,' '),'审核内容','maoyuContentReview','','',3,'','/maoyu/content/review','','',1,'',0,0,'',0,1,0,20,'',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuContentReview');
|
||
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @contentId,3,CONCAT('tr_',@maoyuId,' tr_',@contentId,' '),'批量审核内容','maoyuContentBatchReview','','',3,'','/maoyu/content/batch-review','','',1,'',0,0,'',0,1,0,10,'',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuContentBatchReview');
|
||
|
||
-- 举报处理
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @maoyuId,2,CONCAT('tr_',@maoyuId,' '),'举报处理','maoyuReports','reports','',2,'','/maoyu/reports/list','','/maoyu/reports/index',1,'maoyuReports',0,0,'',1,0,0,10,'爱宠内容与用户举报处理',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuReports');
|
||
SET @reportsId := (SELECT id FROM hg_admin_menu WHERE name='maoyuReports' LIMIT 1);
|
||
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @reportsId,3,CONCAT('tr_',@maoyuId,' tr_',@reportsId,' '),'查看举报详情','maoyuReportsView','','',3,'','/maoyu/reports/view','','',1,'',0,0,'',0,1,0,30,'',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuReportsView');
|
||
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @reportsId,3,CONCAT('tr_',@maoyuId,' tr_',@reportsId,' '),'处理举报','maoyuReportsHandle','','',3,'','/maoyu/reports/handle','','',1,'',0,0,'',0,1,0,20,'',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuReportsHandle');
|
||
|
||
-- 操作日志
|
||
INSERT INTO hg_admin_menu (pid,level,tree,title,name,path,icon,type,redirect,permissions,permission_name,component,always_show,active_menu,is_root,is_frame,frame_src,keep_alive,hidden,affix,sort,remark,status,created_at,updated_at)
|
||
SELECT @maoyuId,2,CONCAT('tr_',@maoyuId,' '),'操作日志','maoyuLogs','logs','',2,'','/maoyu/logs/list','','/maoyu/logs/index',1,'maoyuLogs',0,0,'',1,0,0,5,'毛隅管理操作审计日志',1,@now,@now
|
||
WHERE NOT EXISTS (SELECT 1 FROM hg_admin_menu WHERE name='maoyuLogs');
|
||
|
||
-- ===== 角色授权(hg_admin_role_menu)=====
|
||
-- 说明:超级管理员(hotgo 内置超管)无需记录即可访问全部菜单;以下将毛隅全部菜单授予指定角色。
|
||
-- 使用方式:将 @roleId 替换为目标角色 ID 后执行(默认 2,可按需复制多份)。
|
||
-- SET @roleId := 2;
|
||
-- INSERT INTO hg_admin_role_menu (role_id, menu_id)
|
||
-- SELECT @roleId, m.id FROM hg_admin_menu m
|
||
-- WHERE m.id = @maoyuId
|
||
-- OR m.pid = @maoyuId
|
||
-- OR m.pid IN (SELECT id FROM (SELECT id FROM hg_admin_menu WHERE pid = @maoyuId) t)
|
||
-- OR m.tree LIKE CONCAT('tr_', @maoyuId, ' %')
|
||
-- ON DUPLICATE KEY UPDATE menu_id = menu_id;
|