前端服务共享

This commit is contained in:
2025-12-11 14:21:36 +08:00
parent fa3dbe0496
commit 5ee9770747
46 changed files with 3732 additions and 1782 deletions

View File

@@ -12,12 +12,13 @@ CREATE DATABASE urban_lifeline
LC_CTYPE 'zh_CN.UTF-8';
-- 连接到新创建的数据库
\c urban-lifeline;
\c urban_lifeline;
-- -- 创建扩展(如果需要)
CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; -- UUID 支持
CREATE EXTENSION IF NOT EXISTS "pg_trgm"; -- 文本搜索支持
CREATE EXTENSION IF NOT EXISTS "btree_gist"; -- GiST 索引支持
CREATE EXTENSION IF NOT EXISTS "vector"; -- 向量
-- 设置搜索路径(可选,但建议设置)
-- ALTER DATABASE urban-lifeline SET search_path TO sys, public;

View File

@@ -158,8 +158,11 @@ CREATE TABLE sys.tb_sys_view (
url VARCHAR(255) DEFAULT NULL, -- 视图URL
component VARCHAR(255) DEFAULT NULL, -- 视图组件
icon VARCHAR(100) DEFAULT NULL, -- 视图图标
type INTEGER DEFAULT 0, -- 视图类型
layout VARCHAR(100) DEFAULT NULL, -- 布局组件路径名称
type INTEGER DEFAULT 0, -- 视图类型0=目录 1=菜单页面 2=按钮
view_type VARCHAR(20) DEFAULT 'route', -- 页面类型route=路由页面 iframe=嵌入页面
iframe_url VARCHAR(500) DEFAULT NULL, -- iframe URL仅当view_type=iframe时有效
service VARCHAR(20) DEFAULT 'platform', -- 所属服务platform=平台应用 bidding=招标应用 workcase=客服应用
layout VARCHAR(100) DEFAULT NULL, -- 布局组件路径名称
order_num INTEGER DEFAULT 0, -- 视图排序号
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
description VARCHAR(255) DEFAULT NULL, -- 视图描述
@@ -172,7 +175,11 @@ CREATE TABLE sys.tb_sys_view (
PRIMARY KEY (view_id),
UNIQUE (optsn)
);
COMMENT ON TABLE sys.tb_sys_view IS '视图表';
-- 创建索引
CREATE INDEX idx_sys_view_parent ON sys.tb_sys_view USING btree (parent_id) WHERE deleted = false;
CREATE INDEX idx_sys_view_service ON sys.tb_sys_view USING btree (service) WHERE deleted = false;
CREATE INDEX idx_sys_view_type ON sys.tb_sys_view USING btree (view_type) WHERE deleted = false;
COMMENT ON TABLE sys.tb_sys_view IS '视图表(菜单表)';
COMMENT ON COLUMN sys.tb_sys_view.optsn IS '流水号';
COMMENT ON COLUMN sys.tb_sys_view.view_id IS '视图ID';
COMMENT ON COLUMN sys.tb_sys_view.name IS '视图名称';
@@ -180,7 +187,10 @@ COMMENT ON COLUMN sys.tb_sys_view.parent_id IS '父视图ID';
COMMENT ON COLUMN sys.tb_sys_view.url IS '视图URL';
COMMENT ON COLUMN sys.tb_sys_view.component IS '视图组件';
COMMENT ON COLUMN sys.tb_sys_view.icon IS '视图图标';
COMMENT ON COLUMN sys.tb_sys_view.type IS '视图类型';
COMMENT ON COLUMN sys.tb_sys_view.type IS '视图类型0=目录 1=菜单页面 2=按钮';
COMMENT ON COLUMN sys.tb_sys_view.view_type IS '页面类型route=路由页面 iframe=嵌入页面';
COMMENT ON COLUMN sys.tb_sys_view.iframe_url IS 'iframe URL仅当view_type=iframe时有效';
COMMENT ON COLUMN sys.tb_sys_view.service IS '所属服务platform=平台应用 bidding=招标应用 workcase=客服应用';
COMMENT ON COLUMN sys.tb_sys_view.layout IS '布局组件路径名称';
COMMENT ON COLUMN sys.tb_sys_view.order_num IS '视图排序号';
COMMENT ON COLUMN sys.tb_sys_view.description IS '视图描述';

View File

@@ -31,7 +31,7 @@
\i createTableBidding.sql
-- 8. 智能客服业务模块
\i createTableCustomerService.sql
\i createTableWorkcase.sql
-- 9. 智能体模块(暂不启用)
-- \i createTableAgent.sql

View File

@@ -59,7 +59,7 @@ INSERT INTO sys.tb_sys_module (
('MODULE-0006', 'module_bidding', '招投标', '招投标业务管理',
'system', NULL, now(), false),
('MODULE-0007', 'module_customer_service', '智能客服', '客服工单管理',
('MODULE-0007', 'module_workcase', '智能客服', '客服工单管理',
'system', NULL, now(), false);
-- =============================
@@ -144,6 +144,18 @@ INSERT INTO sys.tb_sys_permission (
('PERM-0401', 'perm_log_view', '日志查看', 'log:log:view', '查看系统日志', 'module_system',
true, 'system', NULL, now(), false),
('PERM-0402', 'perm_log_export', '日志导出', 'log:log:export', '导出系统日志数据', 'module_system',
true, 'system', NULL, now(), false),
-- 平台基础菜单访问权限(所有登录用户都有)
('PERM-0501', 'perm_platform_home', '工作台访问', 'platform:home:view', '访问平台工作台', 'module_system',
true, 'system', NULL, now(), false),
('PERM-0502', 'perm_platform_chat', 'AI助手访问', 'platform:chat:view', '访问AI助手', 'module_system',
true, 'system', NULL, now(), false),
('PERM-0503', 'perm_platform_bidding', '招标助手访问', 'platform:bidding:view', '访问招标助手iframe', 'module_bidding',
true, 'system', NULL, now(), false),
('PERM-0504', 'perm_platform_workcase', '泰豪小电访问', 'platform:workcase:view', '访问泰豪小电客服iframe', 'module_workcase',
true, 'system', NULL, now(), false),
('PERM-0505', 'perm_platform_workflow', '智能体编排访问', 'platform:workflow:view', '访问智能体编排iframe', 'module_system',
true, 'system', NULL, now(), false);
-- =============================
@@ -151,36 +163,84 @@ INSERT INTO sys.tb_sys_permission (
-- =============================
INSERT INTO sys.tb_sys_view (
optsn, view_id, name, parent_id, url, component, icon, type,
layout, order_num, description, creator, create_time, deleted
view_type, iframe_url, service, layout, order_num, description,
creator, create_time, deleted
) VALUES
-- =========================
-- 平台应用菜单 (platform)
-- =========================
-- 一级菜单
('VIEW-0001', 'view_system', '系统管理', NULL, '/system', NULL, 'Settings', 0,
'MainLayout', 100, '系统管理菜单', 'system', now(), false),
('VIEW-P001', 'view_platform_home', '工作台', NULL, '/home', 'Home', 'Grid', 1,
'route', NULL, 'platform', 'SidebarLayout', 10, '平台工作台首页', 'system', now(), false),
('VIEW-0002', 'view_business', '业务管理', NULL, '/business', NULL, 'Briefcase', 0,
'MainLayout', 200, '业务管理菜单', 'system', now(), false),
('VIEW-P002', 'view_platform_chat', 'AI助手', NULL, '/chat', 'Chat', 'ChatDotRound', 1,
'route', NULL, 'platform', 'SidebarLayout', 20, 'AI智能对话助手', 'system', now(), false),
-- iframe 嵌入菜单
('VIEW-P003', 'view_platform_bidding', '招标助手', NULL, NULL, NULL, 'Document', 1,
'iframe', 'http://localhost:5002', 'platform', 'SidebarLayout', 30, '招标应用iframe', 'system', now(), false),
('VIEW-P004', 'view_platform_workcase', '泰豪小电', NULL, NULL, NULL, 'Service', 1,
'iframe', 'http://localhost:5003', 'platform', 'SidebarLayout', 40, '客服应用iframe', 'system', now(), false),
('VIEW-P005', 'view_platform_workflow', '智能体编排', NULL, NULL, NULL, 'Connection', 1,
'iframe', 'http://localhost:3000', 'platform', 'SidebarLayout', 50, 'Dify智能体编排iframe', 'system', now(), false),
-- 系统管理目录
('VIEW-P100', 'view_system', '系统管理', NULL, '/system', NULL, 'Settings', 0,
'route', NULL, 'platform', 'SidebarLayout', 100, '系统管理目录', 'system', now(), false),
-- 系统管理子菜单
('VIEW-0101', 'view_user', '用户管理', 'view_system', '/system/user', 'system/UserList', 'Users', 1,
'MainLayout', 10, '用户管理页面', 'system', now(), false),
('VIEW-P101', 'view_user', '用户管理', 'view_system', '/system/user', 'system/UserList', 'Users', 1,
'route', NULL, 'platform', 'SidebarLayout', 10, '用户管理页面', 'system', now(), false),
('VIEW-0102', 'view_role', '角色管理', 'view_system', '/system/role', 'system/RoleList', 'Shield', 1,
'MainLayout', 20, '角色管理页面', 'system', now(), false),
('VIEW-P102', 'view_role', '角色管理', 'view_system', '/system/role', 'system/RoleList', 'Shield', 1,
'route', NULL, 'platform', 'SidebarLayout', 20, '角色管理页面', 'system', now(), false),
('VIEW-0103', 'view_dept', '部门管理', 'view_system', '/system/dept', 'system/DeptList', 'Building', 1,
'MainLayout', 30, '部门管理页面', 'system', now(), false),
('VIEW-P103', 'view_dept', '部门管理', 'view_system', '/system/dept', 'system/DeptList', 'Building', 1,
'route', NULL, 'platform', 'SidebarLayout', 30, '部门管理页面', 'system', now(), false),
('VIEW-0104', 'view_permission', '权限管理', 'view_system', '/system/permission', 'system/PermissionList', 'Lock', 1,
'MainLayout', 40, '权限管理页面', 'system', now(), false),
('VIEW-P104', 'view_permission', '权限管理', 'view_system', '/system/permission', 'system/PermissionList', 'Lock', 1,
'route', NULL, 'platform', 'SidebarLayout', 40, '权限管理页面', 'system', now(), false),
('VIEW-0105', 'view_config', '配置管理', 'view_system', '/system/config', 'system/ConfigList', 'Settings', 1,
'MainLayout', 50, '配置管理页面', 'system', now(), false),
('VIEW-P105', 'view_config', '配置管理', 'view_system', '/system/config', 'system/ConfigList', 'Settings', 1,
'route', NULL, 'platform', 'SidebarLayout', 50, '配置管理页面', 'system', now(), false),
('VIEW-0106', 'view_file', '文件管理', 'view_system', '/system/file', 'system/FileList', 'FileText', 1,
'MainLayout', 60, '文件管理页面', 'system', now(), false),
('VIEW-P106', 'view_file', '文件管理', 'view_system', '/system/file', 'system/FileList', 'FileText', 1,
'route', NULL, 'platform', 'SidebarLayout', 60, '文件管理页面', 'system', now(), false),
('VIEW-0107', 'view_message', '消息管理', 'view_system', '/system/message', 'system/MessageList', 'Mail', 1,
'MainLayout', 70, '消息管理页面', '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-W002', 'view_workcase_list', '工单列表', NULL, '/workcase/list', 'workcase/List', 'Tickets', 1,
'route', NULL, 'workcase', 'DefaultLayout', 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);
-- =============================
-- 6. 角色权限关联(超级管理员拥有所有权限)
@@ -199,7 +259,7 @@ SELECT
FROM sys.tb_sys_permission
WHERE deleted = false;
-- 系统管理员权限(除了用户删除外的系统管理权限)
-- 系统管理员权限(除了用户删除外的系统管理权限 + 所有平台基础菜单
INSERT INTO sys.tb_sys_role_permission (
optsn, role_id, permission_id, creator, dept_path, create_time, deleted
)
@@ -214,73 +274,94 @@ SELECT
FROM sys.tb_sys_permission
WHERE deleted = false
AND code NOT IN ('system:user:delete', 'system:role:delete', 'system:dept:delete')
AND module_id IN ('module_system', 'module_file', 'module_message', 'module_config');
AND (
module_id IN ('module_system', 'module_file', 'module_message', 'module_config', 'module_bidding', 'module_workcase')
OR code LIKE 'platform:%:view' -- 包含所有平台基础菜单权限
);
-- 普通用户权限(基础查看和文件操作)
-- 普通用户权限(基础查看和文件操作 + 平台基础菜单访问
INSERT INTO sys.tb_sys_role_permission (
optsn, role_id, permission_id, creator, dept_path, create_time, deleted
) VALUES
('RP-U-0001', 'role_user', 'perm_user_view', 'system', NULL, now(), false),
('RP-U-0002', 'role_user', 'perm_file_view', 'system', NULL, now(), false),
('RP-U-0003', 'role_user', 'perm_file_upload', 'system', NULL, now(), false),
('RP-U-0004', 'role_user', 'perm_file_download', 'system', NULL, now(), false),
('RP-U-0005', 'role_user', 'perm_message_view', 'system', NULL, now(), false),
('RP-U-0006', 'role_user', 'perm_config_view', 'system', NULL, now(), false);
-- 平台基础菜单访问权限
('RP-U-0001', 'role_user', 'perm_platform_home', 'system', NULL, now(), false),
('RP-U-0002', 'role_user', 'perm_platform_chat', 'system', NULL, now(), false),
('RP-U-0003', 'role_user', 'perm_platform_bidding', 'system', NULL, now(), false),
('RP-U-0004', 'role_user', 'perm_platform_workcase', 'system', NULL, now(), false),
('RP-U-0005', 'role_user', 'perm_platform_workflow', 'system', NULL, now(), false),
-- 系统功能权限
('RP-U-0011', 'role_user', 'perm_user_view', 'system', NULL, now(), false),
('RP-U-0012', 'role_user', 'perm_file_view', 'system', NULL, now(), false),
('RP-U-0013', 'role_user', 'perm_file_upload', 'system', NULL, now(), false),
('RP-U-0014', 'role_user', 'perm_file_download', 'system', NULL, now(), false),
('RP-U-0015', 'role_user', 'perm_message_view', 'system', NULL, now(), false),
('RP-U-0016', 'role_user', 'perm_config_view', 'system', NULL, now(), false);
-- 访客权限(仅查看)
-- 访客权限(仅查看 + 基础菜单访问
INSERT INTO sys.tb_sys_role_permission (
optsn, role_id, permission_id, creator, dept_path, create_time, deleted
) VALUES
('RP-G-0001', 'role_guest', 'perm_user_view', 'system', NULL, now(), false),
('RP-G-0002', 'role_guest', 'perm_file_view', 'system', NULL, now(), false),
('RP-G-0003', 'role_guest', 'perm_message_view', 'system', NULL, now(), false);
-- 平台基础菜单访问权限
('RP-G-0001', 'role_guest', 'perm_platform_home', 'system', NULL, now(), false),
('RP-G-0002', 'role_guest', 'perm_platform_chat', 'system', NULL, now(), false),
-- 系统功能权限(仅查看)
('RP-G-0011', 'role_guest', 'perm_user_view', 'system', NULL, now(), false),
('RP-G-0012', 'role_guest', 'perm_file_view', 'system', NULL, now(), false),
('RP-G-0013', 'role_guest', 'perm_message_view', 'system', NULL, now(), false);
-- =============================
-- 7. 视图权限关联
-- =============================
-- 将视图与对应模块的权限关联
-- 将视图与对应模块的权限关联(使用新的 view_id
INSERT INTO sys.tb_sys_view_permission (
optsn, view_id, permission_id, creator, dept_path, create_time, deleted
) VALUES
-- 用户管理视图关联用户权限
('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-P001', 'VIEW-P001', 'perm_platform_home', 'system', NULL, now(), false),
('VP-P002', 'VIEW-P002', 'perm_platform_chat', 'system', NULL, now(), false),
('VP-P003', 'VIEW-P003', 'perm_platform_bidding', 'system', NULL, now(), false),
('VP-P004', 'VIEW-P004', 'perm_platform_workcase', 'system', NULL, now(), false),
('VP-P005', 'VIEW-P005', 'perm_platform_workflow', '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),
-- 用户管理视图关联用户权限VIEW-P101
('VP-0001', 'VIEW-P101', 'perm_user_view', 'system', NULL, now(), false),
('VP-0002', 'VIEW-P101', 'perm_user_create', 'system', NULL, now(), false),
('VP-0003', 'VIEW-P101', 'perm_user_edit', 'system', NULL, now(), false),
('VP-0004', 'VIEW-P101', 'perm_user_delete', 'system', NULL, now(), false),
('VP-0005', 'VIEW-P101', 'perm_user_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),
-- 角色管理视图关联角色权限VIEW-P102
('VP-0011', 'VIEW-P102', 'perm_role_view', 'system', NULL, now(), false),
('VP-0012', 'VIEW-P102', 'perm_role_create', 'system', NULL, now(), false),
('VP-0013', 'VIEW-P102', 'perm_role_edit', 'system', NULL, now(), false),
('VP-0014', 'VIEW-P102', 'perm_role_delete', 'system', NULL, now(), false),
('VP-0015', 'VIEW-P102', 'perm_role_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),
-- 部门管理视图关联部门权限VIEW-P103
('VP-0021', 'VIEW-P103', 'perm_dept_view', 'system', NULL, now(), false),
('VP-0022', 'VIEW-P103', 'perm_dept_create', 'system', NULL, now(), false),
('VP-0023', 'VIEW-P103', 'perm_dept_edit', 'system', NULL, now(), false),
('VP-0024', 'VIEW-P103', 'perm_dept_delete', 'system', NULL, now(), false),
('VP-0025', 'VIEW-P103', 'perm_dept_export', '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),
-- 权限管理视图关联权限管理权限VIEW-P104
('VP-0031', 'VIEW-P104', 'perm_permission_view', 'system', NULL, now(), false),
('VP-0032', 'VIEW-P104', 'perm_permission_manage', '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),
-- 配置管理视图关联配置权限VIEW-P105
('VP-0041', 'VIEW-P105', 'perm_config_view', 'system', NULL, now(), false),
('VP-0042', 'VIEW-P105', 'perm_config_edit', 'system', NULL, now(), false),
('VP-0043', 'VIEW-P105', 'perm_config_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-P106
('VP-0051', 'VIEW-P106', 'perm_file_view', 'system', NULL, now(), false),
('VP-0052', 'VIEW-P106', 'perm_file_upload', 'system', NULL, now(), false),
('VP-0053', 'VIEW-P106', 'perm_file_download', 'system', NULL, now(), false),
('VP-0054', 'VIEW-P106', 'perm_file_delete', 'system', NULL, now(), false),
('VP-0055', 'VIEW-P106', 'perm_file_export', 'system', NULL, now(), false),
-- 消息管理视图关联消息权限VIEW-P107
('VP-0061', 'VIEW-P107', 'perm_message_view', 'system', NULL, now(), false),
('VP-0062', 'VIEW-P107', 'perm_message_send', 'system', NULL, now(), false),
('VP-0063', 'VIEW-P107', 'perm_message_manage', 'system', NULL, now(), false),
('VP-0064', 'VIEW-P107', 'perm_message_export', 'system', NULL, now(), false);