chore(menu): 新增更新管理菜单并调整应用图标菜单,移除重复 websocket 依赖
This commit is contained in:
1 parent
95e8ef796d
commit
337033f743
3 files changed
+82
-13
No files matched your search
@@ -0,0 +1,68 @@
|
||||
-- ----------------------------------------------------------------------------
|
||||
-- 更新管理 菜单初始化脚本(可重复执行 / 幂等)
|
||||
--
|
||||
-- 依赖
|
||||
-- 1. 前端页面 vue3-element-admin-ttstd/src/views/update/{channel,global,gray,save-flow,hot}/index.vue
|
||||
-- 2. 后端接口 com.youlai.boot.app.update.controller.*(/api/v1/app/update/**)
|
||||
--
|
||||
-- 说明
|
||||
-- - 路由改为后端菜单动态下发,前端 src/router/index.ts 不再保留 /update 静态路由
|
||||
-- - 目录(type='C')的 component 必须是 'Layout',否则不会套后台布局
|
||||
-- - 菜单(type='M')的 component 为相对 src/views/ 的页面路径,省略 .vue 后缀
|
||||
-- - 更新模块后端接口暂未使用 @PreAuthorize 做按钮级鉴权,因此本脚本只建目录和页面菜单;
|
||||
-- 后续补充接口权限时,再按 menu_device_sn.sql 的方式追加 type='B' 按钮行
|
||||
-- - 菜单权限每次请求实时查库,执行后重新登录或刷新页面即可生效
|
||||
-- ----------------------------------------------------------------------------
|
||||
|
||||
-- 1. 定位或创建「更新管理」目录(按路由路径唯一标识)
|
||||
SET @parent_id = (SELECT `id` FROM `sys_menu` WHERE `route_path` = '/update' AND `type` = 'C' LIMIT 1);
|
||||
|
||||
INSERT INTO `sys_menu`
|
||||
(`parent_id`, `tree_path`, `name`, `type`, `route_name`, `route_path`, `component`,
|
||||
`perm`, `keep_alive`, `visible`, `sort`, `icon`, `redirect`,
|
||||
`create_time`, `update_time`, `params`)
|
||||
SELECT 0, '0', '更新管理', 'C', '', '/update', 'Layout',
|
||||
NULL, NULL, 1, 9, 'el-icon-Refresh', '/update/channel',
|
||||
now(), now(), NULL
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `sys_menu` WHERE `route_path` = '/update' AND `type` = 'C'
|
||||
);
|
||||
|
||||
SET @parent_id = (SELECT `id` FROM `sys_menu` WHERE `route_path` = '/update' AND `type` = 'C' LIMIT 1);
|
||||
|
||||
-- 2. 创建 5 个页面菜单(按 component 唯一标识,已存在则跳过)
|
||||
INSERT INTO `sys_menu`
|
||||
(`parent_id`, `tree_path`, `name`, `type`, `route_name`, `route_path`, `component`,
|
||||
`perm`, `keep_alive`, `visible`, `sort`, `icon`, `redirect`,
|
||||
`create_time`, `update_time`, `params`)
|
||||
SELECT @parent_id, CONCAT('0,', @parent_id),
|
||||
t.`name`, 'M', t.`route_name`, t.`route_path`, t.`component`,
|
||||
NULL, 1, 1, t.`sort`, t.`icon`, NULL,
|
||||
now(), now(), NULL
|
||||
FROM (
|
||||
SELECT '渠道管理' AS `name`, 'UpdateChannel' AS `route_name`, 'channel' AS `route_path`,
|
||||
'update/channel/index' AS `component`, 1 AS `sort`, 'el-icon-Connection' AS `icon`
|
||||
UNION ALL
|
||||
SELECT '全局更新', 'UpdateGlobal', 'global', 'update/global/index', 2, 'el-icon-Globe'
|
||||
UNION ALL
|
||||
SELECT '灰度更新', 'UpdateGray', 'gray', 'update/gray/index', 3, 'el-icon-Picture'
|
||||
UNION ALL
|
||||
SELECT '省流更新', 'UpdateSaveFlow', 'save-flow', 'update/save-flow/index', 4, 'el-icon-DataLine'
|
||||
UNION ALL
|
||||
SELECT '热更新', 'UpdateHot', 'hot', 'update/hot/index', 5, 'el-icon-Loading'
|
||||
) t
|
||||
WHERE @parent_id IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_menu` m WHERE m.`component` = t.`component`
|
||||
);
|
||||
|
||||
-- 3. 热更新页目前为占位页,先隐藏菜单;页面补齐后改为 visible = 1
|
||||
UPDATE `sys_menu` SET `visible` = 0 WHERE `component` = 'update/hot/index';
|
||||
|
||||
-- 4. 授权给 ADMIN 角色(role_id = 2;如实际角色 id 不同请修改)
|
||||
-- 目录与页面菜单一并授权,保证侧边栏可见
|
||||
INSERT IGNORE INTO `sys_role_menu` (`role_id`, `menu_id`)
|
||||
SELECT 2, `id`
|
||||
FROM `sys_menu`
|
||||
WHERE `id` = @parent_id OR `parent_id` = @parent_id;
|
||||
Reference in new issue
Block a user