diff --git a/java-api/ruoyi-admin/src/main/resources/application.yml b/java-api/ruoyi-admin/src/main/resources/application.yml index fbae1a3..97b8d8c 100644 --- a/java-api/ruoyi-admin/src/main/resources/application.yml +++ b/java-api/ruoyi-admin/src/main/resources/application.yml @@ -22,10 +22,10 @@ captcha: # 开发环境配置 server: # 服务器的HTTP端口,默认为8080 - port: 8080 + port: 8000 servlet: # 应用的访问路径 - context-path: / + context-path: /official # undertow 配置 undertow: # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的 diff --git a/java-api/script/sql/sys_dict_data.sql b/java-api/script/sql/sys_dict_data.sql new file mode 100644 index 0000000..a3cda00 --- /dev/null +++ b/java-api/script/sql/sys_dict_data.sql @@ -0,0 +1,207 @@ +/* + Navicat Premium Data Transfer + + Source Server : 127.0.0.1 + Source Server Type : MySQL + Source Server Version : 80011 + Source Host : localhost:3306 + Source Schema : hanhai-official-website + + Target Server Type : MySQL + Target Server Version : 80011 + File Encoding : 65001 + + Date: 25/05/2025 23:18:46 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for sys_dict_data +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_data`; +CREATE TABLE `sys_dict_data` ( + `dict_code` bigint(20) NOT NULL COMMENT '字典编码', + `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000' COMMENT '租户编号', + `dict_sort` int(4) NULL DEFAULT 0 COMMENT '字典排序', + `dict_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_dict_data +-- ---------------------------- +INSERT INTO `sys_dict_data` VALUES (1, '000000', 1, '男', '0', 'sys_user_sex', '', '', 'Y', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '性别男'); +INSERT INTO `sys_dict_data` VALUES (2, '000000', 2, '女', '1', 'sys_user_sex', '', '', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '性别女'); +INSERT INTO `sys_dict_data` VALUES (3, '000000', 3, '未知', '2', 'sys_user_sex', '', '', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '性别未知'); +INSERT INTO `sys_dict_data` VALUES (4, '000000', 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '显示菜单'); +INSERT INTO `sys_dict_data` VALUES (5, '000000', 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '隐藏菜单'); +INSERT INTO `sys_dict_data` VALUES (6, '000000', 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '正常状态'); +INSERT INTO `sys_dict_data` VALUES (7, '000000', 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '停用状态'); +INSERT INTO `sys_dict_data` VALUES (12, '000000', 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '系统默认是'); +INSERT INTO `sys_dict_data` VALUES (13, '000000', 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '系统默认否'); +INSERT INTO `sys_dict_data` VALUES (14, '000000', 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '通知'); +INSERT INTO `sys_dict_data` VALUES (15, '000000', 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '公告'); +INSERT INTO `sys_dict_data` VALUES (16, '000000', 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '正常状态'); +INSERT INTO `sys_dict_data` VALUES (17, '000000', 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '关闭状态'); +INSERT INTO `sys_dict_data` VALUES (18, '000000', 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '新增操作'); +INSERT INTO `sys_dict_data` VALUES (19, '000000', 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '修改操作'); +INSERT INTO `sys_dict_data` VALUES (20, '000000', 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '删除操作'); +INSERT INTO `sys_dict_data` VALUES (21, '000000', 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '授权操作'); +INSERT INTO `sys_dict_data` VALUES (22, '000000', 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '导出操作'); +INSERT INTO `sys_dict_data` VALUES (23, '000000', 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '导入操作'); +INSERT INTO `sys_dict_data` VALUES (24, '000000', 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '强退操作'); +INSERT INTO `sys_dict_data` VALUES (25, '000000', 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '生成操作'); +INSERT INTO `sys_dict_data` VALUES (26, '000000', 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '清空操作'); +INSERT INTO `sys_dict_data` VALUES (27, '000000', 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '正常状态'); +INSERT INTO `sys_dict_data` VALUES (28, '000000', 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '停用状态'); +INSERT INTO `sys_dict_data` VALUES (29, '000000', 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '其他操作'); +INSERT INTO `sys_dict_data` VALUES (30, '000000', 0, '密码认证', 'password', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '密码认证'); +INSERT INTO `sys_dict_data` VALUES (31, '000000', 0, '短信认证', 'sms', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '短信认证'); +INSERT INTO `sys_dict_data` VALUES (32, '000000', 0, '邮件认证', 'email', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '邮件认证'); +INSERT INTO `sys_dict_data` VALUES (33, '000000', 0, '小程序认证', 'xcx', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '小程序认证'); +INSERT INTO `sys_dict_data` VALUES (34, '000000', 0, '三方登录认证', 'social', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '三方登录认证'); +INSERT INTO `sys_dict_data` VALUES (35, '000000', 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, 'PC'); +INSERT INTO `sys_dict_data` VALUES (36, '000000', 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '安卓'); +INSERT INTO `sys_dict_data` VALUES (37, '000000', 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, 'iOS'); +INSERT INTO `sys_dict_data` VALUES (38, '000000', 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '小程序'); +INSERT INTO `sys_dict_data` VALUES (39, '000000', 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '已撤销'); +INSERT INTO `sys_dict_data` VALUES (40, '000000', 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '草稿'); +INSERT INTO `sys_dict_data` VALUES (41, '000000', 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '待审核'); +INSERT INTO `sys_dict_data` VALUES (42, '000000', 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '已完成'); +INSERT INTO `sys_dict_data` VALUES (43, '000000', 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '已作废'); +INSERT INTO `sys_dict_data` VALUES (44, '000000', 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '已退回'); +INSERT INTO `sys_dict_data` VALUES (45, '000000', 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '已终止'); +INSERT INTO `sys_dict_data` VALUES (46, '000000', 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '自定义表单'); +INSERT INTO `sys_dict_data` VALUES (47, '000000', 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '动态表单'); +INSERT INTO `sys_dict_data` VALUES (1922256280715071489, '000000', 0, '文本', '0', 'ow_config_type', '', 'primary', 'N', 103, 1, '2025-05-13 19:43:06', 1, '2025-05-13 19:43:06', ''); +INSERT INTO `sys_dict_data` VALUES (1922256349870755842, '000000', 0, '富文本', '1', 'ow_config_type', '', 'success', 'N', 103, 1, '2025-05-13 19:43:22', 1, '2025-05-13 19:43:22', ''); +INSERT INTO `sys_dict_data` VALUES (1922256389959913474, '000000', 0, '图片', '2', 'ow_config_type', '', 'warning', 'N', 103, 1, '2025-05-13 19:43:32', 1, '2025-05-13 19:43:32', ''); +INSERT INTO `sys_dict_data` VALUES (1922956628631052289, '000000', 0, '胡立永', '2783385703@qq.com', 'ow_leave_message_email', '', 'primary', 'N', 103, 1, '2025-05-15 18:06:02', 1, '2025-05-15 18:50:37', ''); +INSERT INTO `sys_dict_data` VALUES (1923002336729894913, '000000', 2, '精选', '1', 'ow_select_cases', '', 'success', 'N', 103, 1, '2025-05-15 21:07:39', 1, '2025-05-15 21:08:01', ''); +INSERT INTO `sys_dict_data` VALUES (1923002380929470465, '000000', 1, '普通', '0', 'ow_select_cases', '', 'primary', 'N', 103, 1, '2025-05-15 21:07:50', 1, '2025-05-15 21:07:57', ''); + +-- ---------------------------- +-- Table structure for sys_dict_type +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_type`; +CREATE TABLE `sys_dict_type` ( + `dict_id` bigint(20) NOT NULL COMMENT '字典主键', + `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000' COMMENT '租户编号', + `dict_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典类型', + `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id` ASC, `dict_type` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_dict_type +-- ---------------------------- +INSERT INTO `sys_dict_type` VALUES (1, '000000', '用户性别', 'sys_user_sex', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '用户性别列表'); +INSERT INTO `sys_dict_type` VALUES (2, '000000', '菜单状态', 'sys_show_hide', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '菜单状态列表'); +INSERT INTO `sys_dict_type` VALUES (3, '000000', '系统开关', 'sys_normal_disable', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '系统开关列表'); +INSERT INTO `sys_dict_type` VALUES (6, '000000', '系统是否', 'sys_yes_no', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '系统是否列表'); +INSERT INTO `sys_dict_type` VALUES (7, '000000', '通知类型', 'sys_notice_type', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '通知类型列表'); +INSERT INTO `sys_dict_type` VALUES (8, '000000', '通知状态', 'sys_notice_status', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '通知状态列表'); +INSERT INTO `sys_dict_type` VALUES (9, '000000', '操作类型', 'sys_oper_type', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '操作类型列表'); +INSERT INTO `sys_dict_type` VALUES (10, '000000', '系统状态', 'sys_common_status', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '登录状态列表'); +INSERT INTO `sys_dict_type` VALUES (11, '000000', '授权类型', 'sys_grant_type', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '认证授权类型'); +INSERT INTO `sys_dict_type` VALUES (12, '000000', '设备类型', 'sys_device_type', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '客户端设备类型'); +INSERT INTO `sys_dict_type` VALUES (13, '000000', '业务状态', 'wf_business_status', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '业务状态列表'); +INSERT INTO `sys_dict_type` VALUES (14, '000000', '表单类型', 'wf_form_type', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '表单类型列表'); +INSERT INTO `sys_dict_type` VALUES (1922256144798650370, '000000', '官网配置类型', 'ow_config_type', 103, 1, '2025-05-13 19:42:33', 1, '2025-05-13 19:42:33', ''); +INSERT INTO `sys_dict_type` VALUES (1922956476692389889, '000000', '留言通知邮箱列表', 'ow_leave_message_email', 103, 1, '2025-05-15 18:05:26', 1, '2025-05-15 18:05:26', ''); +INSERT INTO `sys_dict_type` VALUES (1923002216173015041, '000000', '官网精选案例', 'ow_select_cases', 103, 1, '2025-05-15 21:07:11', 1, '2025-05-15 21:07:11', ''); + +-- ---------------------------- +-- Table structure for sys_oss +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oss`; +CREATE TABLE `sys_oss` ( + `oss_id` bigint(20) NOT NULL COMMENT '对象存储主键', + `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000' COMMENT '租户编号', + `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '文件名', + `original_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '原名', + `file_suffix` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '文件后缀名', + `url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'URL地址', + `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '创建部门', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '上传人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人', + `service` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'minio' COMMENT '服务商', + PRIMARY KEY (`oss_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'OSS对象存储表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_oss +-- ---------------------------- +INSERT INTO `sys_oss` VALUES (1922304463197528065, '000000', '2025/05/13/c4c7b2b5566d47579e71b5065306602f.png', 'photo-1460925895917-afdab827c52f.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/13/c4c7b2b5566d47579e71b5065306602f.png', 103, '2025-05-13 22:54:33', 1, '2025-05-13 22:54:33', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1922521208382410753, '000000', '2025/05/14/da8a9810e9ed4e72b0520445550a4a24.png', 'photo-1451187580459-43490279c0fa.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/14/da8a9810e9ed4e72b0520445550a4a24.png', 103, '2025-05-14 13:15:49', 1, '2025-05-14 13:15:49', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1922521996253057026, '000000', '2025/05/14/a5803697c9264e6fb0c454d82e162bf8.png', 'photo-1504639725590-34d0984388bd.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/14/a5803697c9264e6fb0c454d82e162bf8.png', 103, '2025-05-14 13:18:57', 1, '2025-05-14 13:18:57', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1922522730147205121, '000000', '2025/05/14/02157936b997488081388cca14d410c8.png', 'photo-1557682250-33bd709cbe85.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/14/02157936b997488081388cca14d410c8.png', 103, '2025-05-14 13:21:52', 1, '2025-05-14 13:21:52', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1922526021912481794, '000000', '2025/05/14/0af85734565a4d5591b625dca37dd101.png', 'photo-1454165804606-c3d57bc86b40.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/14/0af85734565a4d5591b625dca37dd101.png', 103, '2025-05-14 13:34:57', 1, '2025-05-14 13:34:57', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1922527863077720066, '000000', '2025/05/14/3d34caa177294bc7bb0ebb2bed41b032.png', 'photo-1454165804606-c3d57bc86b40.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/14/3d34caa177294bc7bb0ebb2bed41b032.png', 103, '2025-05-14 13:42:16', 1, '2025-05-14 13:42:16', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1922971041698263041, '000000', '2025/05/15/dc59785c5e664c3484a6a45a531a3a19.png', 'O1CN01gu2o871DxCiSQThZ2_!!2214792040282.jpg_.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/15/dc59785c5e664c3484a6a45a531a3a19.png', 103, '2025-05-15 19:03:18', 1, '2025-05-15 19:03:18', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1923006894076190722, '000000', '2025/05/15/c61ca280b70348538786b4c6a0ed18ec.png', 'O1CN01gu2o871DxCiSQThZ2_!!2214792040282.jpg_.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/15/c61ca280b70348538786b4c6a0ed18ec.png', 103, '2025-05-15 21:25:46', 1, '2025-05-15 21:25:46', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1923007433816006658, '000000', '2025/05/15/c6c1785aa2554f53a6a47aa926fc1242.jpg', 'logo.jpg', '.jpg', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/15/c6c1785aa2554f53a6a47aa926fc1242.jpg', 103, '2025-05-15 21:27:55', 1, '2025-05-15 21:27:55', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1926646069174325250, '000000', '2025/05/25/8efd3bfe0fa54435989f2c484806176b.png', 'placard-bg.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/25/8efd3bfe0fa54435989f2c484806176b.png', 103, '2025-05-25 22:26:33', 1, '2025-05-25 22:26:33', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1926646082247970818, '000000', '2025/05/25/67ea74de8a164ea5b70ed9b12f2d686c.jpg', 'logo.jpg', '.jpg', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/25/67ea74de8a164ea5b70ed9b12f2d686c.jpg', 103, '2025-05-25 22:26:36', 1, '2025-05-25 22:26:36', 1, 'aliyun1'); + +-- ---------------------------- +-- Table structure for sys_oss_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oss_config`; +CREATE TABLE `sys_oss_config` ( + `oss_config_id` bigint(20) NOT NULL COMMENT '主键', + `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000' COMMENT '租户编号', + `config_key` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '配置key', + `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT 'accessKey', + `secret_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '秘钥', + `bucket_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '桶名称', + `prefix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '前缀', + `endpoint` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '访问站点', + `domain` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '自定义域名', + `is_https` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'N' COMMENT '是否https(Y=是,N=否)', + `region` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '域', + `access_policy` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '1' COMMENT '桶权限类型(0=private 1=public 2=custom)', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '1' COMMENT '是否默认(0=是,1=否)', + `ext1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '扩展字段', + `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`oss_config_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '对象存储配置表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_oss_config +-- ---------------------------- +INSERT INTO `sys_oss_config` VALUES (1, '000000', 'minio', 'ruoyi', 'ruoyi123', 'ruoyi', '', '127.0.0.1:9000', '', 'N', '', '1', '1', '', 103, 1, '2025-05-13 17:53:46', 1, '2025-05-13 17:53:46', NULL); +INSERT INTO `sys_oss_config` VALUES (2, '000000', 'qiniu', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 's3-cn-north-1.qiniucs.com', '', 'N', '', '1', '1', '', 103, 1, '2025-05-13 17:53:46', 1, '2025-05-13 17:53:46', NULL); +INSERT INTO `sys_oss_config` VALUES (3, '000000', 'aliyun', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 'oss-cn-beijing.aliyuncs.com', '', 'N', '', '1', '1', '', 103, 1, '2025-05-13 17:53:46', 1, '2025-05-13 17:53:46', NULL); +INSERT INTO `sys_oss_config` VALUES (4, '000000', 'qcloud', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi-1250000000', '', 'cos.ap-beijing.myqcloud.com', '', 'N', 'ap-beijing', '1', '1', '', 103, 1, '2025-05-13 17:53:46', 1, '2025-05-13 17:53:46', NULL); +INSERT INTO `sys_oss_config` VALUES (5, '000000', 'image', 'ruoyi', 'ruoyi123', 'ruoyi', 'image', '127.0.0.1:9000', '', 'N', '', '1', '1', '', 103, 1, '2025-05-13 17:53:46', 1, '2025-05-13 17:53:46', NULL); +INSERT INTO `sys_oss_config` VALUES (1922299487322701826, '000000', 'aliyun1', 'LTAI5tQSs47izVy8DLVdwUU9', 'qHI7C3PaXYZySr84HTToviC71AYlFq', 'hanhaiimage', '', 'oss-cn-shenzhen.aliyuncs.com', '', 'Y', '', '1', '0', '', 103, 1, '2025-05-13 22:34:47', 1, '2025-05-13 22:35:26', ''); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/java-api/script/sql/sys_dict_data_mysql57.sql b/java-api/script/sql/sys_dict_data_mysql57.sql new file mode 100644 index 0000000..8cc2b76 --- /dev/null +++ b/java-api/script/sql/sys_dict_data_mysql57.sql @@ -0,0 +1,207 @@ +/* + Navicat Premium Data Transfer + + Source Server : 127.0.0.1 + Source Server Type : MySQL + Source Server Version : 50700 + Source Host : localhost:3306 + Source Schema : hanhai-official-website + + Target Server Type : MySQL + Target Server Version : 50700 + File Encoding : 65001 + + Date: 25/05/2025 23:18:46 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for sys_dict_data +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_data`; +CREATE TABLE `sys_dict_data` ( + `dict_code` bigint(20) NOT NULL COMMENT '字典编码', + `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '租户编号', + `dict_sort` int(4) NULL DEFAULT 0 COMMENT '字典排序', + `dict_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_dict_data +-- ---------------------------- +INSERT INTO `sys_dict_data` VALUES (1, '000000', 1, '男', '0', 'sys_user_sex', '', '', 'Y', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '性别男'); +INSERT INTO `sys_dict_data` VALUES (2, '000000', 2, '女', '1', 'sys_user_sex', '', '', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '性别女'); +INSERT INTO `sys_dict_data` VALUES (3, '000000', 3, '未知', '2', 'sys_user_sex', '', '', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '性别未知'); +INSERT INTO `sys_dict_data` VALUES (4, '000000', 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '显示菜单'); +INSERT INTO `sys_dict_data` VALUES (5, '000000', 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '隐藏菜单'); +INSERT INTO `sys_dict_data` VALUES (6, '000000', 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '正常状态'); +INSERT INTO `sys_dict_data` VALUES (7, '000000', 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '停用状态'); +INSERT INTO `sys_dict_data` VALUES (12, '000000', 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '系统默认是'); +INSERT INTO `sys_dict_data` VALUES (13, '000000', 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '系统默认否'); +INSERT INTO `sys_dict_data` VALUES (14, '000000', 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '通知'); +INSERT INTO `sys_dict_data` VALUES (15, '000000', 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '公告'); +INSERT INTO `sys_dict_data` VALUES (16, '000000', 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '正常状态'); +INSERT INTO `sys_dict_data` VALUES (17, '000000', 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '关闭状态'); +INSERT INTO `sys_dict_data` VALUES (18, '000000', 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '新增操作'); +INSERT INTO `sys_dict_data` VALUES (19, '000000', 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '修改操作'); +INSERT INTO `sys_dict_data` VALUES (20, '000000', 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '删除操作'); +INSERT INTO `sys_dict_data` VALUES (21, '000000', 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '授权操作'); +INSERT INTO `sys_dict_data` VALUES (22, '000000', 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '导出操作'); +INSERT INTO `sys_dict_data` VALUES (23, '000000', 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '导入操作'); +INSERT INTO `sys_dict_data` VALUES (24, '000000', 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '强退操作'); +INSERT INTO `sys_dict_data` VALUES (25, '000000', 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '生成操作'); +INSERT INTO `sys_dict_data` VALUES (26, '000000', 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '清空操作'); +INSERT INTO `sys_dict_data` VALUES (27, '000000', 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '正常状态'); +INSERT INTO `sys_dict_data` VALUES (28, '000000', 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '停用状态'); +INSERT INTO `sys_dict_data` VALUES (29, '000000', 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '其他操作'); +INSERT INTO `sys_dict_data` VALUES (30, '000000', 0, '密码认证', 'password', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '密码认证'); +INSERT INTO `sys_dict_data` VALUES (31, '000000', 0, '短信认证', 'sms', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '短信认证'); +INSERT INTO `sys_dict_data` VALUES (32, '000000', 0, '邮件认证', 'email', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '邮件认证'); +INSERT INTO `sys_dict_data` VALUES (33, '000000', 0, '小程序认证', 'xcx', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '小程序认证'); +INSERT INTO `sys_dict_data` VALUES (34, '000000', 0, '三方登录认证', 'social', 'sys_grant_type', 'el-check-tag', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '三方登录认证'); +INSERT INTO `sys_dict_data` VALUES (35, '000000', 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, 'PC'); +INSERT INTO `sys_dict_data` VALUES (36, '000000', 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '安卓'); +INSERT INTO `sys_dict_data` VALUES (37, '000000', 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, 'iOS'); +INSERT INTO `sys_dict_data` VALUES (38, '000000', 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', 103, 1, '2025-05-13 17:53:46', NULL, NULL, '小程序'); +INSERT INTO `sys_dict_data` VALUES (39, '000000', 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '已撤销'); +INSERT INTO `sys_dict_data` VALUES (40, '000000', 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '草稿'); +INSERT INTO `sys_dict_data` VALUES (41, '000000', 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '待审核'); +INSERT INTO `sys_dict_data` VALUES (42, '000000', 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '已完成'); +INSERT INTO `sys_dict_data` VALUES (43, '000000', 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '已作废'); +INSERT INTO `sys_dict_data` VALUES (44, '000000', 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '已退回'); +INSERT INTO `sys_dict_data` VALUES (45, '000000', 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '已终止'); +INSERT INTO `sys_dict_data` VALUES (46, '000000', 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '自定义表单'); +INSERT INTO `sys_dict_data` VALUES (47, '000000', 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '动态表单'); +INSERT INTO `sys_dict_data` VALUES (1922256280715071489, '000000', 0, '文本', '0', 'ow_config_type', '', 'primary', 'N', 103, 1, '2025-05-13 19:43:06', 1, '2025-05-13 19:43:06', ''); +INSERT INTO `sys_dict_data` VALUES (1922256349870755842, '000000', 0, '富文本', '1', 'ow_config_type', '', 'success', 'N', 103, 1, '2025-05-13 19:43:22', 1, '2025-05-13 19:43:22', ''); +INSERT INTO `sys_dict_data` VALUES (1922256389959913474, '000000', 0, '图片', '2', 'ow_config_type', '', 'warning', 'N', 103, 1, '2025-05-13 19:43:32', 1, '2025-05-13 19:43:32', ''); +INSERT INTO `sys_dict_data` VALUES (1922956628631052289, '000000', 0, '胡立永', '2783385703@qq.com', 'ow_leave_message_email', '', 'primary', 'N', 103, 1, '2025-05-15 18:06:02', 1, '2025-05-15 18:50:37', ''); +INSERT INTO `sys_dict_data` VALUES (1923002336729894913, '000000', 2, '精选', '1', 'ow_select_cases', '', 'success', 'N', 103, 1, '2025-05-15 21:07:39', 1, '2025-05-15 21:08:01', ''); +INSERT INTO `sys_dict_data` VALUES (1923002380929470465, '000000', 1, '普通', '0', 'ow_select_cases', '', 'primary', 'N', 103, 1, '2025-05-15 21:07:50', 1, '2025-05-15 21:07:57', ''); + +-- ---------------------------- +-- Table structure for sys_dict_type +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_type`; +CREATE TABLE `sys_dict_type` ( + `dict_id` bigint(20) NOT NULL COMMENT '字典主键', + `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '租户编号', + `dict_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型', + `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id` ASC, `dict_type` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_dict_type +-- ---------------------------- +INSERT INTO `sys_dict_type` VALUES (1, '000000', '用户性别', 'sys_user_sex', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '用户性别列表'); +INSERT INTO `sys_dict_type` VALUES (2, '000000', '菜单状态', 'sys_show_hide', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '菜单状态列表'); +INSERT INTO `sys_dict_type` VALUES (3, '000000', '系统开关', 'sys_normal_disable', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '系统开关列表'); +INSERT INTO `sys_dict_type` VALUES (6, '000000', '系统是否', 'sys_yes_no', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '系统是否列表'); +INSERT INTO `sys_dict_type` VALUES (7, '000000', '通知类型', 'sys_notice_type', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '通知类型列表'); +INSERT INTO `sys_dict_type` VALUES (8, '000000', '通知状态', 'sys_notice_status', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '通知状态列表'); +INSERT INTO `sys_dict_type` VALUES (9, '000000', '操作类型', 'sys_oper_type', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '操作类型列表'); +INSERT INTO `sys_dict_type` VALUES (10, '000000', '系统状态', 'sys_common_status', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '登录状态列表'); +INSERT INTO `sys_dict_type` VALUES (11, '000000', '授权类型', 'sys_grant_type', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '认证授权类型'); +INSERT INTO `sys_dict_type` VALUES (12, '000000', '设备类型', 'sys_device_type', 103, 1, '2025-05-13 17:53:45', NULL, NULL, '客户端设备类型'); +INSERT INTO `sys_dict_type` VALUES (13, '000000', '业务状态', 'wf_business_status', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '业务状态列表'); +INSERT INTO `sys_dict_type` VALUES (14, '000000', '表单类型', 'wf_form_type', 103, 1, '2025-05-13 17:53:57', NULL, NULL, '表单类型列表'); +INSERT INTO `sys_dict_type` VALUES (1922256144798650370, '000000', '官网配置类型', 'ow_config_type', 103, 1, '2025-05-13 19:42:33', 1, '2025-05-13 19:42:33', ''); +INSERT INTO `sys_dict_type` VALUES (1922956476692389889, '000000', '留言通知邮箱列表', 'ow_leave_message_email', 103, 1, '2025-05-15 18:05:26', 1, '2025-05-15 18:05:26', ''); +INSERT INTO `sys_dict_type` VALUES (1923002216173015041, '000000', '官网精选案例', 'ow_select_cases', 103, 1, '2025-05-15 21:07:11', 1, '2025-05-15 21:07:11', ''); + +-- ---------------------------- +-- Table structure for sys_oss +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oss`; +CREATE TABLE `sys_oss` ( + `oss_id` bigint(20) NOT NULL COMMENT '对象存储主键', + `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '租户编号', + `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文件名', + `original_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '原名', + `file_suffix` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文件后缀名', + `url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'URL地址', + `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '创建部门', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '上传人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新人', + `service` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'minio' COMMENT '服务商', + PRIMARY KEY (`oss_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'OSS对象存储表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_oss +-- ---------------------------- +INSERT INTO `sys_oss` VALUES (1922304463197528065, '000000', '2025/05/13/c4c7b2b5566d47579e71b5065306602f.png', 'photo-1460925895917-afdab827c52f.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/13/c4c7b2b5566d47579e71b5065306602f.png', 103, '2025-05-13 22:54:33', 1, '2025-05-13 22:54:33', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1922521208382410753, '000000', '2025/05/14/da8a9810e9ed4e72b0520445550a4a24.png', 'photo-1451187580459-43490279c0fa.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/14/da8a9810e9ed4e72b0520445550a4a24.png', 103, '2025-05-14 13:15:49', 1, '2025-05-14 13:15:49', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1922521996253057026, '000000', '2025/05/14/a5803697c9264e6fb0c454d82e162bf8.png', 'photo-1504639725590-34d0984388bd.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/14/a5803697c9264e6fb0c454d82e162bf8.png', 103, '2025-05-14 13:18:57', 1, '2025-05-14 13:18:57', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1922522730147205121, '000000', '2025/05/14/02157936b997488081388cca14d410c8.png', 'photo-1557682250-33bd709cbe85.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/14/02157936b997488081388cca14d410c8.png', 103, '2025-05-14 13:21:52', 1, '2025-05-14 13:21:52', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1922526021912481794, '000000', '2025/05/14/0af85734565a4d5591b625dca37dd101.png', 'photo-1454165804606-c3d57bc86b40.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/14/0af85734565a4d5591b625dca37dd101.png', 103, '2025-05-14 13:34:57', 1, '2025-05-14 13:34:57', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1922527863077720066, '000000', '2025/05/14/3d34caa177294bc7bb0ebb2bed41b032.png', 'photo-1454165804606-c3d57bc86b40.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/14/3d34caa177294bc7bb0ebb2bed41b032.png', 103, '2025-05-14 13:42:16', 1, '2025-05-14 13:42:16', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1922971041698263041, '000000', '2025/05/15/dc59785c5e664c3484a6a45a531a3a19.png', 'O1CN01gu2o871DxCiSQThZ2_!!2214792040282.jpg_.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/15/dc59785c5e664c3484a6a45a531a3a19.png', 103, '2025-05-15 19:03:18', 1, '2025-05-15 19:03:18', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1923006894076190722, '000000', '2025/05/15/c61ca280b70348538786b4c6a0ed18ec.png', 'O1CN01gu2o871DxCiSQThZ2_!!2214792040282.jpg_.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/15/c61ca280b70348538786b4c6a0ed18ec.png', 103, '2025-05-15 21:25:46', 1, '2025-05-15 21:25:46', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1923007433816006658, '000000', '2025/05/15/c6c1785aa2554f53a6a47aa926fc1242.jpg', 'logo.jpg', '.jpg', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/15/c6c1785aa2554f53a6a47aa926fc1242.jpg', 103, '2025-05-15 21:27:55', 1, '2025-05-15 21:27:55', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1926646069174325250, '000000', '2025/05/25/8efd3bfe0fa54435989f2c484806176b.png', 'placard-bg.png', '.png', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/25/8efd3bfe0fa54435989f2c484806176b.png', 103, '2025-05-25 22:26:33', 1, '2025-05-25 22:26:33', 1, 'aliyun1'); +INSERT INTO `sys_oss` VALUES (1926646082247970818, '000000', '2025/05/25/67ea74de8a164ea5b70ed9b12f2d686c.jpg', 'logo.jpg', '.jpg', 'https://hanhaiimage.oss-cn-shenzhen.aliyuncs.com/2025/05/25/67ea74de8a164ea5b70ed9b12f2d686c.jpg', 103, '2025-05-25 22:26:36', 1, '2025-05-25 22:26:36', 1, 'aliyun1'); + +-- ---------------------------- +-- Table structure for sys_oss_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oss_config`; +CREATE TABLE `sys_oss_config` ( + `oss_config_id` bigint(20) NOT NULL COMMENT '主键', + `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '租户编号', + `config_key` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '配置key', + `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'accessKey', + `secret_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '秘钥', + `bucket_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '桶名称', + `prefix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '前缀', + `endpoint` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '访问站点', + `domain` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '自定义域名', + `is_https` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '是否https(Y=是,N=否)', + `region` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '域', + `access_policy` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '1' COMMENT '桶权限类型(0=private 1=public 2=custom)', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '是否默认(0=是,1=否)', + `ext1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '扩展字段', + `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) NULL DEFAULT NULL COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) NULL DEFAULT NULL COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`oss_config_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对象存储配置表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_oss_config +-- ---------------------------- +INSERT INTO `sys_oss_config` VALUES (1, '000000', 'minio', 'ruoyi', 'ruoyi123', 'ruoyi', '', '127.0.0.1:9000', '', 'N', '', '1', '1', '', 103, 1, '2025-05-13 17:53:46', 1, '2025-05-13 17:53:46', NULL); +INSERT INTO `sys_oss_config` VALUES (2, '000000', 'qiniu', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 's3-cn-north-1.qiniucs.com', '', 'N', '', '1', '1', '', 103, 1, '2025-05-13 17:53:46', 1, '2025-05-13 17:53:46', NULL); +INSERT INTO `sys_oss_config` VALUES (3, '000000', 'aliyun', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 'oss-cn-beijing.aliyuncs.com', '', 'N', '', '1', '1', '', 103, 1, '2025-05-13 17:53:46', 1, '2025-05-13 17:53:46', NULL); +INSERT INTO `sys_oss_config` VALUES (4, '000000', 'qcloud', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi-1250000000', '', 'cos.ap-beijing.myqcloud.com', '', 'N', 'ap-beijing', '1', '1', '', 103, 1, '2025-05-13 17:53:46', 1, '2025-05-13 17:53:46', NULL); +INSERT INTO `sys_oss_config` VALUES (5, '000000', 'image', 'ruoyi', 'ruoyi123', 'ruoyi', 'image', '127.0.0.1:9000', '', 'N', '', '1', '1', '', 103, 1, '2025-05-13 17:53:46', 1, '2025-05-13 17:53:46', NULL); +INSERT INTO `sys_oss_config` VALUES (1922299487322701826, '000000', 'aliyun1', 'LTAI5tQSs47izVy8DLVdwUU9', 'qHI7C3PaXYZySr84HTToviC71AYlFq', 'hanhaiimage', '', 'oss-cn-shenzhen.aliyuncs.com', '', 'Y', '', '1', '0', '', 103, 1, '2025-05-13 22:34:47', 1, '2025-05-13 22:35:26', ''); + +SET FOREIGN_KEY_CHECKS = 1; \ No newline at end of file diff --git a/plus-ui/.env.production b/plus-ui/.env.production index af07ca9..4fc0745 100644 --- a/plus-ui/.env.production +++ b/plus-ui/.env.production @@ -14,7 +14,7 @@ VITE_APP_MONITOR_ADMIN = '/admin/applications' VITE_APP_SNAILJOB_ADMIN = '/snail-job' # 生产环境 -VITE_APP_BASE_API = '/prod-api' +VITE_APP_BASE_API = '/official' # 是否在打包时开启压缩,支持 gzip 和 brotli VITE_BUILD_COMPRESS = gzip diff --git a/plus-ui/.gitignore b/plus-ui/.gitignore index 1fd56f0..1a864c6 100644 --- a/plus-ui/.gitignore +++ b/plus-ui/.gitignore @@ -27,3 +27,4 @@ pnpm-lock.yaml # 编译生成的文件 auto-imports.d.ts components.d.ts +dist.* \ No newline at end of file diff --git a/plus-ui/src/views/login.vue b/plus-ui/src/views/login.vue index 0f8843d..9f63eb2 100644 --- a/plus-ui/src/views/login.vue +++ b/plus-ui/src/views/login.vue @@ -73,10 +73,10 @@ const userStore = useUserStore(); const router = useRouter(); const loginForm = ref({ - tenantId: '000000', - username: 'admin', - password: 'admin123', - rememberMe: false, + tenantId: '',//000000 + username: '',//admin + password: '',//admin123 + rememberMe: false,// code: '', uuid: '' } as LoginData); diff --git a/plus-ui/vite.config.ts b/plus-ui/vite.config.ts index 97c8d9d..78ce282 100644 --- a/plus-ui/vite.config.ts +++ b/plus-ui/vite.config.ts @@ -25,7 +25,7 @@ export default defineConfig(({ mode, command }: ConfigEnv): UserConfig => { open: true, proxy: { [env.VITE_APP_BASE_API]: { - target: 'http://localhost:8080', + target: 'http://localhost:8000', changeOrigin: true, ws: true, rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '') diff --git a/plus-ui/vite.config.ts.timestamp-1748357401199-7677a8b6910b3.mjs b/plus-ui/vite.config.ts.timestamp-1748357401199-7677a8b6910b3.mjs new file mode 100644 index 0000000..cf7abfa --- /dev/null +++ b/plus-ui/vite.config.ts.timestamp-1748357401199-7677a8b6910b3.mjs @@ -0,0 +1,226 @@ +// vite.config.ts +import { loadEnv, defineConfig } from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/vite/dist/node/index.js"; + +// vite/plugins/index.ts +import vue from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/@vitejs/plugin-vue/dist/index.mjs"; + +// vite/plugins/unocss.ts +import UnoCss from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/unocss/dist/vite.mjs"; +var unocss_default = () => { + return UnoCss({ + hmrTopLevelAwait: false + // unocss默认是true,低版本浏览器是不支持的,启动后会报错 + }); +}; + +// vite/plugins/auto-import.ts +import AutoImport from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/unplugin-auto-import/dist/vite.js"; +import { ElementPlusResolver } from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/unplugin-vue-components/dist/resolvers.js"; +import IconsResolver from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/unplugin-icons/dist/resolver.js"; +var __vite_injected_original_dirname = "E:\\file\\2025\\code\\hanhai-official-website-java\\plus-ui\\vite\\plugins"; +var auto_import_default = (path3) => { + return AutoImport({ + // 自动导入 Vue 相关函数 + imports: ["vue", "vue-router", "@vueuse/core", "pinia"], + eslintrc: { + enabled: false, + filepath: "./.eslintrc-auto-import.json", + globalsPropValue: true + }, + resolvers: [ + // 自动导入 Element Plus 相关函数ElMessage, ElMessageBox... (带样式) + ElementPlusResolver(), + IconsResolver({ + prefix: "Icon" + }) + ], + vueTemplate: true, + // 是否在 vue 模板中自动导入 + dts: path3.resolve(path3.resolve(__vite_injected_original_dirname, "../../src"), "types", "auto-imports.d.ts") + }); +}; + +// vite/plugins/components.ts +import Components from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/unplugin-vue-components/dist/vite.js"; +import { ElementPlusResolver as ElementPlusResolver2 } from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/unplugin-vue-components/dist/resolvers.js"; +import IconsResolver2 from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/unplugin-icons/dist/resolver.js"; +var __vite_injected_original_dirname2 = "E:\\file\\2025\\code\\hanhai-official-website-java\\plus-ui\\vite\\plugins"; +var components_default = (path3) => { + return Components({ + resolvers: [ + // 自动导入 Element Plus 组件 + ElementPlusResolver2(), + // 自动注册图标组件 + IconsResolver2({ + enabledCollections: ["ep"] + }) + ], + dts: path3.resolve(path3.resolve(__vite_injected_original_dirname2, "../../src"), "types", "components.d.ts") + }); +}; + +// vite/plugins/icons.ts +import Icons from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/unplugin-icons/dist/vite.js"; +var icons_default = () => { + return Icons({ + // 自动安装图标库 + autoInstall: true + }); +}; + +// vite/plugins/svg-icon.ts +import { createSvgIconsPlugin } from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/vite-plugin-svg-icons/dist/index.mjs"; +var __vite_injected_original_dirname3 = "E:\\file\\2025\\code\\hanhai-official-website-java\\plus-ui\\vite\\plugins"; +var svg_icon_default = (path3, isBuild) => { + return createSvgIconsPlugin({ + // 指定需要缓存的图标文件夹 + iconDirs: [path3.resolve(path3.resolve(__vite_injected_original_dirname3, "../../src"), "assets/icons/svg")], + // 指定symbolId格式 + symbolId: "icon-[dir]-[name]", + svgoOptions: isBuild + }); +}; + +// vite/plugins/compression.ts +import compression from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/vite-plugin-compression/dist/index.mjs"; +var compression_default = (env) => { + const { VITE_BUILD_COMPRESS } = env; + const plugin = []; + if (VITE_BUILD_COMPRESS) { + const compressList = VITE_BUILD_COMPRESS.split(","); + if (compressList.includes("gzip")) { + plugin.push( + compression({ + ext: ".gz", + deleteOriginFile: false + }) + ); + } + if (compressList.includes("brotli")) { + plugin.push( + compression({ + ext: ".br", + algorithm: "brotliCompress", + deleteOriginFile: false + }) + ); + } + } + return plugin; +}; + +// vite/plugins/setup-extend.ts +import setupExtend from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/unplugin-vue-setup-extend-plus/dist/vite.js"; +var setup_extend_default = () => { + return setupExtend({}); +}; + +// vite/plugins/i18n.ts +import VueI18nPlugin from "file:///E:/file/2025/code/hanhai-official-website-java/plus-ui/node_modules/@intlify/unplugin-vue-i18n/lib/vite.mjs"; +var __vite_injected_original_dirname4 = "E:\\file\\2025\\code\\hanhai-official-website-java\\plus-ui\\vite\\plugins"; +var i18n_default = (path3) => { + return VueI18nPlugin({ + include: [path3.resolve(__vite_injected_original_dirname4, "../../src/lang/**.json")] + }); +}; + +// vite/plugins/index.ts +import path from "path"; +var plugins_default = (viteEnv, isBuild = false) => { + const vitePlugins = []; + vitePlugins.push(vue()); + vitePlugins.push(unocss_default()); + vitePlugins.push(auto_import_default(path)); + vitePlugins.push(components_default(path)); + vitePlugins.push(compression_default(viteEnv)); + vitePlugins.push(icons_default()); + vitePlugins.push(svg_icon_default(path, isBuild)); + vitePlugins.push(setup_extend_default()); + vitePlugins.push(i18n_default(path)); + return vitePlugins; +}; + +// vite.config.ts +import path2 from "path"; +var __vite_injected_original_dirname5 = "E:\\file\\2025\\code\\hanhai-official-website-java\\plus-ui"; +var vite_config_default = defineConfig(({ mode, command }) => { + const env = loadEnv(mode, process.cwd()); + return { + // 部署生产环境和开发环境下的URL。 + // 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上 + // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。 + base: env.VITE_APP_CONTEXT_PATH, + resolve: { + alias: { + "~": path2.resolve(__vite_injected_original_dirname5, "./"), + "@": path2.resolve(__vite_injected_original_dirname5, "./src") + }, + extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"] + }, + // https://cn.vitejs.dev/config/#resolve-extensions + plugins: plugins_default(env, command === "build"), + server: { + host: "0.0.0.0", + port: Number(env.VITE_APP_PORT), + open: true, + proxy: { + [env.VITE_APP_BASE_API]: { + target: "http://localhost:8000", + changeOrigin: true, + ws: true, + rewrite: (path3) => path3.replace(new RegExp("^" + env.VITE_APP_BASE_API), "") + } + } + }, + css: { + preprocessorOptions: { + scss: { + javascriptEnabled: true + } + }, + postcss: { + plugins: [ + { + postcssPlugin: "internal:charset-removal", + AtRule: { + charset: (atRule) => { + if (atRule.name === "charset") { + atRule.remove(); + } + } + } + } + ] + } + }, + // 预编译 + optimizeDeps: { + include: [ + "vue", + "vue-router", + "pinia", + "axios", + "@vueuse/core", + "echarts", + "vue-i18n", + "@vueup/vue-quill", + "bpmn-js/lib/Viewer", + "bpmn-js/lib/Modeler.js", + "bpmn-js-properties-panel", + "min-dash", + "diagram-js/lib/navigation/movecanvas", + "diagram-js/lib/navigation/zoomscroll", + "bpmn-js/lib/features/palette/PaletteProvider", + "bpmn-js/lib/features/context-pad/ContextPadProvider", + "diagram-js/lib/draw/BaseRenderer", + "tiny-svg", + "image-conversion", + "element-plus/es/components/**/css" + ] + } + }; +}); +export { + vite_config_default as default +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAidml0ZS9wbHVnaW5zL2luZGV4LnRzIiwgInZpdGUvcGx1Z2lucy91bm9jc3MudHMiLCAidml0ZS9wbHVnaW5zL2F1dG8taW1wb3J0LnRzIiwgInZpdGUvcGx1Z2lucy9jb21wb25lbnRzLnRzIiwgInZpdGUvcGx1Z2lucy9pY29ucy50cyIsICJ2aXRlL3BsdWdpbnMvc3ZnLWljb24udHMiLCAidml0ZS9wbHVnaW5zL2NvbXByZXNzaW9uLnRzIiwgInZpdGUvcGx1Z2lucy9zZXR1cC1leHRlbmQudHMiLCAidml0ZS9wbHVnaW5zL2kxOG4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJFOlxcXFxmaWxlXFxcXDIwMjVcXFxcY29kZVxcXFxoYW5oYWktb2ZmaWNpYWwtd2Vic2l0ZS1qYXZhXFxcXHBsdXMtdWlcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkU6XFxcXGZpbGVcXFxcMjAyNVxcXFxjb2RlXFxcXGhhbmhhaS1vZmZpY2lhbC13ZWJzaXRlLWphdmFcXFxccGx1cy11aVxcXFx2aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRTovZmlsZS8yMDI1L2NvZGUvaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YS9wbHVzLXVpL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgVXNlckNvbmZpZywgQ29uZmlnRW52LCBsb2FkRW52LCBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlJztcclxuXHJcbmltcG9ydCBjcmVhdGVQbHVnaW5zIGZyb20gJy4vdml0ZS9wbHVnaW5zJztcclxuXHJcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xyXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoKHsgbW9kZSwgY29tbWFuZCB9OiBDb25maWdFbnYpOiBVc2VyQ29uZmlnID0+IHtcclxuICBjb25zdCBlbnYgPSBsb2FkRW52KG1vZGUsIHByb2Nlc3MuY3dkKCkpO1xyXG4gIHJldHVybiB7XHJcbiAgICAvLyBcdTkwRThcdTdGNzJcdTc1MUZcdTRFQTdcdTczQUZcdTU4ODNcdTU0OENcdTVGMDBcdTUzRDFcdTczQUZcdTU4ODNcdTRFMEJcdTc2ODRVUkxcdTMwMDJcclxuICAgIC8vIFx1OUVEOFx1OEJBNFx1NjBDNVx1NTFCNVx1NEUwQlx1RkYwQ3ZpdGUgXHU0RjFBXHU1MDQ3XHU4QkJFXHU0RjYwXHU3Njg0XHU1RTk0XHU3NTI4XHU2NjJGXHU4OEFCXHU5MEU4XHU3RjcyXHU1NzI4XHU0RTAwXHU0RTJBXHU1N0RGXHU1NDBEXHU3Njg0XHU2ODM5XHU4REVGXHU1Rjg0XHU0RTBBXHJcbiAgICAvLyBcdTRGOEJcdTU5ODIgaHR0cHM6Ly93d3cucnVveWkudmlwL1x1MzAwMlx1NTk4Mlx1Njc5Q1x1NUU5NFx1NzUyOFx1ODhBQlx1OTBFOFx1N0Y3Mlx1NTcyOFx1NEUwMFx1NEUyQVx1NUI1MFx1OERFRlx1NUY4NFx1NEUwQVx1RkYwQ1x1NEY2MFx1NUMzMVx1OTcwMFx1ODk4MVx1NzUyOFx1OEZEOVx1NEUyQVx1OTAwOVx1OTg3OVx1NjMwN1x1NUI5QVx1OEZEOVx1NEUyQVx1NUI1MFx1OERFRlx1NUY4NFx1MzAwMlx1NEY4Qlx1NTk4Mlx1RkYwQ1x1NTk4Mlx1Njc5Q1x1NEY2MFx1NzY4NFx1NUU5NFx1NzUyOFx1ODhBQlx1OTBFOFx1N0Y3Mlx1NTcyOCBodHRwczovL3d3dy5ydW95aS52aXAvYWRtaW4vXHVGRjBDXHU1MjE5XHU4QkJFXHU3RjZFIGJhc2VVcmwgXHU0RTNBIC9hZG1pbi9cdTMwMDJcclxuICAgIGJhc2U6IGVudi5WSVRFX0FQUF9DT05URVhUX1BBVEgsXHJcbiAgICByZXNvbHZlOiB7XHJcbiAgICAgIGFsaWFzOiB7XHJcbiAgICAgICAgJ34nOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi8nKSxcclxuICAgICAgICAnQCc6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL3NyYycpXHJcbiAgICAgIH0sXHJcbiAgICAgIGV4dGVuc2lvbnM6IFsnLm1qcycsICcuanMnLCAnLnRzJywgJy5qc3gnLCAnLnRzeCcsICcuanNvbicsICcudnVlJ11cclxuICAgIH0sXHJcbiAgICAvLyBodHRwczovL2NuLnZpdGVqcy5kZXYvY29uZmlnLyNyZXNvbHZlLWV4dGVuc2lvbnNcclxuICAgIHBsdWdpbnM6IGNyZWF0ZVBsdWdpbnMoZW52LCBjb21tYW5kID09PSAnYnVpbGQnKSxcclxuICAgIHNlcnZlcjoge1xyXG4gICAgICBob3N0OiAnMC4wLjAuMCcsXHJcbiAgICAgIHBvcnQ6IE51bWJlcihlbnYuVklURV9BUFBfUE9SVCksXHJcbiAgICAgIG9wZW46IHRydWUsXHJcbiAgICAgIHByb3h5OiB7XHJcbiAgICAgICAgW2Vudi5WSVRFX0FQUF9CQVNFX0FQSV06IHtcclxuICAgICAgICAgIHRhcmdldDogJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMCcsXHJcbiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXHJcbiAgICAgICAgICB3czogdHJ1ZSxcclxuICAgICAgICAgIHJld3JpdGU6IChwYXRoKSA9PiBwYXRoLnJlcGxhY2UobmV3IFJlZ0V4cCgnXicgKyBlbnYuVklURV9BUFBfQkFTRV9BUEkpLCAnJylcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBjc3M6IHtcclxuICAgICAgcHJlcHJvY2Vzc29yT3B0aW9uczoge1xyXG4gICAgICAgIHNjc3M6IHtcclxuICAgICAgICAgIGphdmFzY3JpcHRFbmFibGVkOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBwb3N0Y3NzOiB7XHJcbiAgICAgICAgcGx1Z2luczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwb3N0Y3NzUGx1Z2luOiAnaW50ZXJuYWw6Y2hhcnNldC1yZW1vdmFsJyxcclxuICAgICAgICAgICAgQXRSdWxlOiB7XHJcbiAgICAgICAgICAgICAgY2hhcnNldDogKGF0UnVsZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGF0UnVsZS5uYW1lID09PSAnY2hhcnNldCcpIHtcclxuICAgICAgICAgICAgICAgICAgYXRSdWxlLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8vIFx1OTg4NFx1N0YxNlx1OEJEMVxyXG4gICAgb3B0aW1pemVEZXBzOiB7XHJcbiAgICAgIGluY2x1ZGU6IFtcclxuICAgICAgICAndnVlJyxcclxuICAgICAgICAndnVlLXJvdXRlcicsXHJcbiAgICAgICAgJ3BpbmlhJyxcclxuICAgICAgICAnYXhpb3MnLFxyXG4gICAgICAgICdAdnVldXNlL2NvcmUnLFxyXG4gICAgICAgICdlY2hhcnRzJyxcclxuICAgICAgICAndnVlLWkxOG4nLFxyXG4gICAgICAgICdAdnVldXAvdnVlLXF1aWxsJyxcclxuICAgICAgICAnYnBtbi1qcy9saWIvVmlld2VyJyxcclxuICAgICAgICAnYnBtbi1qcy9saWIvTW9kZWxlci5qcycsXHJcbiAgICAgICAgJ2JwbW4tanMtcHJvcGVydGllcy1wYW5lbCcsXHJcbiAgICAgICAgJ21pbi1kYXNoJyxcclxuICAgICAgICAnZGlhZ3JhbS1qcy9saWIvbmF2aWdhdGlvbi9tb3ZlY2FudmFzJyxcclxuICAgICAgICAnZGlhZ3JhbS1qcy9saWIvbmF2aWdhdGlvbi96b29tc2Nyb2xsJyxcclxuICAgICAgICAnYnBtbi1qcy9saWIvZmVhdHVyZXMvcGFsZXR0ZS9QYWxldHRlUHJvdmlkZXInLFxyXG4gICAgICAgICdicG1uLWpzL2xpYi9mZWF0dXJlcy9jb250ZXh0LXBhZC9Db250ZXh0UGFkUHJvdmlkZXInLFxyXG4gICAgICAgICdkaWFncmFtLWpzL2xpYi9kcmF3L0Jhc2VSZW5kZXJlcicsXHJcbiAgICAgICAgJ3Rpbnktc3ZnJyxcclxuICAgICAgICAnaW1hZ2UtY29udmVyc2lvbicsXHJcbiAgICAgICAgJ2VsZW1lbnQtcGx1cy9lcy9jb21wb25lbnRzLyoqL2NzcydcclxuICAgICAgXVxyXG4gICAgfVxyXG4gIH07XHJcbn0pO1xyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkU6XFxcXGZpbGVcXFxcMjAyNVxcXFxjb2RlXFxcXGhhbmhhaS1vZmZpY2lhbC13ZWJzaXRlLWphdmFcXFxccGx1cy11aVxcXFx2aXRlXFxcXHBsdWdpbnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkU6XFxcXGZpbGVcXFxcMjAyNVxcXFxjb2RlXFxcXGhhbmhhaS1vZmZpY2lhbC13ZWJzaXRlLWphdmFcXFxccGx1cy11aVxcXFx2aXRlXFxcXHBsdWdpbnNcXFxcaW5kZXgudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0U6L2ZpbGUvMjAyNS9jb2RlL2hhbmhhaS1vZmZpY2lhbC13ZWJzaXRlLWphdmEvcGx1cy11aS92aXRlL3BsdWdpbnMvaW5kZXgudHNcIjtpbXBvcnQgdnVlIGZyb20gJ0B2aXRlanMvcGx1Z2luLXZ1ZSc7XHJcbmltcG9ydCBjcmVhdGVVbm9Dc3MgZnJvbSAnLi91bm9jc3MnO1xyXG5pbXBvcnQgY3JlYXRlQXV0b0ltcG9ydCBmcm9tICcuL2F1dG8taW1wb3J0JztcclxuaW1wb3J0IGNyZWF0ZUNvbXBvbmVudHMgZnJvbSAnLi9jb21wb25lbnRzJztcclxuaW1wb3J0IGNyZWF0ZUljb25zIGZyb20gJy4vaWNvbnMnO1xyXG5pbXBvcnQgY3JlYXRlU3ZnSWNvbnNQbHVnaW4gZnJvbSAnLi9zdmctaWNvbic7XHJcbmltcG9ydCBjcmVhdGVDb21wcmVzc2lvbiBmcm9tICcuL2NvbXByZXNzaW9uJztcclxuaW1wb3J0IGNyZWF0ZVNldHVwRXh0ZW5kIGZyb20gJy4vc2V0dXAtZXh0ZW5kJztcclxuaW1wb3J0IGNyZWF0ZUkxOG4gZnJvbSAnLi9pMThuJztcclxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCAodml0ZUVudjogYW55LCBpc0J1aWxkID0gZmFsc2UpOiBbXSA9PiB7XHJcbiAgY29uc3Qgdml0ZVBsdWdpbnM6IGFueSA9IFtdO1xyXG4gIHZpdGVQbHVnaW5zLnB1c2godnVlKCkpO1xyXG4gIHZpdGVQbHVnaW5zLnB1c2goY3JlYXRlVW5vQ3NzKCkpO1xyXG4gIHZpdGVQbHVnaW5zLnB1c2goY3JlYXRlQXV0b0ltcG9ydChwYXRoKSk7XHJcbiAgdml0ZVBsdWdpbnMucHVzaChjcmVhdGVDb21wb25lbnRzKHBhdGgpKTtcclxuICB2aXRlUGx1Z2lucy5wdXNoKGNyZWF0ZUNvbXByZXNzaW9uKHZpdGVFbnYpKTtcclxuICB2aXRlUGx1Z2lucy5wdXNoKGNyZWF0ZUljb25zKCkpO1xyXG4gIHZpdGVQbHVnaW5zLnB1c2goY3JlYXRlU3ZnSWNvbnNQbHVnaW4ocGF0aCwgaXNCdWlsZCkpO1xyXG4gIHZpdGVQbHVnaW5zLnB1c2goY3JlYXRlU2V0dXBFeHRlbmQoKSk7XHJcbiAgdml0ZVBsdWdpbnMucHVzaChjcmVhdGVJMThuKHBhdGgpKTtcclxuICByZXR1cm4gdml0ZVBsdWdpbnM7XHJcbn07XHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRTpcXFxcZmlsZVxcXFwyMDI1XFxcXGNvZGVcXFxcaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YVxcXFxwbHVzLXVpXFxcXHZpdGVcXFxccGx1Z2luc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRTpcXFxcZmlsZVxcXFwyMDI1XFxcXGNvZGVcXFxcaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YVxcXFxwbHVzLXVpXFxcXHZpdGVcXFxccGx1Z2luc1xcXFx1bm9jc3MudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0U6L2ZpbGUvMjAyNS9jb2RlL2hhbmhhaS1vZmZpY2lhbC13ZWJzaXRlLWphdmEvcGx1cy11aS92aXRlL3BsdWdpbnMvdW5vY3NzLnRzXCI7aW1wb3J0IFVub0NzcyBmcm9tICd1bm9jc3Mvdml0ZSc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7XHJcbiAgcmV0dXJuIFVub0Nzcyh7XHJcbiAgICBobXJUb3BMZXZlbEF3YWl0OiBmYWxzZSAvLyB1bm9jc3NcdTlFRDhcdThCQTRcdTY2MkZ0cnVlXHVGRjBDXHU0RjRFXHU3MjQ4XHU2NzJDXHU2RDRGXHU4OUM4XHU1NjY4XHU2NjJGXHU0RTBEXHU2NTJGXHU2MzAxXHU3Njg0XHVGRjBDXHU1NDJGXHU1MkE4XHU1NDBFXHU0RjFBXHU2MkE1XHU5NTE5XHJcbiAgfSk7XHJcbn07XHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRTpcXFxcZmlsZVxcXFwyMDI1XFxcXGNvZGVcXFxcaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YVxcXFxwbHVzLXVpXFxcXHZpdGVcXFxccGx1Z2luc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRTpcXFxcZmlsZVxcXFwyMDI1XFxcXGNvZGVcXFxcaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YVxcXFxwbHVzLXVpXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxhdXRvLWltcG9ydC50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRTovZmlsZS8yMDI1L2NvZGUvaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YS9wbHVzLXVpL3ZpdGUvcGx1Z2lucy9hdXRvLWltcG9ydC50c1wiO2ltcG9ydCBBdXRvSW1wb3J0IGZyb20gJ3VucGx1Z2luLWF1dG8taW1wb3J0L3ZpdGUnO1xyXG5pbXBvcnQgeyBFbGVtZW50UGx1c1Jlc29sdmVyIH0gZnJvbSAndW5wbHVnaW4tdnVlLWNvbXBvbmVudHMvcmVzb2x2ZXJzJztcclxuaW1wb3J0IEljb25zUmVzb2x2ZXIgZnJvbSAndW5wbHVnaW4taWNvbnMvcmVzb2x2ZXInO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgKHBhdGg6IGFueSkgPT4ge1xyXG4gIHJldHVybiBBdXRvSW1wb3J0KHtcclxuICAgIC8vIFx1ODFFQVx1NTJBOFx1NUJGQ1x1NTE2NSBWdWUgXHU3NkY4XHU1MTczXHU1MUZEXHU2NTcwXHJcbiAgICBpbXBvcnRzOiBbJ3Z1ZScsICd2dWUtcm91dGVyJywgJ0B2dWV1c2UvY29yZScsICdwaW5pYSddLFxyXG4gICAgZXNsaW50cmM6IHtcclxuICAgICAgZW5hYmxlZDogZmFsc2UsXHJcbiAgICAgIGZpbGVwYXRoOiAnLi8uZXNsaW50cmMtYXV0by1pbXBvcnQuanNvbicsXHJcbiAgICAgIGdsb2JhbHNQcm9wVmFsdWU6IHRydWVcclxuICAgIH0sXHJcbiAgICByZXNvbHZlcnM6IFtcclxuICAgICAgLy8gXHU4MUVBXHU1MkE4XHU1QkZDXHU1MTY1IEVsZW1lbnQgUGx1cyBcdTc2RjhcdTUxNzNcdTUxRkRcdTY1NzBFbE1lc3NhZ2UsIEVsTWVzc2FnZUJveC4uLiAoXHU1RTI2XHU2ODM3XHU1RjBGKVxyXG4gICAgICBFbGVtZW50UGx1c1Jlc29sdmVyKCksXHJcbiAgICAgIEljb25zUmVzb2x2ZXIoe1xyXG4gICAgICAgIHByZWZpeDogJ0ljb24nXHJcbiAgICAgIH0pXHJcbiAgICBdLFxyXG4gICAgdnVlVGVtcGxhdGU6IHRydWUsIC8vIFx1NjYyRlx1NTQyNlx1NTcyOCB2dWUgXHU2QTIxXHU2NzdGXHU0RTJEXHU4MUVBXHU1MkE4XHU1QkZDXHU1MTY1XHJcbiAgICBkdHM6IHBhdGgucmVzb2x2ZShwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vLi4vc3JjJyksICd0eXBlcycsICdhdXRvLWltcG9ydHMuZC50cycpXHJcbiAgfSk7XHJcbn07XHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRTpcXFxcZmlsZVxcXFwyMDI1XFxcXGNvZGVcXFxcaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YVxcXFxwbHVzLXVpXFxcXHZpdGVcXFxccGx1Z2luc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRTpcXFxcZmlsZVxcXFwyMDI1XFxcXGNvZGVcXFxcaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YVxcXFxwbHVzLXVpXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxjb21wb25lbnRzLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9FOi9maWxlLzIwMjUvY29kZS9oYW5oYWktb2ZmaWNpYWwtd2Vic2l0ZS1qYXZhL3BsdXMtdWkvdml0ZS9wbHVnaW5zL2NvbXBvbmVudHMudHNcIjtpbXBvcnQgQ29tcG9uZW50cyBmcm9tICd1bnBsdWdpbi12dWUtY29tcG9uZW50cy92aXRlJztcclxuaW1wb3J0IHsgRWxlbWVudFBsdXNSZXNvbHZlciB9IGZyb20gJ3VucGx1Z2luLXZ1ZS1jb21wb25lbnRzL3Jlc29sdmVycyc7XHJcbmltcG9ydCBJY29uc1Jlc29sdmVyIGZyb20gJ3VucGx1Z2luLWljb25zL3Jlc29sdmVyJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IChwYXRoOiBhbnkpID0+IHtcclxuICByZXR1cm4gQ29tcG9uZW50cyh7XHJcbiAgICByZXNvbHZlcnM6IFtcclxuICAgICAgLy8gXHU4MUVBXHU1MkE4XHU1QkZDXHU1MTY1IEVsZW1lbnQgUGx1cyBcdTdFQzRcdTRFRjZcclxuICAgICAgRWxlbWVudFBsdXNSZXNvbHZlcigpLFxyXG4gICAgICAvLyBcdTgxRUFcdTUyQThcdTZDRThcdTUxOENcdTU2RkVcdTY4MDdcdTdFQzRcdTRFRjZcclxuICAgICAgSWNvbnNSZXNvbHZlcih7XHJcbiAgICAgICAgZW5hYmxlZENvbGxlY3Rpb25zOiBbJ2VwJ11cclxuICAgICAgfSlcclxuICAgIF0sXHJcbiAgICBkdHM6IHBhdGgucmVzb2x2ZShwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vLi4vc3JjJyksICd0eXBlcycsICdjb21wb25lbnRzLmQudHMnKVxyXG4gIH0pO1xyXG59O1xyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkU6XFxcXGZpbGVcXFxcMjAyNVxcXFxjb2RlXFxcXGhhbmhhaS1vZmZpY2lhbC13ZWJzaXRlLWphdmFcXFxccGx1cy11aVxcXFx2aXRlXFxcXHBsdWdpbnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkU6XFxcXGZpbGVcXFxcMjAyNVxcXFxjb2RlXFxcXGhhbmhhaS1vZmZpY2lhbC13ZWJzaXRlLWphdmFcXFxccGx1cy11aVxcXFx2aXRlXFxcXHBsdWdpbnNcXFxcaWNvbnMudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0U6L2ZpbGUvMjAyNS9jb2RlL2hhbmhhaS1vZmZpY2lhbC13ZWJzaXRlLWphdmEvcGx1cy11aS92aXRlL3BsdWdpbnMvaWNvbnMudHNcIjtpbXBvcnQgSWNvbnMgZnJvbSAndW5wbHVnaW4taWNvbnMvdml0ZSc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7XHJcbiAgcmV0dXJuIEljb25zKHtcclxuICAgIC8vIFx1ODFFQVx1NTJBOFx1NUI4OVx1ODhDNVx1NTZGRVx1NjgwN1x1NUU5M1xyXG4gICAgYXV0b0luc3RhbGw6IHRydWVcclxuICB9KTtcclxufTtcclxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJFOlxcXFxmaWxlXFxcXDIwMjVcXFxcY29kZVxcXFxoYW5oYWktb2ZmaWNpYWwtd2Vic2l0ZS1qYXZhXFxcXHBsdXMtdWlcXFxcdml0ZVxcXFxwbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJFOlxcXFxmaWxlXFxcXDIwMjVcXFxcY29kZVxcXFxoYW5oYWktb2ZmaWNpYWwtd2Vic2l0ZS1qYXZhXFxcXHBsdXMtdWlcXFxcdml0ZVxcXFxwbHVnaW5zXFxcXHN2Zy1pY29uLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9FOi9maWxlLzIwMjUvY29kZS9oYW5oYWktb2ZmaWNpYWwtd2Vic2l0ZS1qYXZhL3BsdXMtdWkvdml0ZS9wbHVnaW5zL3N2Zy1pY29uLnRzXCI7aW1wb3J0IHsgY3JlYXRlU3ZnSWNvbnNQbHVnaW4gfSBmcm9tICd2aXRlLXBsdWdpbi1zdmctaWNvbnMnO1xyXG5leHBvcnQgZGVmYXVsdCAocGF0aDogYW55LCBpc0J1aWxkOiBib29sZWFuKSA9PiB7XHJcbiAgcmV0dXJuIGNyZWF0ZVN2Z0ljb25zUGx1Z2luKHtcclxuICAgIC8vIFx1NjMwN1x1NUI5QVx1OTcwMFx1ODk4MVx1N0YxM1x1NUI1OFx1NzY4NFx1NTZGRVx1NjgwN1x1NjU4N1x1NEVGNlx1NTkzOVxyXG4gICAgaWNvbkRpcnM6IFtwYXRoLnJlc29sdmUocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uLy4uL3NyYycpLCAnYXNzZXRzL2ljb25zL3N2ZycpXSxcclxuICAgIC8vIFx1NjMwN1x1NUI5QXN5bWJvbElkXHU2ODNDXHU1RjBGXHJcbiAgICBzeW1ib2xJZDogJ2ljb24tW2Rpcl0tW25hbWVdJyxcclxuICAgIHN2Z29PcHRpb25zOiBpc0J1aWxkXHJcbiAgfSk7XHJcbn07XHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRTpcXFxcZmlsZVxcXFwyMDI1XFxcXGNvZGVcXFxcaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YVxcXFxwbHVzLXVpXFxcXHZpdGVcXFxccGx1Z2luc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRTpcXFxcZmlsZVxcXFwyMDI1XFxcXGNvZGVcXFxcaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YVxcXFxwbHVzLXVpXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxjb21wcmVzc2lvbi50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRTovZmlsZS8yMDI1L2NvZGUvaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YS9wbHVzLXVpL3ZpdGUvcGx1Z2lucy9jb21wcmVzc2lvbi50c1wiO2ltcG9ydCBjb21wcmVzc2lvbiBmcm9tICd2aXRlLXBsdWdpbi1jb21wcmVzc2lvbic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCAoZW52OiBhbnkpID0+IHtcclxuICBjb25zdCB7IFZJVEVfQlVJTERfQ09NUFJFU1MgfSA9IGVudjtcclxuICBjb25zdCBwbHVnaW46IGFueVtdID0gW107XHJcbiAgaWYgKFZJVEVfQlVJTERfQ09NUFJFU1MpIHtcclxuICAgIGNvbnN0IGNvbXByZXNzTGlzdCA9IFZJVEVfQlVJTERfQ09NUFJFU1Muc3BsaXQoJywnKTtcclxuICAgIGlmIChjb21wcmVzc0xpc3QuaW5jbHVkZXMoJ2d6aXAnKSkge1xyXG4gICAgICAvLyBodHRwOi8vZG9jLnJ1b3lpLnZpcC9ydW95aS12dWUvb3RoZXIvZmFxLmh0bWwjXHU0RjdGXHU3NTI4Z3ppcFx1ODlFM1x1NTM4Qlx1N0YyOVx1OTc1OVx1NjAwMVx1NjU4N1x1NEVGNlxyXG4gICAgICBwbHVnaW4ucHVzaChcclxuICAgICAgICBjb21wcmVzc2lvbih7XHJcbiAgICAgICAgICBleHQ6ICcuZ3onLFxyXG4gICAgICAgICAgZGVsZXRlT3JpZ2luRmlsZTogZmFsc2VcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKGNvbXByZXNzTGlzdC5pbmNsdWRlcygnYnJvdGxpJykpIHtcclxuICAgICAgcGx1Z2luLnB1c2goXHJcbiAgICAgICAgY29tcHJlc3Npb24oe1xyXG4gICAgICAgICAgZXh0OiAnLmJyJyxcclxuICAgICAgICAgIGFsZ29yaXRobTogJ2Jyb3RsaUNvbXByZXNzJyxcclxuICAgICAgICAgIGRlbGV0ZU9yaWdpbkZpbGU6IGZhbHNlXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHBsdWdpbjtcclxufTtcclxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJFOlxcXFxmaWxlXFxcXDIwMjVcXFxcY29kZVxcXFxoYW5oYWktb2ZmaWNpYWwtd2Vic2l0ZS1qYXZhXFxcXHBsdXMtdWlcXFxcdml0ZVxcXFxwbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJFOlxcXFxmaWxlXFxcXDIwMjVcXFxcY29kZVxcXFxoYW5oYWktb2ZmaWNpYWwtd2Vic2l0ZS1qYXZhXFxcXHBsdXMtdWlcXFxcdml0ZVxcXFxwbHVnaW5zXFxcXHNldHVwLWV4dGVuZC50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRTovZmlsZS8yMDI1L2NvZGUvaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YS9wbHVzLXVpL3ZpdGUvcGx1Z2lucy9zZXR1cC1leHRlbmQudHNcIjtpbXBvcnQgc2V0dXBFeHRlbmQgZnJvbSAndW5wbHVnaW4tdnVlLXNldHVwLWV4dGVuZC1wbHVzL3ZpdGUnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge1xyXG4gIHJldHVybiBzZXR1cEV4dGVuZCh7fSk7XHJcbn07XHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRTpcXFxcZmlsZVxcXFwyMDI1XFxcXGNvZGVcXFxcaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YVxcXFxwbHVzLXVpXFxcXHZpdGVcXFxccGx1Z2luc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRTpcXFxcZmlsZVxcXFwyMDI1XFxcXGNvZGVcXFxcaGFuaGFpLW9mZmljaWFsLXdlYnNpdGUtamF2YVxcXFxwbHVzLXVpXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxpMThuLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9FOi9maWxlLzIwMjUvY29kZS9oYW5oYWktb2ZmaWNpYWwtd2Vic2l0ZS1qYXZhL3BsdXMtdWkvdml0ZS9wbHVnaW5zL2kxOG4udHNcIjtpbXBvcnQgVnVlSTE4blBsdWdpbiBmcm9tICdAaW50bGlmeS91bnBsdWdpbi12dWUtaTE4bi92aXRlJztcclxuZXhwb3J0IGRlZmF1bHQgKHBhdGg6IGFueSkgPT4ge1xyXG4gIHJldHVybiBWdWVJMThuUGx1Z2luKHtcclxuICAgIGluY2x1ZGU6IFtwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vLi4vc3JjL2xhbmcvKiouanNvbicpXVxyXG4gIH0pO1xyXG59O1xyXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQWdXLFNBQWdDLFNBQVMsb0JBQW9COzs7QUNBOUIsT0FBTyxTQUFTOzs7QUNBZCxPQUFPLFlBQVk7QUFFcFosSUFBTyxpQkFBUSxNQUFNO0FBQ25CLFNBQU8sT0FBTztBQUFBLElBQ1osa0JBQWtCO0FBQUE7QUFBQSxFQUNwQixDQUFDO0FBQ0g7OztBQ04yWSxPQUFPLGdCQUFnQjtBQUNsYSxTQUFTLDJCQUEyQjtBQUNwQyxPQUFPLG1CQUFtQjtBQUYxQixJQUFNLG1DQUFtQztBQUl6QyxJQUFPLHNCQUFRLENBQUNBLFVBQWM7QUFDNUIsU0FBTyxXQUFXO0FBQUE7QUFBQSxJQUVoQixTQUFTLENBQUMsT0FBTyxjQUFjLGdCQUFnQixPQUFPO0FBQUEsSUFDdEQsVUFBVTtBQUFBLE1BQ1IsU0FBUztBQUFBLE1BQ1QsVUFBVTtBQUFBLE1BQ1Ysa0JBQWtCO0FBQUEsSUFDcEI7QUFBQSxJQUNBLFdBQVc7QUFBQTtBQUFBLE1BRVQsb0JBQW9CO0FBQUEsTUFDcEIsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLE1BQ1YsQ0FBQztBQUFBLElBQ0g7QUFBQSxJQUNBLGFBQWE7QUFBQTtBQUFBLElBQ2IsS0FBS0EsTUFBSyxRQUFRQSxNQUFLLFFBQVEsa0NBQVcsV0FBVyxHQUFHLFNBQVMsbUJBQW1CO0FBQUEsRUFDdEYsQ0FBQztBQUNIOzs7QUN2QnlZLE9BQU8sZ0JBQWdCO0FBQ2hhLFNBQVMsdUJBQUFDLDRCQUEyQjtBQUNwQyxPQUFPQyxvQkFBbUI7QUFGMUIsSUFBTUMsb0NBQW1DO0FBSXpDLElBQU8scUJBQVEsQ0FBQ0MsVUFBYztBQUM1QixTQUFPLFdBQVc7QUFBQSxJQUNoQixXQUFXO0FBQUE7QUFBQSxNQUVUQyxxQkFBb0I7QUFBQTtBQUFBLE1BRXBCQyxlQUFjO0FBQUEsUUFDWixvQkFBb0IsQ0FBQyxJQUFJO0FBQUEsTUFDM0IsQ0FBQztBQUFBLElBQ0g7QUFBQSxJQUNBLEtBQUtGLE1BQUssUUFBUUEsTUFBSyxRQUFRRyxtQ0FBVyxXQUFXLEdBQUcsU0FBUyxpQkFBaUI7QUFBQSxFQUNwRixDQUFDO0FBQ0g7OztBQ2hCK1gsT0FBTyxXQUFXO0FBRWpaLElBQU8sZ0JBQVEsTUFBTTtBQUNuQixTQUFPLE1BQU07QUFBQTtBQUFBLElBRVgsYUFBYTtBQUFBLEVBQ2YsQ0FBQztBQUNIOzs7QUNQcVksU0FBUyw0QkFBNEI7QUFBMWEsSUFBTUMsb0NBQW1DO0FBQ3pDLElBQU8sbUJBQVEsQ0FBQ0MsT0FBVyxZQUFxQjtBQUM5QyxTQUFPLHFCQUFxQjtBQUFBO0FBQUEsSUFFMUIsVUFBVSxDQUFDQSxNQUFLLFFBQVFBLE1BQUssUUFBUUMsbUNBQVcsV0FBVyxHQUFHLGtCQUFrQixDQUFDO0FBQUE7QUFBQSxJQUVqRixVQUFVO0FBQUEsSUFDVixhQUFhO0FBQUEsRUFDZixDQUFDO0FBQ0g7OztBQ1QyWSxPQUFPLGlCQUFpQjtBQUVuYSxJQUFPLHNCQUFRLENBQUMsUUFBYTtBQUMzQixRQUFNLEVBQUUsb0JBQW9CLElBQUk7QUFDaEMsUUFBTSxTQUFnQixDQUFDO0FBQ3ZCLE1BQUkscUJBQXFCO0FBQ3ZCLFVBQU0sZUFBZSxvQkFBb0IsTUFBTSxHQUFHO0FBQ2xELFFBQUksYUFBYSxTQUFTLE1BQU0sR0FBRztBQUVqQyxhQUFPO0FBQUEsUUFDTCxZQUFZO0FBQUEsVUFDVixLQUFLO0FBQUEsVUFDTCxrQkFBa0I7QUFBQSxRQUNwQixDQUFDO0FBQUEsTUFDSDtBQUFBLElBQ0Y7QUFDQSxRQUFJLGFBQWEsU0FBUyxRQUFRLEdBQUc7QUFDbkMsYUFBTztBQUFBLFFBQ0wsWUFBWTtBQUFBLFVBQ1YsS0FBSztBQUFBLFVBQ0wsV0FBVztBQUFBLFVBQ1gsa0JBQWtCO0FBQUEsUUFDcEIsQ0FBQztBQUFBLE1BQ0g7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNBLFNBQU87QUFDVDs7O0FDM0I2WSxPQUFPLGlCQUFpQjtBQUVyYSxJQUFPLHVCQUFRLE1BQU07QUFDbkIsU0FBTyxZQUFZLENBQUMsQ0FBQztBQUN2Qjs7O0FDSjZYLE9BQU8sbUJBQW1CO0FBQXZaLElBQU1DLG9DQUFtQztBQUN6QyxJQUFPLGVBQVEsQ0FBQ0MsVUFBYztBQUM1QixTQUFPLGNBQWM7QUFBQSxJQUNuQixTQUFTLENBQUNBLE1BQUssUUFBUUMsbUNBQVcsd0JBQXdCLENBQUM7QUFBQSxFQUM3RCxDQUFDO0FBQ0g7OztBUklBLE9BQU8sVUFBVTtBQUVqQixJQUFPLGtCQUFRLENBQUMsU0FBYyxVQUFVLFVBQWM7QUFDcEQsUUFBTSxjQUFtQixDQUFDO0FBQzFCLGNBQVksS0FBSyxJQUFJLENBQUM7QUFDdEIsY0FBWSxLQUFLLGVBQWEsQ0FBQztBQUMvQixjQUFZLEtBQUssb0JBQWlCLElBQUksQ0FBQztBQUN2QyxjQUFZLEtBQUssbUJBQWlCLElBQUksQ0FBQztBQUN2QyxjQUFZLEtBQUssb0JBQWtCLE9BQU8sQ0FBQztBQUMzQyxjQUFZLEtBQUssY0FBWSxDQUFDO0FBQzlCLGNBQVksS0FBSyxpQkFBcUIsTUFBTSxPQUFPLENBQUM7QUFDcEQsY0FBWSxLQUFLLHFCQUFrQixDQUFDO0FBQ3BDLGNBQVksS0FBSyxhQUFXLElBQUksQ0FBQztBQUNqQyxTQUFPO0FBQ1Q7OztBRG5CQSxPQUFPQyxXQUFVO0FBSmpCLElBQU1DLG9DQUFtQztBQUt6QyxJQUFPLHNCQUFRLGFBQWEsQ0FBQyxFQUFFLE1BQU0sUUFBUSxNQUE2QjtBQUN4RSxRQUFNLE1BQU0sUUFBUSxNQUFNLFFBQVEsSUFBSSxDQUFDO0FBQ3ZDLFNBQU87QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUlMLE1BQU0sSUFBSTtBQUFBLElBQ1YsU0FBUztBQUFBLE1BQ1AsT0FBTztBQUFBLFFBQ0wsS0FBS0MsTUFBSyxRQUFRQyxtQ0FBVyxJQUFJO0FBQUEsUUFDakMsS0FBS0QsTUFBSyxRQUFRQyxtQ0FBVyxPQUFPO0FBQUEsTUFDdEM7QUFBQSxNQUNBLFlBQVksQ0FBQyxRQUFRLE9BQU8sT0FBTyxRQUFRLFFBQVEsU0FBUyxNQUFNO0FBQUEsSUFDcEU7QUFBQTtBQUFBLElBRUEsU0FBUyxnQkFBYyxLQUFLLFlBQVksT0FBTztBQUFBLElBQy9DLFFBQVE7QUFBQSxNQUNOLE1BQU07QUFBQSxNQUNOLE1BQU0sT0FBTyxJQUFJLGFBQWE7QUFBQSxNQUM5QixNQUFNO0FBQUEsTUFDTixPQUFPO0FBQUEsUUFDTCxDQUFDLElBQUksaUJBQWlCLEdBQUc7QUFBQSxVQUN2QixRQUFRO0FBQUEsVUFDUixjQUFjO0FBQUEsVUFDZCxJQUFJO0FBQUEsVUFDSixTQUFTLENBQUNELFVBQVNBLE1BQUssUUFBUSxJQUFJLE9BQU8sTUFBTSxJQUFJLGlCQUFpQixHQUFHLEVBQUU7QUFBQSxRQUM3RTtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsSUFDQSxLQUFLO0FBQUEsTUFDSCxxQkFBcUI7QUFBQSxRQUNuQixNQUFNO0FBQUEsVUFDSixtQkFBbUI7QUFBQSxRQUNyQjtBQUFBLE1BQ0Y7QUFBQSxNQUNBLFNBQVM7QUFBQSxRQUNQLFNBQVM7QUFBQSxVQUNQO0FBQUEsWUFDRSxlQUFlO0FBQUEsWUFDZixRQUFRO0FBQUEsY0FDTixTQUFTLENBQUMsV0FBVztBQUNuQixvQkFBSSxPQUFPLFNBQVMsV0FBVztBQUM3Qix5QkFBTyxPQUFPO0FBQUEsZ0JBQ2hCO0FBQUEsY0FDRjtBQUFBLFlBQ0Y7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUE7QUFBQSxJQUVBLGNBQWM7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbInBhdGgiLCAiRWxlbWVudFBsdXNSZXNvbHZlciIsICJJY29uc1Jlc29sdmVyIiwgIl9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lIiwgInBhdGgiLCAiRWxlbWVudFBsdXNSZXNvbHZlciIsICJJY29uc1Jlc29sdmVyIiwgIl9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lIiwgIl9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lIiwgInBhdGgiLCAiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiLCAiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiLCAicGF0aCIsICJfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSIsICJwYXRoIiwgIl9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lIiwgInBhdGgiLCAiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiXQp9Cg==