web iframe结构实现

This commit is contained in:
2025-12-13 14:13:31 +08:00
parent e002f0d989
commit 1776aa2d1e
53 changed files with 3280 additions and 275 deletions

View File

@@ -175,68 +175,67 @@ INSERT INTO sys.tb_sys_view (
('VIEW-P001', 'view_platform_home', '全部应用', NULL, '/agents', 'public/Agents/AgentPlatformView.vue', 'Grid', 1,
'route', NULL, 'platform', 'SidebarLayout', 20, '全部智能体', 'system', now(), false),
-- iframe 嵌入菜单
('VIEW-P005', 'view_platform_workflow', '智能体编排', NULL, NULL, NULL, 'Connection', 1,
-- url: platform中的路由路径用于sidebar定位和路由跳转
-- iframe_url: iframe的src地址实际内容的URL
('VIEW-P005', 'view_platform_workflow', '智能体编排', NULL, '/app/workflow', NULL, 'Connection', 1,
'iframe', 'http://localhost:3000', 'platform', 'SidebarLayout', 30, 'Dify智能体编排iframe', 'system', now(), false),
('VIEW-P003', 'view_platform_bidding', '招标助手', NULL, NULL, NULL, 'Document', 1,
'iframe', 'http://localhost:5002', 'platform', 'SidebarLayout', 40, '招标应用iframe', 'system', now(), false),
('VIEW-P004', 'view_platform_workcase', '泰豪小电', NULL, , NULL, 'Service', 1,
'iframe', 'http://localhost:5003', 'platform', 'SidebarLayout', 50, '客服应用iframe', 'system', now(), false),
('VIEW-P003', 'view_platform_bidding', '招标助手', NULL, '/app/bidding', NULL, 'Document', 1,
'iframe', '/bidding/', 'platform', 'SidebarLayout', 40, '招标应用iframe', 'system', now(), false),
('VIEW-P004', 'view_platform_workcase', '泰豪小电', NULL, '/app/workcase', NULL, 'Service', 1,
'iframe', '/workcase/', 'platform', 'SidebarLayout', 50, '客服应用iframe', 'system', now(), false),
-- 系统管理目录
('VIEW-P100', 'view_system', '系统管理', NULL, '/system', NULL, 'Settings', 0,
'route', NULL, 'platform', 'SidebarLayout', 100, '系统管理目录', 'system', now(), false),
-- 系统管理子菜单
('VIEW-P101', 'view_user', '用户管理', 'view_system', '/system/user', 'system/UserList', 'Users', 1,
'route', NULL, 'platform', 'SidebarLayout', 10, '用户管理页面', 'system', now(), false),
('VIEW-P102', 'view_role', '角色管理', 'view_system', '/system/role', 'system/RoleList', 'Shield', 1,
'route', NULL, 'platform', 'SidebarLayout', 20, '角色管理页面', 'system', now(), false),
('VIEW-P103', 'view_dept', '部门管理', 'view_system', '/system/dept', 'system/DeptList', 'Building', 1,
'route', NULL, 'platform', 'SidebarLayout', 30, '部门管理页面', 'system', now(), false),
('VIEW-P104', 'view_permission', '权限管理', 'view_system', '/system/permission', 'system/PermissionList', 'Lock', 1,
'route', NULL, 'platform', 'SidebarLayout', 40, '权限管理页面', 'system', now(), false),
('VIEW-P105', 'view_config', '配置管理', 'view_system', '/system/config', 'system/ConfigList', 'Settings', 1,
'route', NULL, 'platform', 'SidebarLayout', 50, '配置管理页面', 'system', now(), false),
('VIEW-P106', 'view_file', '文件管理', 'view_system', '/system/file', 'system/FileList', 'FileText', 1,
'route', NULL, 'platform', 'SidebarLayout', 60, '文件管理页面', 'system', now(), false),
('VIEW-P107', 'view_message', '消息管理', 'view_system', '/system/message', 'system/MessageList', 'Mail', 1,
'route', NULL, 'platform', 'SidebarLayout', 70, '消息管理页面', 'system', now(), false),
-- =========================
-- 招标应用菜单 (bidding)
-- =========================
('VIEW-B001', 'view_bidding_home', '首页', NULL, '/home', 'Home', 'House', 1,
'route', NULL, 'bidding', 'DefaultLayout', 10, '招标应用首页', 'system', now(), false),
('VIEW-B002', 'view_bidding_list', '招标列表', NULL, '/bidding/list', 'bidding/List', 'List', 1,
'route', NULL, 'bidding', 'DefaultLayout', 20, '招标项目列表', 'system', now(), false),
('VIEW-B003', 'view_bidding_detail', '招标详情', NULL, '/bidding/detail', 'bidding/Detail', 'Document', 1,
'route', NULL, 'bidding', 'DefaultLayout', 30, '招标项目详情', 'system', now(), false),
('VIEW-B004', 'view_bidding_offer', '投标管理', NULL, '/bidding/offer', 'bidding/Offer', 'Edit', 1,
'route', NULL, 'bidding', 'DefaultLayout', 40, '投标管理页面', 'system', now(), false),
-- -- 系统管理目录
-- ('VIEW-P100', 'view_system', '系统管理', NULL, '/system', NULL, 'Settings', 0,
-- 'route', NULL, 'platform', 'SidebarLayout', 100, '系统管理目录', 'system', now(), false),
--
-- -- 系统管理子菜单
-- ('VIEW-P101', 'view_user', '用户管理', 'view_system', '/system/user', 'system/UserList', 'Users', 1,
-- 'route', NULL, 'platform', 'SidebarLayout', 10, '用户管理页面', 'system', now(), false),
--
-- ('VIEW-P102', 'view_role', '角色管理', 'view_system', '/system/role', 'system/RoleList', 'Shield', 1,
-- 'route', NULL, 'platform', 'SidebarLayout', 20, '角色管理页面', 'system', now(), false),
--
-- ('VIEW-P103', 'view_dept', '部门管理', 'view_system', '/system/dept', 'system/DeptList', 'Building', 1,
-- 'route', NULL, 'platform', 'SidebarLayout', 30, '部门管理页面', 'system', now(), false),
--
-- ('VIEW-P104', 'view_permission', '权限管理', 'view_system', '/system/permission', 'system/PermissionList', 'Lock', 1,
-- 'route', NULL, 'platform', 'SidebarLayout', 40, '权限管理页面', 'system', now(), false),
--
-- ('VIEW-P105', 'view_config', '配置管理', 'view_system', '/system/config', 'system/ConfigList', 'Settings', 1,
-- 'route', NULL, 'platform', 'SidebarLayout', 50, '配置管理页面', 'system', now(), false),
--
-- ('VIEW-P106', 'view_file', '文件管理', 'view_system', '/system/file', 'system/FileList', 'FileText', 1,
-- 'route', NULL, 'platform', 'SidebarLayout', 60, '文件管理页面', 'system', now(), false),
--
-- ('VIEW-P107', 'view_message', '消息管理', 'view_system', '/system/message', 'system/MessageList', 'Mail', 1,
-- 'route', NULL, 'platform', 'SidebarLayout', 70, '消息管理页面', 'system', now(), false),
--
-- -- =========================
-- -- 招标应用菜单 (bidding)
-- -- =========================
-- ('VIEW-B001', 'view_bidding_home', '首页', NULL, '/home', 'Home', 'House', 1,
-- 'route', NULL, 'bidding', 'DefaultLayout', 10, '招标应用首页', 'system', now(), false),
--
-- ('VIEW-B002', 'view_bidding_list', '招标列表', NULL, '/bidding/list', 'bidding/List', 'List', 1,
-- 'route', NULL, 'bidding', 'DefaultLayout', 20, '招标项目列表', 'system', now(), false),
--
-- ('VIEW-B003', 'view_bidding_detail', '招标详情', NULL, '/bidding/detail', 'bidding/Detail', 'Document', 1,
-- 'route', NULL, 'bidding', 'DefaultLayout', 30, '招标项目详情', 'system', now(), false),
--
-- ('VIEW-B004', 'view_bidding_offer', '投标管理', NULL, '/bidding/offer', 'bidding/Offer', 'Edit', 1,
-- 'route', NULL, 'bidding', 'DefaultLayout', 40, '投标管理页面', 'system', now(), false),
-- =========================
-- 客服应用菜单 (workcase)
-- =========================
('VIEW-W001', 'view_workcase_home', '首页', NULL, '/home', 'Home', 'House', 1,
'route', NULL, 'workcase', 'DefaultLayout', 10, '客服应用首页', 'system', now(), false),
('VIEW-W001', 'view_workcase_home', '智能客服', NULL, '/', 'public/AIChat/AIChatView.vue', 'House', 3,
'route', NULL, 'workcase', 'BlankLayout', 10, '智能客服首页', 'system', now(), false),
('VIEW-W002', 'view_workcase_list', '工单列表', NULL, '/workcase/list', 'workcase/List', 'Tickets', 1,
'route', NULL, 'workcase', 'DefaultLayout', 20, '工单列表页面', 'system', now(), false),
('VIEW-W002', 'view_workcase_list', '工单列表', NULL, '/list', 'workcase/List', 'Tickets', 1,
'route', NULL, 'workcase', 'SidebarLayout', 20, '工单列表页面', 'system', now(), false),
('VIEW-W003', 'view_workcase_detail', '工单详情', NULL, '/workcase/detail', 'workcase/Detail', 'Document', 1,
'route', NULL, 'workcase', 'DefaultLayout', 30, '工单详情页面', 'system', now(), false),
('VIEW-W004', 'view_workcase_chat', '智能客服', NULL, '/workcase/chat', 'workcase/Chat', 'ChatDotRound', 1,
'route', NULL, 'workcase', 'DefaultLayout', 40, '智能客服聊天', 'system', now(), false);
('VIEW-W003', 'view_workcase_detail', '工单详情', NULL, '/detail', 'workcase/Detail', 'Document', 1,
'route', NULL, 'workcase', 'SidebarLayout', 30, '工单详情页面', 'system', now(), false);
-- =============================
-- 6. 角色权限关联(超级管理员拥有所有权限)
@@ -319,45 +318,50 @@ INSERT INTO sys.tb_sys_view_permission (
('VP-P004', 'view_platform_workcase', 'perm_platform_workcase', 'system', NULL, now(), false),
('VP-P005', 'view_platform_workflow', 'perm_platform_workflow', 'system', NULL, now(), false),
-- 用户管理视图关联用户权限
('VP-0001', 'view_user', 'perm_user_view', 'system', NULL, now(), false),
('VP-0002', 'view_user', 'perm_user_create', 'system', NULL, now(), false),
('VP-0003', 'view_user', 'perm_user_edit', 'system', NULL, now(), false),
('VP-0004', 'view_user', 'perm_user_delete', 'system', NULL, now(), false),
('VP-0005', 'view_user', 'perm_user_export', 'system', NULL, now(), false),
-- Workcase服务内部视图关联使用同一个workcase访问权限
('VP-W001', 'view_workcase_home', 'perm_platform_workcase', 'system', NULL, now(), false),
('VP-W002', 'view_workcase_list', 'perm_platform_workcase', 'system', NULL, now(), false),
('VP-W003', 'view_workcase_detail', 'perm_platform_workcase', 'system', NULL, now(), false);
-- 角色管理视图关联角色权限
('VP-0011', 'view_role', 'perm_role_view', 'system', NULL, now(), false),
('VP-0012', 'view_role', 'perm_role_create', 'system', NULL, now(), false),
('VP-0013', 'view_role', 'perm_role_edit', 'system', NULL, now(), false),
('VP-0014', 'view_role', 'perm_role_delete', 'system', NULL, now(), false),
('VP-0015', 'view_role', 'perm_role_export', 'system', NULL, now(), false),
-- 部门管理视图关联部门权限
('VP-0021', 'view_dept', 'perm_dept_view', 'system', NULL, now(), false),
('VP-0022', 'view_dept', 'perm_dept_create', 'system', NULL, now(), false),
('VP-0023', 'view_dept', 'perm_dept_edit', 'system', NULL, now(), false),
('VP-0024', 'view_dept', 'perm_dept_delete', 'system', NULL, now(), false),
('VP-0025', 'view_dept', 'perm_dept_export', 'system', NULL, now(), false),
-- 权限管理视图关联权限管理权限
('VP-0031', 'view_permission', 'perm_permission_view', 'system', NULL, now(), false),
('VP-0032', 'view_permission', 'perm_permission_manage', 'system', NULL, now(), false),
-- 配置管理视图关联配置权限
('VP-0041', 'view_config', 'perm_config_view', 'system', NULL, now(), false),
('VP-0042', 'view_config', 'perm_config_edit', 'system', NULL, now(), false),
('VP-0043', 'view_config', 'perm_config_export', 'system', NULL, now(), false),
-- 文件管理视图关联文件权限
('VP-0051', 'view_file', 'perm_file_view', 'system', NULL, now(), false),
('VP-0052', 'view_file', 'perm_file_upload', 'system', NULL, now(), false),
('VP-0053', 'view_file', 'perm_file_download', 'system', NULL, now(), false),
('VP-0054', 'view_file', 'perm_file_delete', 'system', NULL, now(), false),
('VP-0055', 'view_file', 'perm_file_export', 'system', NULL, now(), false),
-- 消息管理视图关联消息权限
('VP-0061', 'view_message', 'perm_message_view', 'system', NULL, now(), false),
('VP-0062', 'view_message', 'perm_message_send', 'system', NULL, now(), false),
('VP-0063', 'view_message', 'perm_message_manage', 'system', NULL, now(), false),
('VP-0064', 'view_message', 'perm_message_export', 'system', NULL, now(), false);
-- -- 用户管理视图关联用户权限已注释因为view_user被注释掉了
-- -- ('VP-0001', 'view_user', 'perm_user_view', 'system', NULL, now(), false),
-- -- ('VP-0002', 'view_user', 'perm_user_create', 'system', NULL, now(), false),
-- -- ('VP-0003', 'view_user', 'perm_user_edit', 'system', NULL, now(), false),
-- -- ('VP-0004', 'view_user', 'perm_user_delete', 'system', NULL, now(), false),
-- -- ('VP-0005', 'view_user', 'perm_user_export', 'system', NULL, now(), false),
-- --
-- -- -- 角色管理视图关联角色权限
-- -- ('VP-0011', 'view_role', 'perm_role_view', 'system', NULL, now(), false),
-- -- ('VP-0012', 'view_role', 'perm_role_create', 'system', NULL, now(), false),
-- -- ('VP-0013', 'view_role', 'perm_role_edit', 'system', NULL, now(), false),
-- -- ('VP-0014', 'view_role', 'perm_role_delete', 'system', NULL, now(), false),
-- -- ('VP-0015', 'view_role', 'perm_role_export', 'system', NULL, now(), false),
-- --
-- -- -- 部门管理视图关联部门权限
-- -- ('VP-0021', 'view_dept', 'perm_dept_view', 'system', NULL, now(), false),
-- -- ('VP-0022', 'view_dept', 'perm_dept_create', 'system', NULL, now(), false),
-- -- ('VP-0023', 'view_dept', 'perm_dept_edit', 'system', NULL, now(), false),
-- -- ('VP-0024', 'view_dept', 'perm_dept_delete', 'system', NULL, now(), false),
-- -- ('VP-0025', 'view_dept', 'perm_dept_export', 'system', NULL, now(), false),
-- --
-- -- -- 权限管理视图关联权限管理权限
-- -- ('VP-0031', 'view_permission', 'perm_permission_view', 'system', NULL, now(), false),
-- -- ('VP-0032', 'view_permission', 'perm_permission_manage', 'system', NULL, now(), false),
-- --
-- -- -- 配置管理视图关联配置权限
-- -- ('VP-0041', 'view_config', 'perm_config_view', 'system', NULL, now(), false),
-- -- ('VP-0042', 'view_config', 'perm_config_edit', 'system', NULL, now(), false),
-- -- ('VP-0043', 'view_config', 'perm_config_export', 'system', NULL, now(), false),
-- --
-- -- -- 文件管理视图关联文件权限
-- -- ('VP-0051', 'view_file', 'perm_file_view', 'system', NULL, now(), false),
-- -- ('VP-0052', 'view_file', 'perm_file_upload', 'system', NULL, now(), false),
-- -- ('VP-0053', 'view_file', 'perm_file_download', 'system', NULL, now(), false),
-- -- ('VP-0054', 'view_file', 'perm_file_delete', 'system', NULL, now(), false),
-- -- ('VP-0055', 'view_file', 'perm_file_export', 'system', NULL, now(), false),
-- --
-- -- -- 消息管理视图关联消息权限
-- -- ('VP-0061', 'view_message', 'perm_message_view', 'system', NULL, now(), false),
-- -- ('VP-0062', 'view_message', 'perm_message_send', 'system', NULL, now(), false),
-- -- ('VP-0063', 'view_message', 'perm_message_manage', 'system', NULL, now(), false),
-- -- ('VP-0064', 'view_message', 'perm_message_export', 'system', NULL, now(), false);

View File

@@ -107,6 +107,9 @@ public class PermissionVO extends BaseVO {
@Schema(description = "iframe URL")
private String viewIframeUrl;
@Schema(description = "所属服务platform=平台应用 bidding=招标应用 workcase=客服应用")
private String viewService;
@Schema(description = "布局")
private String viewLayout;
@@ -176,6 +179,7 @@ public class PermissionVO extends BaseVO {
dto.setType(vo.getViewType());
dto.setViewType(vo.getViewViewType());
dto.setIframeUrl(vo.getViewIframeUrl());
dto.setService(vo.getViewService());
dto.setLayout(vo.getViewLayout());
dto.setOrderNum(vo.getViewOrderNum());
dto.setDescription(vo.getViewDescription());
@@ -205,6 +209,7 @@ public class PermissionVO extends BaseVO {
vo.setViewType(dto.getType());
vo.setViewViewType(dto.getViewType());
vo.setViewIframeUrl(dto.getIframeUrl());
vo.setViewService(dto.getService());
vo.setViewLayout(dto.getLayout());
vo.setViewOrderNum(dto.getOrderNum());
vo.setViewDescription(dto.getDescription());

View File

@@ -48,6 +48,7 @@
<result column="view_type" property="viewType" jdbcType="INTEGER"/>
<result column="view_view_type" property="viewViewType" jdbcType="VARCHAR"/>
<result column="view_iframe_url" property="viewIframeUrl" jdbcType="VARCHAR"/>
<result column="view_service" property="viewService" jdbcType="VARCHAR"/>
<result column="view_layout" property="viewLayout" jdbcType="VARCHAR"/>
<result column="view_order_num" property="viewOrderNum" jdbcType="INTEGER"/>
<result column="view_description" property="viewDescription" jdbcType="VARCHAR"/>
@@ -267,6 +268,7 @@
v.type AS view_type,
v.view_type AS view_view_type,
v.iframe_url AS view_iframe_url,
v.service AS view_service,
v.layout AS view_layout,
v.order_num AS view_order_num,
v.description AS view_description,