longz
2026-08-05 eac80fa4c1bd3af514d91fddee2bd2ac4f609acd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
-- 工作台权限菜单修复
-- 作用:让角色管理的“添加/编辑角色”弹窗显示 工作台 -> 工作台 -> 数据驾驶舱/视频监控。
-- 注意:当前库里 menu_id = 1 已经是工作台入口,但 menu_type 曾是 C,角色弹窗只展示 M 作为模块。
 
UPDATE sys_menu
SET menu_name = '工作台',
    parent_id = 0,
    order_num = 1,
    path = '/workbench',
    component = NULL,
    menu_type = 'M',
    visible = '0',
    status = 0,
    perms = '/workbench',
    icon = '#',
    update_time = NOW()
WHERE menu_id = 1;
 
SET @workbench_page_id := (
    SELECT menu_id FROM sys_menu
    WHERE parent_id = 1 AND path = '/workbench/index'
    ORDER BY menu_id ASC
    LIMIT 1
);
 
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark)
SELECT '工作台', 1, 1, '/workbench/index', 'stat/index', 1, 0, 'C', '0', 0, '/workbench', '#', 'admin', NOW(), '工作台页面'
WHERE @workbench_page_id IS NULL;
 
SET @workbench_page_id := (
    SELECT menu_id FROM sys_menu
    WHERE parent_id = 1 AND path = '/workbench/index'
    ORDER BY menu_id ASC
    LIMIT 1
);
 
UPDATE sys_menu
SET menu_name = '工作台',
    parent_id = 1,
    order_num = 1,
    path = '/workbench/index',
    component = 'stat/index',
    menu_type = 'C',
    visible = '0',
    status = 0,
    perms = '/workbench',
    update_time = NOW()
WHERE menu_id = @workbench_page_id;
 
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark)
SELECT '数据驾驶舱', @workbench_page_id, 1, '/workbench/dashboard', NULL, 1, 0, 'F', '0', 0, '/workbench/dashboard', '#', 'admin', NOW(), '工作台数据驾驶舱权限'
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE parent_id = @workbench_page_id AND path = '/workbench/dashboard');
 
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark)
SELECT '视频监控', @workbench_page_id, 2, '/workbench/video', NULL, 1, 0, 'F', '0', 0, '/workbench/video', '#', 'admin', NOW(), '工作台视频监控权限'
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE parent_id = @workbench_page_id AND path = '/workbench/video');
 
UPDATE sys_menu
SET perms = '/workbench/dashboard',
    update_time = NOW()
WHERE parent_id = @workbench_page_id AND path = '/workbench/dashboard';
 
UPDATE sys_menu
SET perms = '/workbench/video',
    update_time = NOW()
WHERE parent_id = @workbench_page_id AND path = '/workbench/video';
 
-- 修正早期 FAQ 脚本误挂到 menu_id = 1 的情况。
UPDATE sys_menu
SET parent_id = 164,
    order_num = 100,
    component = 'contentSetting/faq',
    update_time = NOW()
WHERE path = '/faq' AND parent_id = 1;
 
-- 管理员角色补上新权限。
INSERT IGNORE INTO sys_role_menu (role_id, menu_id)
SELECT 1, menu_id FROM sys_menu
WHERE menu_id = 1 OR parent_id = 1 OR parent_id = @workbench_page_id;