From f7e5f6d5391aca9c7afff3f25069b6aa03d16e08 Mon Sep 17 00:00:00 2001 From: zhuoda Date: Thu, 27 Oct 2022 22:14:48 +0800 Subject: [PATCH] =?UTF-8?q?v2.0=20=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/prod/spy.properties | 18 - .../src/main/resources/test/spy.properties | 18 - .../.env.production | 8 - .../src/assets/images/login/login-bg.jpg | Bin 3517917 -> 0 bytes smart_admin_v1/smart-admin-h5/.browserslistrc | 2 + smart_admin_v1/smart-admin-h5/.editorconfig | 15 + .../smart-admin-h5/.env.development | 3 + smart_admin_v1/smart-admin-h5/.env.local | 3 + smart_admin_v1/smart-admin-h5/.env.pre | 3 + smart_admin_v1/smart-admin-h5/.env.prod | 3 + smart_admin_v1/smart-admin-h5/.env.sit | 3 + smart_admin_v1/smart-admin-h5/.eslintignore | 7 + smart_admin_v1/smart-admin-h5/.eslintrc.js | 232 + smart_admin_v1/smart-admin-h5/.gitignore | 22 + smart_admin_v1/smart-admin-h5/.postcssrc.js | 11 + smart_admin_v1/smart-admin-h5/.prettierrc.js | 31 + smart_admin_v1/smart-admin-h5/.sentryclirc | 7 + smart_admin_v1/smart-admin-h5/README.md | 4 + smart_admin_v1/smart-admin-h5/babel.config.js | 16 + smart_admin_v1/smart-admin-h5/package.json | 58 + .../smart-admin-h5}/public/favicon.ico | Bin .../smart-admin-h5/public/index.html | 47 + smart_admin_v1/smart-admin-h5/src/App.vue | 16 + .../smart-admin-h5/src/api/employee.js | 43 + smart_admin_v1/smart-admin-h5/src/api/file.js | 14 + .../smart-admin-h5/src/api/login.js | 10 + .../smart-admin-h5/src/api/system-config.js | 31 + smart_admin_v1/smart-admin-h5/src/api/user.js | 7 + .../smart-admin-h5/src/assets/css/index.scss | 5 + .../smart-admin-h5/src/assets/logo.png | Bin 0 -> 6849 bytes .../employee/department-employee-selector.vue | 121 + .../select-picker/SmartEnumSelectPicker.vue | 61 + .../form/select-picker/SmartSelectPicker | 59 + .../src/components/mixin/session-mixin.js | 25 + .../src/components/van-bar/BackNavBar.vue | 24 + .../src/components/van-bar/RouterNavBar.vue | 27 + .../smart-admin-h5/src/config/index.js | 46 + .../smart-admin-h5/src/constants/area.js | 4047 ++ .../src/constants/erp/contact-company.js | 165 + .../smart-admin-h5/src/constants/erp/index.js | 6 + .../smart-admin-h5/src/constants/file.js | 92 + .../smart-admin-h5/src/constants/index.js | 7 + .../smart-admin-h5/src/constants/school.js | 71 + .../smart-admin-h5/src/filters/filter.js | 298 + .../smart-admin-h5/src/filters/index.js | 5 + .../smart-admin-h5/src/lib/cookie.js | 21 + .../smart-admin-h5/src/lib/erp-http.js | 65 + smart_admin_v1/smart-admin-h5/src/lib/http.js | 65 + .../smart-admin-h5/src/lib/local.js | 8 + .../smart-admin-h5/src/lib/menu-func.js | 276 + .../smart-admin-h5/src/lib/printPlugs.js | 133 + .../smart-admin-h5/src/lib/render-dom.js | 10 + .../smart-admin-h5/src/lib/smart-sentry.js | 21 + smart_admin_v1/smart-admin-h5/src/lib/util.js | 515 + .../smart-admin-h5/src/lib/watermark.js | 49 + smart_admin_v1/smart-admin-h5/src/main.js | 62 + .../src/plugins/smart-sentry.js | 17 + .../smart-admin-h5/src/plugins/smart.js | 24 + .../smart-admin-h5/src/plugins/vant.js | 8 + .../src/router/dashboard/index.js | 42 + .../src/router/develop/develop.js | 21 + .../smart-admin-h5/src/router/error/error.js | 26 + .../smart-admin-h5/src/router/index.js | 150 + .../smart-admin-h5/src/router/login/login.js | 15 + .../smart-admin-h5/src/router/router-const.js | 23 + .../smart-admin-h5/src/router/routers.js | 32 + .../smart-admin-h5/src/router/user/user.js | 21 + .../smart-admin-h5/src/store/index.js | 23 + .../smart-admin-h5/src/store/module/app.js | 32 + .../smart-admin-h5/src/store/module/user.js | 41 + .../smart-admin-h5/src/themes/index.scss | 6 + .../smart-admin-h5/src/utils/index.js | 110 + .../smart-admin-h5/src/utils/request.js | 58 + .../smart-admin-h5/src/utils/validate.js | 20 + .../src/views/dashboard/dashboard.vue | 99 + .../src/views/develop/config.vue | 47 + .../smart-admin-h5/src/views/error/404.vue | 23 + .../smart-admin-h5/src/views/login/login.vue | 68 + .../src/views/user/change-password.vue | 76 + .../smart-admin-h5/src/views/user/index.vue | 79 + smart_admin_v1/smart-admin-h5/vue.config.js | 200 + smart_admin_v1/smart-admin-service/.gitignore | 31 + smart_admin_v1/smart-admin-service/README.md | 17 + smart_admin_v1/smart-admin-service/pom.xml | 349 + .../smart-admin-api/doc/readme.txt | 15 + .../smart-admin-api/pom.xml | 276 + .../smartadmin/SmartAdminApplication.java | 29 + .../common/anno/ApiModelPropertyEnum.java | 47 + .../smartadmin/common/anno/DataScope.java | 49 + .../smartadmin/common/anno/NoNeedLogin.java | 22 + .../common/anno/NoValidPrivilege.java | 20 + .../smartadmin/common/anno/OperateLog.java | 20 + .../common/constant/CommentSortTypeEnum.java | 57 + .../smartadmin/common/constant/JudgeEnum.java | 52 + .../common/constant/ResponseCodeConst.java | 181 + .../common/controller/BaseController.java | 42 + .../smartadmin/common/domain/BaseEntity.java | 39 + .../smartadmin/common/domain/BaseEnum.java | 97 + .../smartadmin/common/domain/ITask.java | 16 + .../common/domain/OrderItemDTO.java | 16 + .../common/domain/PageParamDTO.java | 33 + .../common/domain/PageResultDTO.java | 47 + .../smartadmin/common/domain/ResponseDTO.java | 132 + .../common/domain/ValidateList.java | 148 + .../exception/SmartBusinessException.java | 33 + .../exception/SmartResponseCodeException.java | 24 + .../heartbeat/AbstractHeartBeatCommand.java | 90 + .../common/heartbeat/HeartBeatConfig.java | 29 + .../common/heartbeat/HeartBeatLogger.java | 20 + .../HeartBeatRecordCommendInterface.java | 17 + .../common/heartbeat/HeartBeatRecordDTO.java | 37 + .../heartbeat/HeatBeatRecordHelper.java | 45 + .../smartadmin/common/heartbeat/IpUtil.java | 81 + .../common/heartbeat/StringUtil.java | 60 + .../common/json/LongJsonDeserializer.java | 21 + .../common/json/LongJsonSerializer.java | 19 + .../common/kaptcha/KaptchaColor.java | 39 + .../common/kaptcha/KaptchaNoise.java | 44 + .../common/kaptcha/KaptchaWordRenderer.java | 75 + .../common/reload/SmartReloadManager.java | 134 + .../common/reload/SmartReloadScheduler.java | 87 + .../abstracts/AbstractSmartReloadCommand.java | 66 + .../AbstractSmartReloadCommand4Spring.java | 67 + .../common/reload/annotation/SmartReload.java | 18 + .../domain/AbstractSmartReloadObject.java | 31 + .../reload/domain/AnnotationReloadObject.java | 44 + .../reload/domain/InterfaceReloadObject.java | 37 + .../reload/domain/entity/ReloadItem.java | 55 + .../domain/entity/SmartReloadResult.java | 102 + .../SmartReloadCommandInterface.java | 38 + .../interfaces/SmartReloadThreadLogger.java | 12 + .../reload/interfaces/SmartReloadable.java | 19 + .../SmartSwaggerApiModelEnumPlugin.java | 90 + .../bigdecimal/BigDecimalValidator.java | 73 + .../validator/bigdecimal/CheckBigDecimal.java | 53 + .../bigdecimal/ComparisonSymbolEnum.java | 40 + .../common/validator/en/CheckEnum.java | 50 + .../common/validator/en/EnumValidator.java | 71 + .../config/SmartAdminWebAppConfig.java | 25 + .../config/SmartDruidDataSourceConfig.java | 172 + .../config/SmartHeartBeatConfig.java | 33 + .../smartadmin/config/SmartKaptchaConfig.java | 49 + .../config/SmartMybatisPlusConfig.java | 27 + .../smartadmin/config/SmartRedisConfig.java | 74 + .../smartadmin/config/SmartReloadConfig.java | 45 + .../config/SmartRestTemplateConfig.java | 109 + .../SmartSwaggerApiModelEnumConfig.java | 29 + .../SmartSwaggerDynamicGroupConfig.java | 236 + .../config/SmartWebSocketConfig.java | 25 + .../config/SystemEnvironmentCondition.java | 22 + .../smartadmin/constant/CommonConst.java | 51 + .../constant/SmartReloadTagConst.java | 16 + .../smartadmin/constant/SwaggerTagConst.java | 69 + .../constant/SystemEnvironmentEnum.java | 67 + .../handler/SmartGlobalExceptionHandler.java | 73 + .../handler/SmartOperateLogAspect.java | 167 + .../SmartAuthenticationInterceptor.java | 158 + .../listener/SmartAdminStartupRunner.java | 22 + .../business/email/EmailController.java | 81 + .../module/business/email/EmailDao.java | 47 + .../business/email/EmailSendStatusEnum.java | 37 + .../module/business/email/EmailService.java | 122 + .../email/domain/dto/EmailConfigDTO.java | 30 + .../business/email/domain/dto/EmailDTO.java | 44 + .../email/domain/dto/EmailQueryDTO.java | 35 + .../business/email/domain/dto/EmailVO.java | 45 + .../email/domain/entity/EmailEntity.java | 40 + .../module/business/log/LogService.java | 75 + .../OrderOperateLogController.java | 44 + .../orderoperatelog/OrderOperateLogDao.java | 30 + .../OrderOperateLogService.java | 64 + .../OrderOperateLogDefaultEmpEnum.java | 37 + .../OrderOperateLogOperateTypeConst.java | 30 + .../OrderOperateLogOrderTypeEnum.java | 51 + .../domain/dto/OrderOperateLogSaveDTO.java | 80 + .../domain/dto/SupplierOrderOperateVO.java | 44 + .../domain/entity/OrderOperateLogEntity.java | 58 + .../domain/vo/OrderOperateLogVO.java | 69 + .../userloginlog/UserLoginLogController.java | 54 + .../log/userloginlog/UserLoginLogDao.java | 47 + .../log/userloginlog/UserLoginLogService.java | 82 + .../userloginlog/domain/UserLoginLogDTO.java | 53 + .../domain/UserLoginLogEntity.java | 60 + .../domain/UserLoginLogQueryDTO.java | 31 + .../UserOperateLogController.java | 50 + .../log/useroperatelog/UserOperateLogDao.java | 47 + .../useroperatelog/UserOperateLogService.java | 91 + .../domain/UserOperateLogDTO.java | 59 + .../domain/UserOperateLogEntity.java | 74 + .../domain/UserOperateLogQueryDTO.java | 34 + .../business/notice/NoticeController.java | 96 + .../module/business/notice/NoticeManage.java | 97 + .../module/business/notice/NoticeService.java | 235 + .../module/business/notice/dao/NoticeDao.java | 103 + .../notice/dao/NoticeReceiveRecordDao.java | 48 + .../notice/domain/dto/NoticeAddDTO.java | 28 + .../notice/domain/dto/NoticeDetailVO.java | 30 + .../notice/domain/dto/NoticeQueryDTO.java | 34 + .../notice/domain/dto/NoticeReadCountDTO.java | 26 + .../notice/domain/dto/NoticeReceiveDTO.java | 43 + .../domain/dto/NoticeReceiveQueryDTO.java | 25 + .../notice/domain/dto/NoticeUpdateDTO.java | 21 + .../business/notice/domain/dto/NoticeVO.java | 42 + .../notice/domain/entity/NoticeEntity.java | 45 + .../entity/NoticeReceiveRecordEntity.java | 33 + .../peony/controller/PeonyController.java | 88 + .../module/business/peony/dao/PeonyDao.java | 64 + .../peony/domain/dto/PeonyAddDTO.java | 41 + .../peony/domain/dto/PeonyQueryDTO.java | 44 + .../peony/domain/dto/PeonyUpdateDTO.java | 20 + .../peony/domain/entity/PeonyEntity.java | 44 + .../peony/domain/vo/PeonyExcelVO.java | 42 + .../business/peony/domain/vo/PeonyVO.java | 45 + .../business/peony/service/PeonyService.java | 108 + .../constant/SqlOperateTypeEnum.java | 34 + .../support/codegenerator/dao/TableDao.java | 40 + .../domain/CodeGeneratorDTO.java | 56 + .../domain/CodeGeneratorQueryColumnDTO.java | 30 + .../codegenerator/domain/ColumnVO.java | 36 + .../codegenerator/domain/QueryFieldVO.java | 30 + .../service/CodeGeneratorComponent.java | 92 + .../service/CodeGeneratorService.java | 336 + .../module/support/file/FileController.java | 93 + .../module/support/file/FileDao.java | 72 + .../file/constant/FileModuleTypeEnum.java | 47 + .../file/constant/FileResponseCodeConst.java | 37 + .../file/constant/FileServiceNameConst.java | 24 + .../file/constant/FileServiceTypeEnum.java | 52 + .../support/file/domain/dto/FileAddDTO.java | 39 + .../support/file/domain/dto/FileDTO.java | 58 + .../support/file/domain/dto/FileQueryDTO.java | 33 + .../support/file/domain/dto/OSSConfig.java | 35 + .../file/domain/entity/FileEntity.java | 58 + .../module/support/file/domain/vo/FileVO.java | 58 + .../support/file/domain/vo/UploadVO.java | 27 + .../support/file/service/FileService.java | 198 + .../file/service/FileServiceAliYun.java | 182 + .../file/service/FileServiceLocal.java | 123 + .../file/service/FileServiceQiNiuYun.java | 175 + .../support/file/service/IFileService.java | 152 + .../heartbeat/HeartBeatController.java | 32 + .../support/heartbeat/HeartBeatRecordDao.java | 52 + .../heartbeat/HeartBeatRecordEntity.java | 42 + .../support/heartbeat/HeartBeatRecordVO.java | 36 + .../support/heartbeat/HeartBeatService.java | 90 + .../support/idgenerator/IdGeneratorDao.java | 36 + .../idgenerator/IdGeneratorManager.java | 66 + .../idgenerator/IdGeneratorService.java | 140 + .../idgenerator/constant/IdGeneratorEnum.java | 45 + .../constant/IdGeneratorRuleTypeEnum.java | 40 + .../idgenerator/domain/IdGeneratorEntity.java | 45 + .../domain/IdGeneratorLastNumberDTO.java | 38 + .../idgenerator/domain/IdGeneratorPOJO.java | 71 + .../domain/IdGeneratorRecordDTO.java | 22 + .../support/quartz/constant/QuartzConst.java | 17 + .../quartz/constant/TaskResultEnum.java | 47 + .../quartz/constant/TaskStatusEnum.java | 47 + .../quartz/controller/QuartzController.java | 81 + .../support/quartz/dao/QuartzTaskDao.java | 42 + .../support/quartz/dao/QuartzTaskLogDao.java | 35 + .../quartz/domain/dto/QuartzLogQueryDTO.java | 25 + .../quartz/domain/dto/QuartzQueryDTO.java | 16 + .../quartz/domain/dto/QuartzTaskDTO.java | 45 + .../quartz/domain/dto/QuartzTaskLogVO.java | 49 + .../quartz/domain/dto/QuartzTaskVO.java | 45 + .../domain/entity/QuartzTaskEntity.java | 50 + .../domain/entity/QuartzTaskLogEntity.java | 50 + .../support/quartz/service/QuartzTask.java | 85 + .../quartz/service/QuartzTaskLogService.java | 28 + .../quartz/service/QuartzTaskService.java | 349 + .../support/quartz/task/test/Example.java | 28 + .../smartreload/SmartReloadCommand.java | 52 + .../smartreload/SmartReloadController.java | 52 + .../smartreload/SmartReloadService.java | 103 + .../smartreload/dao/ReloadItemDao.java | 15 + .../smartreload/dao/ReloadResultDao.java | 23 + .../domain/dto/ReloadItemUpdateDTO.java | 29 + .../smartreload/domain/dto/ReloadItemVO.java | 46 + .../domain/dto/ReloadResultVO.java | 45 + .../domain/entity/ReloadItemEntity.java | 46 + .../domain/entity/ReloadResultEntity.java | 48 + .../support/websocket/MessageTypeEnum.java | 44 + .../support/websocket/WebSocketServer.java | 199 + .../websocket/domain/MessageCommonDTO.java | 29 + .../support/websocket/domain/MessageDTO.java | 41 + .../domain/WebSocketHeartBeatDTO.java | 23 + .../system/datascope/DataScopeController.java | 59 + .../system/datascope/DataScopeRoleDao.java | 52 + .../system/datascope/MyBatisPlugin.java | 152 + .../datascope/constant/DataScopeTypeEnum.java | 51 + .../constant/DataScopeViewTypeEnum.java | 54 + .../constant/DataScopeWhereInTypeEnum.java | 42 + .../domain/dto/DataScopeAndViewTypeVO.java | 36 + .../domain/dto/DataScopeBatchSetDTO.java | 28 + .../domain/dto/DataScopeBatchSetRoleDTO.java | 30 + .../datascope/domain/dto/DataScopeDTO.java | 33 + .../domain/dto/DataScopeSelectVO.java | 24 + .../domain/dto/DataScopeSqlConfigDTO.java | 40 + .../domain/dto/DataScopeViewTypeVO.java | 28 + .../domain/entity/DataScopeRoleEntity.java | 33 + .../datascope/service/DataScopeService.java | 118 + .../service/DataScopeSqlConfigService.java | 142 + .../service/DataScopeViewService.java | 175 + .../strategy/DataScopePowerStrategy.java | 24 + .../department/DepartmentController.java | 99 + .../system/department/DepartmentDao.java | 47 + .../DepartmentResponseCodeConst.java | 39 + .../system/department/DepartmentService.java | 285 + .../department/DepartmentTreeService.java | 99 + .../domain/dto/DepartmentCreateDTO.java | 38 + .../domain/dto/DepartmentUpdateDTO.java | 25 + .../department/domain/dto/DepartmentVO.java | 58 + .../domain/entity/DepartmentEntity.java | 48 + .../system/employee/EmployeeController.java | 103 + .../module/system/employee/EmployeeDao.java | 138 + .../system/employee/EmployeeService.java | 369 + .../constant/EmployeeResponseCodeConst.java | 61 + .../employee/constant/EmployeeStatusEnum.java | 56 + .../system/employee/domain/bo/EmployeeBO.java | 73 + .../employee/domain/dto/EmployeeAddDTO.java | 63 + .../employee/domain/dto/EmployeeBaseDTO.java | 52 + .../dto/EmployeeBatchUpdateStatusDTO.java | 26 + .../employee/domain/dto/EmployeeDTO.java | 73 + .../domain/dto/EmployeeLoginFormDTO.java | 31 + .../employee/domain/dto/EmployeeQueryDTO.java | 39 + .../domain/dto/EmployeeQueryExportDTO.java | 42 + .../domain/dto/EmployeeUpdateDTO.java | 28 + .../domain/dto/EmployeeUpdatePwdDTO.java | 25 + .../domain/dto/EmployeeUpdateRolesDTO.java | 29 + .../domain/entity/EmployeeEntity.java | 91 + .../system/employee/domain/vo/EmployeeVO.java | 72 + .../module/system/login/LoginController.java | 71 + .../system/login/LoginResponseCodeConst.java | 21 + .../module/system/login/LoginService.java | 215 + .../system/login/LoginTokenService.java | 118 + .../module/system/login/domain/KaptchaVO.java | 28 + .../system/login/domain/LoginCacheDTO.java | 28 + .../system/login/domain/LoginDetailVO.java | 68 + .../login/domain/LoginPrivilegeDTO.java | 33 + .../system/login/domain/RequestTokenBO.java | 26 + .../system/position/PositionController.java | 59 + .../module/system/position/PositionDao.java | 63 + .../position/PositionResponseCodeConst.java | 16 + .../system/position/PositionService.java | 124 + .../position/domain/dto/PositionAddDTO.java | 28 + .../position/domain/dto/PositionQueryDTO.java | 18 + .../domain/dto/PositionRelationAddDTO.java | 32 + .../domain/dto/PositionRelationQueryDTO.java | 20 + .../domain/dto/PositionRelationResultDTO.java | 40 + .../position/domain/dto/PositionResultVO.java | 41 + .../domain/dto/PositionUpdateDTO.java | 16 + .../domain/entity/PositionEntity.java | 26 + .../domain/entity/PositionRelationEntity.java | 26 + .../constant/PrivilegeResponseCodeConst.java | 29 + .../privilege/constant/PrivilegeTypeEnum.java | 49 + .../controller/PrivilegeController.java | 75 + .../system/privilege/dao/PrivilegeDao.java | 94 + .../domain/dto/PrivilegeFunctionDTO.java | 40 + .../domain/dto/PrivilegeFunctionVO.java | 40 + .../domain/dto/PrivilegeMenuDTO.java | 45 + .../privilege/domain/dto/PrivilegeMenuVO.java | 35 + .../domain/dto/PrivilegeRequestUrlVO.java | 27 + .../domain/entity/PrivilegeEntity.java | 57 + .../service/PrivilegeEmployeeService.java | 199 + .../service/PrivilegeRequestUrlService.java | 117 + .../privilege/service/PrivilegeService.java | 285 + .../system/role/basic/RoleController.java | 60 + .../module/system/role/basic/RoleDao.java | 26 + .../role/basic/RoleResponseCodeConst.java | 24 + .../module/system/role/basic/RoleService.java | 114 + .../role/basic/domain/dto/RoleAddDTO.java | 33 + .../role/basic/domain/dto/RoleBatchDTO.java | 30 + .../role/basic/domain/dto/RoleQueryDTO.java | 25 + .../role/basic/domain/dto/RoleSelectedVO.java | 21 + .../role/basic/domain/dto/RoleUpdateDTO.java | 24 + .../system/role/basic/domain/dto/RoleVO.java | 27 + .../role/basic/domain/entity/RoleEntity.java | 25 + .../roleemployee/RoleEmployeeController.java | 73 + .../role/roleemployee/RoleEmployeeDao.java | 80 + .../roleemployee/RoleEmployeeService.java | 132 + .../roleemployee/domain/RoleEmployeeDTO.java | 21 + .../domain/RoleEmployeeEntity.java | 24 + .../RolePrivilegeController.java | 45 + .../role/roleprivilege/RolePrivilegeDao.java | 58 + .../roleprivilege/RolePrivilegeService.java | 129 + .../domain/dto/RolePrivilegeDTO.java | 35 + .../domain/dto/RolePrivilegeSimpleDTO.java | 43 + .../domain/dto/RolePrivilegeTreeVO.java | 19 + .../domain/entity/RolePrivilegeEntity.java | 32 + .../systemconfig/SystemConfigController.java | 70 + .../system/systemconfig/SystemConfigDao.java | 62 + .../systemconfig/SystemConfigService.java | 262 + .../constant/SystemConfigDataType.java | 67 + .../constant/SystemConfigEnum.java | 68 + .../SystemConfigResponseCodeConst.java | 29 + .../domain/dto/SystemConfigAddDTO.java | 45 + .../domain/dto/SystemConfigDTO.java | 50 + .../domain/dto/SystemConfigQueryDTO.java | 29 + .../domain/dto/SystemConfigUpdateDTO.java | 25 + .../domain/dto/SystemConfigVO.java | 48 + .../domain/entity/SystemConfigEntity.java | 51 + .../third/SmartApplicationContext.java | 80 + .../smartadmin/third/SmartRedisService.java | 622 + .../smartadmin/util/SmartBaseEnumUtil.java | 85 + .../smartadmin/util/SmartBeanUtil.java | 59 + .../smartadmin/util/SmartBigDecimalUtil.java | 333 + .../smartadmin/util/SmartDateUtil.java | 521 + .../smartadmin/util/SmartDigestUtil.java | 17 + .../util/SmartEasyPoiExcelUtil.java | 99 + .../smartadmin/util/SmartFileUtil.java | 91 + .../smartadmin/util/SmartHttpUtil.java | 151 + .../lab1024/smartadmin/util/SmartIPUtil.java | 159 + .../smartadmin/util/SmartPageUtil.java | 97 + .../smartadmin/util/SmartQuartzUtil.java | 43 + .../util/SmartRequestTokenUtil.java | 51 + .../smartadmin/util/SmartSendMailUtil.java | 243 + .../smartadmin/util/SmartStringUtil.java | 311 + .../smartadmin/util/SmartThreadFactory.java | 44 + .../util/SmartVerificationUtil.java | 95 + .../smartadmin/util/excel/SmartExcel.java | 83 + .../util/excel/SmartExcelFileType.java | 10 + .../util/excel/SmartExcelReader.java | 32 + .../smartadmin/util/excel/SmartSheet.java | 113 + .../src/main/resources/banner.txt | 8 + .../main/resources/dev/application.properties | 123 + .../src/main/resources/dev/log4j2.xml | 97 + .../src/main/resources/dev/spy.properties | 20 + .../mapper/business/email/EmailMapper.xml | 44 + .../business/log/OrderOperateLogMapper.xml | 50 + .../business/log/UserLoginLogMapper.xml | 46 + .../business/log/UserOperateLogMapper.xml | 51 + .../mapper/business/notice/NoticeMapper.xml | 155 + .../notice/NoticeReceiveRecordMapper.xml | 39 + .../mapper/business/peony/PeonyMapper.xml | 116 + .../support/codegenerator/TableMapper.xml | 27 + .../mapper/support/file/FileMapper.xml | 100 + .../heartbeat/HeartBeatRecordMapper.xml | 41 + .../support/idgenerator/IdGeneratorMapper.xml | 48 + .../support/quartz/QuartzTaskLogMapper.xml | 38 + .../support/quartz/QuartzTaskMapper.xml | 36 + .../support/smartreload/ReloadItemMapper.xml | 6 + .../smartreload/ReloadResultMapper.xml | 18 + .../system/datascope/DataScopeRoleMapper.xml | 36 + .../system/department/DepartmentMapper.xml | 54 + .../mapper/system/employee/EmployeeMapper.xml | 186 + .../mapper/system/position/PositionMapper.xml | 77 + .../system/privilege/PrivilegeMapper.xml | 124 + .../mapper/system/role/RoleEmployeeMapper.xml | 124 + .../mapper/system/role/RoleMapper.xml | 27 + .../system/role/RolePrivilegeMapper.xml | 72 + .../systemconfig/SystemConfigMapper.xml | 102 + .../main/resources/pre/application.properties | 121 + .../src/main/resources/pre/log4j2.xml | 97 + .../resources/prod/application.properties | 120 + .../src/main/resources/prod/log4j2.xml | 97 + .../main/resources/sit/application.properties | 121 + .../src/main/resources/sit/log4j2.xml | 97 + .../src/main/resources/sit/spy.properties | 20 + .../main/resources/sql/quartz_mysql_2.3.0.sql | 179 + .../src/main/resources/sql/smart-admin.sql | 1588 + .../codegenerator/java/AddDTO.java.vm | 36 + .../codegenerator/java/Controller.java.vm | 88 + .../templates/codegenerator/java/Dao.java.vm | 64 + .../templates/codegenerator/java/Dao.xml.vm | 144 + .../codegenerator/java/Entity.java.vm | 33 + .../codegenerator/java/ExcelVO.java.vm | 33 + .../codegenerator/java/QueryDTO.java.vm | 45 + .../codegenerator/java/Service.java.vm | 108 + .../codegenerator/java/UpdateDTO.java.vm | 20 + .../templates/codegenerator/java/VO.java.vm | 35 + .../templates/codegenerator/web/Api.js.vm | 28 + .../templates/codegenerator/web/List.vue.vm | 439 + .../codegenerator/web/ListForm.vue.vm | 132 + .../templates/codegenerator/web/Router.js.vm | 32 + .../java/net/lab1024/smartadmin/BaseTest.java | 28 + .../SmartAdminApplicationTests.java | 11 + .../CodeGeneratorServiceTest.java | 66 + smart_admin_v1/smart-admin-web/.babelrc | 5 + smart_admin_v1/smart-admin-web/.editorconfig | 9 + .../smart-admin-web/.env.development | 4 + smart_admin_v1/smart-admin-web/.env.local | 4 + smart_admin_v1/smart-admin-web/.env.prod | 8 + smart_admin_v1/smart-admin-web/.env.sit | 3 + .../smart-admin-web/.eslintignore | 0 smart_admin_v1/smart-admin-web/.eslintrc.js | 34 + smart_admin_v1/smart-admin-web/.gitignore | 22 + smart_admin_v1/smart-admin-web/.postcssrc.js | 5 + smart_admin_v1/smart-admin-web/.travis.yml | 5 + smart_admin_v1/smart-admin-web/README.md | 13 + smart_admin_v1/smart-admin-web/cypress.json | 3 + smart_admin_v1/smart-admin-web/doc/notice.txt | 2 + .../smart-admin-web/package-lock.json | 34184 ++++++++++++++++ smart_admin_v1/smart-admin-web/package.json | 89 + .../smart-admin-web}/public/favicon.ico | Bin .../smart-admin-web/public/index.html | 19 + smart_admin_v1/smart-admin-web/src/App.vue | 31 + .../smart-admin-web/src/api/data-scope.js | 15 + .../smart-admin-web/src/api/department.js | 47 + .../smart-admin-web/src/api/email.js | 27 + .../smart-admin-web/src/api/employee.js | 43 + .../smart-admin-web/src/api/file.js | 28 + .../smart-admin-web/src/api/heart-beat.js | 7 + .../smart-admin-web/src/api/login.js | 19 + .../smart-admin-web/src/api/notice.js | 43 + .../smart-admin-web/src/api/online-user.js | 12 + .../smart-admin-web/src/api/peony.js | 28 + .../smart-admin-web/src/api/position.js | 19 + .../smart-admin-web/src/api/privilege.js | 36 + .../smart-admin-web/src/api/role.js | 58 + .../smart-admin-web/src/api/smart-reload.js | 20 + .../smart-admin-web/src/api/system-config.js | 31 + .../smart-admin-web/src/api/task-manage.js | 35 + .../smart-admin-web/src/api/user-log.js | 28 + .../smart-admin-web/src/api/user.js | 20 + .../smart-admin-web/src/assets/icons/demo.css | 539 + .../src/assets/icons/demo_index.html | 722 + .../font_1299963_2zqwx2axi0j/demo.css | 539 + .../font_1299963_2zqwx2axi0j/demo_index.html | 722 + .../font_1299963_2zqwx2axi0j/iconfont.css | 113 + .../font_1299963_2zqwx2axi0j/iconfont.eot | Bin 0 -> 8812 bytes .../font_1299963_2zqwx2axi0j/iconfont.js | 1 + .../font_1299963_2zqwx2axi0j/iconfont.svg | 98 + .../font_1299963_2zqwx2axi0j/iconfont.ttf | Bin 0 -> 8644 bytes .../font_1299963_2zqwx2axi0j/iconfont.woff | Bin 0 -> 5436 bytes .../font_1299963_2zqwx2axi0j/iconfont.woff2 | Bin 0 -> 4584 bytes .../src/assets/icons/iconfont.css | 113 + .../src/assets/icons/iconfont.eot | Bin 0 -> 8812 bytes .../src/assets/icons/iconfont.js | 1 + .../src/assets/icons/iconfont.svg | 98 + .../src/assets/icons/iconfont.ttf | Bin 0 -> 8644 bytes .../src/assets/icons/iconfont.woff | Bin 0 -> 5436 bytes .../src/assets/icons/iconfont.woff2 | Bin 0 -> 4584 bytes .../src/assets/images/default_icon.png | Bin 0 -> 2364 bytes .../assets/images/error-page/error-401.svg | 1 + .../assets/images/error-page/error-404.svg | 1 + .../assets/images/error-page/error-500.svg | 1 + .../src/assets/images/icon-qr-qq-wechat.png | Bin 0 -> 43541 bytes .../assets/images/icon-social-bilibili.svg | 1 + .../src/assets/images/icon-social-juejin.svg | 1 + .../src/assets/images/icon-social-twitter.svg | 1 + .../src/assets/images/icon-social-zhihu.svg | 1 + .../src/assets/images/login-alipay.png | Bin 0 -> 1881 bytes .../src/assets/images/login-bg.jpg | Bin 0 -> 547587 bytes .../src/assets/images/login-logo.png | Bin 0 -> 4900 bytes .../src/assets/images/login-sina.png | Bin 0 -> 1851 bytes .../src/assets/images/login-taobao.png | Bin 0 -> 1898 bytes .../src/assets/images/login_desc_bg.png | Bin 0 -> 272693 bytes .../src/assets/images/login_logo.png | Bin 0 -> 3523 bytes .../src/assets/images}/logo-min.png | Bin .../src/assets/images/logo.png | Bin 0 -> 3839 bytes .../src/assets/images/logo1.png | Bin 0 -> 3259 bytes .../src/assets/images/message.png | Bin 0 -> 1873 bytes .../src/assets/images/shadow.png | Bin 0 -> 224307 bytes .../images/slider/sub_slider_active.png | Bin 0 -> 3103 bytes .../images/slider/sub_slider_default.png | Bin 0 -> 3105 bytes .../src/assets/style/lib/animate.css | 3625 ++ .../components/active-plate/active-plate.vue | 67 + .../src/components/charts/bar.vue | 73 + .../src/components/charts/index.js | 3 + .../src/components/charts/pie.vue | 85 + .../src/components/charts/theme.json | 490 + .../components/common-icon/common-icon.vue | 52 + .../src/components/common-icon/index.js | 2 + .../src/components/count-to/count-to.vue | 198 + .../src/components/count-to/index.js | 2 + .../src/components/count-to/index.less | 10 + .../src/components/editor/editor.vue | 77 + .../src/components/editor/index.js | 2 + .../components/employee/employee-selector.vue | 54 + .../src/components/icons/icons.vue | 38 + .../src/components/icons/index.js | 2 + .../main/components/a-back-top/index.js | 2 + .../main/components/a-back-top/index.vue | 130 + .../main/components/fullscreen/fullscreen.vue | 92 + .../main/components/fullscreen/index.js | 2 + .../custom-bread-crumb.less | 4 + .../custom-bread-crumb/custom-bread-crumb.vue | 44 + .../header-bar/custom-bread-crumb/index.js | 2 + .../components/header-bar/header-bar.less | 19 + .../main/components/header-bar/header-bar.vue | 106 + .../main/components/header-bar/index.js | 2 + .../header-bar/sider-trigger/index.js | 2 + .../sider-trigger/sider-trigger.less | 21 + .../sider-trigger/sider-trigger.vue | 35 + .../main/components/language/index.js | 2 + .../main/components/language/language.vue | 54 + .../main/components/notice/notice.vue | 371 + .../components/side-menu/collapsed-menu.vue | 84 + .../main/components/side-menu/index.js | 2 + .../main/components/side-menu/item-mixin.js | 30 + .../main/components/side-menu/mixin.js | 18 + .../components/side-menu/side-menu-item.vue | 35 + .../main/components/side-menu/side-menu.less | 39 + .../main/components/side-menu/side-menu.vue | 197 + .../main/components/tags-nav/index.js | 2 + .../main/components/tags-nav/tags-nav.less | 136 + .../main/components/tags-nav/tags-nav.vue | 256 + .../components/main/components/user/index.js | 2 + .../components/main/components/user/user.less | 25 + .../components/main/components/user/user.vue | 131 + .../src/components/main/index.js | 2 + .../src/components/main/main.less | 129 + .../src/components/main/main.vue | 533 + .../src/components/smart-admin-ad/ad.vue | 34 + .../src/components/smart-admin-ad/index.js | 2 + .../src/components/tables/edit.vue | 102 + .../src/components/tables/handle-btns.js | 70 + .../src/components/tables/index.js | 2 + .../src/components/tables/index.less | 17 + .../src/components/tables/tables.vue | 342 + .../smart-admin-web/src/config/index.js | 38 + .../smart-admin-web/src/constants/file.js | 24 + .../smart-admin-web/src/constants/index.js | 10 + .../smart-admin-web/src/constants/login.js | 13 + .../smart-admin-web/src/constants/notice.js | 13 + .../src/constants/privilege.js | 14 + .../src/constants/table-page.js | 6 + .../src/directives/directives.js | 11 + .../smart-admin-web/src/directives/index.js | 31 + .../src/directives/module/clipboard.js | 30 + .../src/directives/module/draggable.js | 42 + .../src/directives/module/privilege.js | 23 + .../smart-admin-web/src/filters/index.js | 0 .../smart-admin-web/src/lib/cookie.js | 21 + .../smart-admin-web/src/lib/http.js | 161 + .../smart-admin-web/src/lib/local.js | 8 + .../smart-admin-web/src/lib/menu-func.js | 276 + .../smart-admin-web/src/lib/printPlugs.js | 133 + .../smart-admin-web/src/lib/render-dom.js | 10 + .../smart-admin-web/src/lib/table-action.js | 84 + .../smart-admin-web/src/lib/util.js | 515 + .../smart-admin-web/src/locale/index.js | 37 + .../smart-admin-web/src/locale/lang/en-US.js | 46 + .../smart-admin-web/src/locale/lang/zh-CN.js | 46 + .../smart-admin-web/src/locale/lang/zh-TW.js | 46 + smart_admin_v1/smart-admin-web/src/main.js | 80 + smart_admin_v1/smart-admin-web/src/main.less | 37 + .../src/plugins/error-store/index.js | 4 + .../smart-admin-web/src/plugins/index.js | 12 + .../src/router/before-close.js | 17 + .../smart-admin-web/src/router/index.js | 218 + .../src/router/module/business/email.js | 40 + .../src/router/module/business/index.js | 29 + .../src/router/module/business/keep-alive.js | 31 + .../src/router/module/business/notice.js | 52 + .../src/router/module/business/peony.js | 49 + .../router/module/business/three-router.js | 63 + .../src/router/module/error.js | 33 + .../smart-admin-web/src/router/module/home.js | 29 + .../src/router/module/support/api-doc.js | 25 + .../src/router/module/support/heart-beat.js | 31 + .../src/router/module/support/index.js | 30 + .../src/router/module/support/monitor.js | 34 + .../src/router/module/support/reload.js | 40 + .../src/router/module/support/task.js | 63 + .../src/router/module/system/employee.js | 149 + .../src/router/module/system/file.js | 29 + .../src/router/module/system/index.js | 28 + .../router/module/system/system-setting.js | 65 + .../src/router/module/system/user-log.js | 42 + .../smart-admin-web/src/router/routers.js | 43 + .../smart-admin-web/src/store/index.js | 25 + .../smart-admin-web/src/store/module/app.js | 129 + .../src/store/module/notice.js | 19 + .../smart-admin-web/src/store/module/user.js | 122 + .../smart-admin-web/src/themes/ReadMe.md | 1 + .../smart-admin-web/src/themes/index.less | 328 + .../src/views/business/email/email-list.vue | 214 + .../src/views/business/email/send-mail.vue | 215 + .../views/business/keep-alive/add-content.vue | 94 + .../business/keep-alive/content-list.vue | 80 + .../views/business/notice/notice-detail.vue | 49 + .../src/views/business/notice/notice-list.vue | 369 + .../views/business/notice/person-notice.vue | 221 + .../peony/components/peony-list-form.vue | 133 + .../src/views/business/peony/peony-list.vue | 495 + .../three-level-router-view.vue | 58 + .../src/views/error-page/401.vue | 19 + .../src/views/error-page/404.vue | 19 + .../src/views/error-page/500.vue | 19 + .../src/views/error-page/back-btn-group.vue | 40 + .../src/views/error-page/error-content.vue | 28 + .../src/views/error-page/error.less | 46 + .../src/views/home/components/card.vue | 43 + .../src/views/home/components/chart-bar.vue | 140 + .../views/home/components/chart-funnel.vue | 106 + .../src/views/home/components/chart-gauge.vue | 87 + .../src/views/home/components/chart-line.vue | 123 + .../src/views/home/components/chart-pie.vue | 110 + .../src/views/home/components/home-circle.vue | 41 + .../views/home/components/home-progress.vue | 59 + .../src/views/home/components/theme.json | 490 + .../smart-admin-web/src/views/home/home.vue | 154 + .../smart-admin-web/src/views/home/index.js | 2 + .../smart-admin-web/src/views/login/canvas.js | 289 + .../src/views/login/components/login-form.vue | 134 + .../src/views/login/login.less | 128 + .../smart-admin-web/src/views/login/login.vue | 52 + .../src/views/support/api-doc/swagger.vue | 33 + .../support/heart-beat/heart-beat-list.vue | 115 + .../src/views/support/monitor/online-user.vue | 152 + .../src/views/support/monitor/sql.vue | 33 + .../reload/smart-reload/smart-reload-list.vue | 273 + .../src/views/support/task/task-list.vue | 556 + .../department-employee-tree-item.vue | 124 + .../department-employee-tree.vue | 251 + .../employee/position/position-list.vue | 366 + .../employee-table-add/employee-table-add.vue | 527 + .../employee-table-detail.vue | 72 + .../employee-table/employee-table.vue | 572 + .../role-employee/role-employee-manage.vue | 831 + .../role-data-scope/role-data-scope.vue | 144 + .../role/components/role-list/role-list.vue | 407 + .../role/components/role-tree/role-tree.vue | 431 + .../system/employee/role/role-manage.vue | 339 + .../src/views/system/file/file-list.vue | 279 + .../system-config/system-config.vue | 397 + .../components/privilege-form.vue | 144 + .../system-privilege/system-privilege.vue | 410 + .../views/system/user-log/user-login-log.vue | 185 + .../system/user-log/user-operate-log.vue | 252 + .../src/views/three-router/three-content.vue | 26 + .../smart-admin-web/tests/e2e/.eslintrc | 12 + .../tests/e2e/plugins/index.js | 9 + .../smart-admin-web/tests/e2e/specs/test.js | 8 + .../tests/e2e/support/commands.js | 25 + .../tests/e2e/support/index.js | 20 + .../smart-admin-web/tests/unit/.eslintrc.js | 8 + .../tests/unit/HelloWorld.spec.js | 13 + .../smart-admin-web/vscode/settings.json | 43 + smart_admin_v1/smart-admin-web/vue.config.js | 77 + .../代码规范_v1}/api接口规范.md | 74 +- .../代码规范_v1}/front-standard-guide.md | 0 .../代码规范_v1}/java-standard-guide.md | 0 .../快速启动_v1}/README.md | 0 smart_admin_v2.sql | 2071 - smart_admin_v2/smart-admin-api/.gitignore | 35 + .../smart-admin-api}/pom.xml | 36 +- .../smart-admin-api}/sa-admin/pom.xml | 11 + .../sa/admin/SmartAdminApplication.java | 3 +- .../sa/admin/common/AdminBaseController.java | 0 .../admin/config/OperateLogAspectConfig.java | 0 .../sa/admin/config/SecurityConfig.java | 0 .../sa/admin/config/SecurityMethodConfig.java | 0 .../sa/admin/constant/AdminCacheConst.java | 0 .../sa/admin/constant/AdminRedisKeyConst.java | 0 .../admin/constant/AdminSwaggerTagConst.java | 0 .../sa/admin/listener/AdminStartupRunner.java | 0 .../category/constant/CategoryTypeEnum.java | 0 .../controller/CategoryController.java | 3 +- .../business/category/dao/CategoryDao.java | 0 .../category/domain/dto/CategoryBaseDTO.java | 0 .../domain/dto/CategorySimpleDTO.java | 0 .../domain/entity/CategoryEntity.java | 0 .../category/domain/form/CategoryAddForm.java | 0 .../domain/form/CategoryTreeQueryForm.java | 0 .../domain/form/CategoryUpdateForm.java | 0 .../category/domain/vo/CategoryTreeVO.java | 0 .../category/domain/vo/CategoryVO.java | 0 .../manager/CategoryCacheManager.java | 0 .../service/CategoryQueryService.java | 0 .../category/service/CategoryService.java | 0 .../goods/constant/GoodsStatusEnum.java | 0 .../goods/controller/GoodsController.java | 0 .../module/business/goods/dao/GoodsDao.java | 0 .../goods/domain/entity/GoodsEntity.java | 0 .../goods/domain/form/GoodsAddForm.java | 0 .../goods/domain/form/GoodsQueryForm.java | 0 .../goods/domain/form/GoodsUpdateForm.java | 0 .../business/goods/domain/vo/GoodsVO.java | 0 .../business/goods/manager/GoodsManager.java | 0 .../business/goods/service/GoodsService.java | 0 .../business/oa/bank/BankController.java | 0 .../module/business/oa/bank/BankDao.java | 0 .../module/business/oa/bank/BankService.java | 0 .../oa/bank/domain/BankCreateForm.java | 0 .../business/oa/bank/domain/BankEntity.java | 0 .../oa/bank/domain/BankQueryForm.java | 0 .../oa/bank/domain/BankUpdateForm.java | 0 .../business/oa/bank/domain/BankVO.java | 0 .../oa/enterprise/EnterpriseController.java | 0 .../enterprise/EnterpriseEmployeeManager.java | 0 .../oa/enterprise/EnterpriseService.java | 0 .../constant/EnterpriseTypeEnum.java | 0 .../oa/enterprise/dao/EnterpriseDao.java | 0 .../enterprise/dao/EnterpriseEmployeeDao.java | 0 .../entity/EnterpriseEmployeeEntity.java | 0 .../domain/entity/EnterpriseEntity.java | 0 .../domain/form/EnterpriseCreateForm.java | 0 .../domain/form/EnterpriseEmployeeForm.java | 0 .../form/EnterpriseEmployeeQueryForm.java | 0 .../domain/form/EnterpriseQueryForm.java | 0 .../domain/form/EnterpriseUpdateForm.java | 0 .../domain/vo/EnterpriseEmployeeVO.java | 0 .../domain/vo/EnterpriseListVO.java | 0 .../oa/enterprise/domain/vo/EnterpriseVO.java | 0 .../oa/invoice/InvoiceController.java | 0 .../business/oa/invoice/InvoiceDao.java | 0 .../business/oa/invoice/InvoiceService.java | 0 .../oa/invoice/domain/InvoiceAddForm.java | 0 .../oa/invoice/domain/InvoiceEntity.java | 0 .../oa/invoice/domain/InvoiceQueryForm.java | 0 .../oa/invoice/domain/InvoiceUpdateForm.java | 0 .../business/oa/invoice/domain/InvoiceVO.java | 0 .../NoticeVisibleRangeDataTypeEnum.java | 0 .../notice/controller/NoticeController.java | 0 .../business/oa/notice/dao/NoticeDao.java | 0 .../business/oa/notice/dao/NoticeTypeDao.java | 0 .../oa/notice/domain/entity/NoticeEntity.java | 0 .../domain/entity/NoticeTypeEntity.java | 0 .../oa/notice/domain/form/NoticeAddForm.java | 0 .../domain/form/NoticeEmployeeQueryForm.java | 0 .../notice/domain/form/NoticeQueryForm.java | 0 .../notice/domain/form/NoticeUpdateForm.java | 0 .../form/NoticeViewRecordQueryForm.java | 0 .../domain/form/NoticeVisibleRangeForm.java | 0 .../oa/notice/domain/vo/NoticeDetailVO.java | 0 .../oa/notice/domain/vo/NoticeEmployeeVO.java | 0 .../oa/notice/domain/vo/NoticeTypeVO.java | 0 .../notice/domain/vo/NoticeUpdateFormVO.java | 0 .../oa/notice/domain/vo/NoticeVO.java | 0 .../notice/domain/vo/NoticeViewRecordVO.java | 0 .../domain/vo/NoticeVisibleRangeVO.java | 0 .../oa/notice/manager/NoticeManager.java | 0 .../notice/service/NoticeEmployeeService.java | 0 .../oa/notice/service/NoticeService.java | 0 .../oa/notice/service/NoticeTypeService.java | 0 .../module/system/datascope/DataScope.java | 0 .../system/datascope/DataScopeController.java | 0 .../system/datascope/MyBatisPlugin.java | 0 .../datascope/constant/DataScopeTypeEnum.java | 0 .../constant/DataScopeViewTypeEnum.java | 0 .../constant/DataScopeWhereInTypeEnum.java | 0 .../domain/DataScopeAndViewTypeVO.java | 0 .../system/datascope/domain/DataScopeDTO.java | 0 .../datascope/domain/DataScopeSqlConfig.java | 0 .../datascope/domain/DataScopeViewTypeVO.java | 0 .../datascope/service/DataScopeService.java | 0 .../service/DataScopeSqlConfigService.java | 0 .../service/DataScopeViewService.java | 0 .../strategy/DataScopePowerStrategy.java | 0 .../controller/DepartmentController.java | 0 .../system/department/dao/DepartmentDao.java | 0 .../domain/entity/DepartmentEntity.java | 0 .../domain/form/DepartmentAddForm.java | 0 .../domain/form/DepartmentUpdateForm.java | 0 .../domain/vo/DepartmentEmployeeTreeVO.java | 0 .../domain/vo/DepartmentTreeVO.java | 0 .../department/domain/vo/DepartmentVO.java | 0 .../manager/DepartmentCacheManager.java | 0 .../department/manager/DepartmentManager.java | 0 .../department/service/DepartmentService.java | 0 .../controller/EmployeeController.java | 0 .../system/employee/dao/EmployeeDao.java | 0 .../domain/entity/EmployeeEntity.java | 0 .../employee/domain/form/EmployeeAddForm.java | 0 .../EmployeeBatchUpdateDepartmentForm.java | 0 .../domain/form/EmployeeQueryForm.java | 0 .../domain/form/EmployeeUpdateForm.java | 0 .../form/EmployeeUpdatePasswordForm.java | 0 .../domain/form/EmployeeUpdateRoleForm.java | 0 .../system/employee/domain/vo/EmployeeVO.java | 0 .../employee/manager/EmployeeManager.java | 0 .../service/EmployeePermissionService.java | 0 .../employee/service/EmployeeService.java | 0 .../login/controller/LoginController.java | 0 .../login/domain/LoginEmployeeDetail.java | 0 .../module/system/login/domain/LoginForm.java | 0 .../system/login/service/LoginService.java | 0 .../menu/constant/MenuPermsTypeEnum.java | 0 .../system/menu/constant/MenuTypeEnum.java | 0 .../menu/controller/MenuController.java | 0 .../admin/module/system/menu/dao/MenuDao.java | 0 .../system/menu/domain/entity/MenuEntity.java | 0 .../system/menu/domain/form/MenuAddForm.java | 0 .../system/menu/domain/form/MenuBaseForm.java | 0 .../domain/form/MenuPointsOperateForm.java | 0 .../menu/domain/form/MenuUpdateForm.java | 0 .../menu/domain/vo/MenuSimpleTreeVO.java | 0 .../system/menu/domain/vo/MenuTreeVO.java | 0 .../module/system/menu/domain/vo/MenuVO.java | 0 .../system/menu/manager/MenuManager.java | 0 .../system/menu/service/MenuService.java | 0 .../role/controller/RoleController.java | 0 .../controller/RoleDataScopeController.java | 0 .../controller/RoleEmployeeController.java | 0 .../role/controller/RoleMenuController.java | 0 .../admin/module/system/role/dao/RoleDao.java | 0 .../system/role/dao/RoleDataScopeDao.java | 0 .../system/role/dao/RoleEmployeeDao.java | 0 .../module/system/role/dao/RoleMenuDao.java | 0 .../domain/entity/RoleDataScopeEntity.java | 0 .../domain/entity/RoleEmployeeEntity.java | 0 .../system/role/domain/entity/RoleEntity.java | 0 .../role/domain/entity/RoleMenuEntity.java | 0 .../system/role/domain/form/RoleAddForm.java | 0 .../domain/form/RoleDataScopeUpdateForm.java | 0 .../domain/form/RoleEmployeeQueryForm.java | 0 .../domain/form/RoleEmployeeUpdateForm.java | 0 .../role/domain/form/RoleMenuUpdateForm.java | 0 .../role/domain/form/RoleQueryForm.java | 0 .../role/domain/form/RoleUpdateForm.java | 0 .../role/domain/vo/RoleDataScopeVO.java | 0 .../system/role/domain/vo/RoleEmployeeVO.java | 0 .../system/role/domain/vo/RoleMenuTreeVO.java | 0 .../system/role/domain/vo/RoleSelectedVO.java | 0 .../module/system/role/domain/vo/RoleVO.java | 0 .../role/manager/RoleDataScopeManager.java | 0 .../role/manager/RoleEmployeeManager.java | 0 .../system/role/manager/RoleMenuManager.java | 0 .../role/service/RoleDataScopeService.java | 0 .../role/service/RoleEmployeeService.java | 0 .../system/role/service/RoleMenuService.java | 0 .../system/role/service/RoleService.java | 0 .../system/support/AdminCacheController.java | 0 .../support/AdminChangeLogController.java | 0 .../system/support/AdminConfigController.java | 0 .../system/support/AdminDictController.java | 6 +- .../system/support/AdminFileController.java | 14 +- .../support/AdminHeartBeatController.java | 0 .../support/AdminHelpDocController.java | 0 .../support/AdminLoginLogController.java | 0 .../support/AdminOperateLogController.java | 0 .../system/support/AdminReloadController.java | 0 .../support/AdminSerialNumberController.java | 0 .../src/main/resources/dev/application.yaml | 0 .../src/main/resources/dev/log4j2.xml | 0 .../src/main/resources/dev/spy.properties | 0 .../business/category/CategoryMapper.xml | 0 .../mapper/business/goods/GoodsMapper.xml | 0 .../mapper/business/notice/NoticeMapper.xml | 0 .../mapper/business/oa/bank/BankMapper.xml | 0 .../enterprise/EnterpriseEmployeeMapper.xml | 0 .../oa/enterprise/EnterpriseMapper.xml | 0 .../business/oa/invoice/InvoiceMapper.xml | 0 .../mapper/business/oa/notice/NoticeDao.xml | 0 .../system/department/DepartmentMapper.xml | 0 .../mapper/system/employee/EmployeeMapper.xml | 0 .../mapper/system/menu/MenuMapper.xml | 0 .../system/role/RoleDataScopeMapper.xml | 0 .../mapper/system/role/RoleEmployeeMapper.xml | 0 .../mapper/system/role/RoleMapper.xml | 0 .../mapper/system/role/RoleMenuMapper.xml | 0 .../src/main/resources/pre/application.yaml | 0 .../src/main/resources/pre/log4j2.xml | 0 .../src/main/resources/prod/application.yaml | 4 +- .../src/main/resources/prod/log4j2.xml | 0 .../src/main/resources/test/application.yaml | 0 .../src/main/resources/test/log4j2.xml | 0 .../src/main/resources/test}/spy.properties | 0 .../sa/admin/SmartAdminApplicationTest.java | 0 .../smart-admin-api}/sa-common/pom.xml | 2 +- .../common/common/annoation/NoNeedLogin.java | 0 .../sa/common/common/annoation/SaAuth.java | 0 .../sa/common/common/code/ErrorCode.java | 0 .../common/code/ErrorCodeRangeContainer.java | 0 .../common/common/code/ErrorCodeRegister.java | 0 .../common/common/code/SystemErrorCode.java | 0 .../common/code/UnexpectedErrorCode.java | 0 .../sa/common/common/code/UserErrorCode.java | 0 .../common/constant/RequestHeaderConst.java | 0 .../common/common/constant/StringConst.java | 0 .../controller/SupportBaseController.java | 0 .../common/common/domain/DataScopePlugin.java | 0 .../sa/common/common/domain/PageParam.java | 0 .../sa/common/common/domain/PageResult.java | 0 .../sa/common/common/domain/RequestUrlVO.java | 0 .../sa/common/common/domain/RequestUser.java | 0 .../sa/common/common/domain/ResponseDTO.java | 0 .../common/domain/SystemEnvironment.java | 0 .../sa/common/common/domain/ValidateData.java | 0 .../sa/common/common/domain/ValidateList.java | 0 .../common/common/enumeration/BaseEnum.java | 0 .../common/common/enumeration/GenderEnum.java | 0 .../enumeration/SystemEnvironmentEnum.java | 0 .../common/enumeration/UserTypeEnum.java | 0 .../sa/common/common/excel/ExcelStyle.java | 0 .../common/exception/BusinessException.java | 0 .../interceptor/AbstractInterceptor.java | 0 .../deserializer/DictValueVoDeserializer.java | 0 .../deserializer/FileKeyVoDeserializer.java | 0 .../deserializer/LongJsonDeserializer.java | 0 .../BigDecimalNullZeroSerializer.java | 0 .../serializer/DictValueVoSerializer.java | 0 .../json/serializer/FileKeySerializer.java | 0 .../json/serializer/FileKeyVoSerializer.java | 0 .../json/serializer/LongJsonSerializer.java | 0 .../security/AbstractSecurityConfig.java | 4 +- .../SecurityAuthenticationFailHandler.java | 0 .../common/security/SecurityMethodSource.java | 0 .../SecurityPermissionCheckService.java | 0 .../common/security/SecurityTokenFilter.java | 0 .../common/swagger/ApiModelPropertyEnum.java | 0 .../swagger/Swagger2MapperImplExtension.java | 0 .../SwaggerApiModelPropertyEnumPlugin.java | 0 .../sa/common/common/util/SmartBeanUtil.java | 0 .../common/util/SmartBigDecimalUtil.java | 0 .../common/util/SmartEasyPoiExcelUtil.java | 0 .../sa/common/common/util/SmartEnumUtil.java | 0 .../sa/common/common/util/SmartPageUtil.java | 0 .../common/common/util/SmartRequestUtil.java | 0 .../common/common/util/SmartStringUtil.java | 0 .../common/util/SmartVerificationUtil.java | 0 .../validator/enumeration/CheckEnum.java | 0 .../validator/enumeration/EnumValidator.java | 0 .../lab1024/sa/common/config/AsyncConfig.java | 0 .../sa/common/config/CorsFilterConfig.java | 0 .../sa/common/config/DataSourceConfig.java | 28 +- .../lab1024/sa/common/config/DateConfig.java | 0 .../sa/common/config/FileCloudConfig.java | 0 .../sa/common/config/HeartBeatConfig.java | 0 .../lab1024/sa/common/config/MvcConfig.java | 0 .../sa/common/config/MybatisPlusConfig.java | 0 .../sa/common/config/PostProcessorConfig.java | 0 .../lab1024/sa/common/config/RedisConfig.java | 0 .../sa/common/config/ReloadConfig.java | 0 .../sa/common/config/RepeatSubmitConfig.java | 0 .../sa/common/config/RestTemplateConfig.java | 0 .../sa/common/config/ScheduleConfig.java | 0 .../sa/common/config/SwaggerConfig.java | 0 .../config/SystemEnvironmentConfig.java | 0 .../lab1024/sa/common/config/UrlConfig.java | 3 + .../sa/common/constant/CacheKeyConst.java | 0 .../sa/common/constant/RedisKeyConst.java | 0 .../sa/common/constant/ReloadConst.java | 0 .../sa/common/constant/SwaggerTagConst.java | 0 .../sa/common/constant/UrlPrefixConst.java | 0 .../handler/GlobalExceptionHandler.java | 0 .../listener/SmartApplicationListener.java | 0 .../module/support/cache/CacheService.java | 0 .../support/captcha/CaptchaController.java | 0 .../support/captcha/CaptchaService.java | 0 .../support/captcha/config/CaptchaColor.java | 0 .../support/captcha/config/CaptchaConfig.java | 0 .../support/captcha/config/CaptchaNoise.java | 0 .../captcha/config/CaptchaWordRenderer.java | 0 .../support/captcha/domain/CaptchaForm.java | 0 .../support/captcha/domain/CaptchaVO.java | 0 .../changelog/constant/ChangeLogTypeEnum.java | 0 .../controller/ChangeLogController.java | 0 .../support/changelog/dao/ChangeLogDao.java | 0 .../domain/entity/ChangeLogEntity.java | 0 .../domain/form/ChangeLogAddForm.java | 0 .../domain/form/ChangeLogQueryForm.java | 0 .../domain/form/ChangeLogUpdateForm.java | 0 .../changelog/domain/vo/ChangeLogVO.java | 0 .../changelog/manager/ChangeLogManager.java | 0 .../changelog/service/ChangeLogService.java | 0 .../constant/CodeDeleteEnum.java | 0 .../constant/CodeFrontComponentEnum.java | 0 .../constant/CodeGeneratorConstant.java | 0 .../constant/CodeGeneratorPageTypeEnum.java | 0 .../constant/CodeQueryFieldQueryTypeEnum.java | 0 .../controller/CodeGeneratorController.java | 0 .../dao/CodeGeneratorConfigDao.java | 0 .../codegenerator/dao/CodeGeneratorDao.java | 0 .../entity/CodeGeneratorConfigEntity.java | 0 .../domain/form/CodeGeneratorConfigForm.java | 0 .../domain/form/CodeGeneratorPreviewForm.java | 0 .../domain/form/TableQueryForm.java | 0 .../codegenerator/domain/model/CodeBasic.java | 0 .../domain/model/CodeDelete.java | 0 .../codegenerator/domain/model/CodeField.java | 0 .../domain/model/CodeInsertAndUpdate.java | 0 .../model/CodeInsertAndUpdateField.java | 0 .../domain/model/CodeQueryField.java | 0 .../domain/model/CodeTableField.java | 0 .../domain/vo/TableColumnVO.java | 0 .../domain/vo/TableConfigVO.java | 0 .../codegenerator/domain/vo/TableVO.java | 0 .../service/CodeGeneratorService.java | 0 .../service/CodeGeneratorTemplateService.java | 0 .../CodeGenerateBaseVariableService.java | 0 .../backend/ControllerVariableService.java | 0 .../variable/backend/DaoVariableService.java | 0 .../backend/ManagerVariableService.java | 0 .../backend/ServiceVariableService.java | 0 .../domain/AddFormVariableService.java | 0 .../domain/DeleteFormVariableService.java | 0 .../backend/domain/EntityVariableService.java | 0 .../backend/domain/MapperVariableService.java | 0 .../domain/QueryFormVariableService.java | 0 .../domain/UpdateFormVariableService.java | 0 .../backend/domain/VOVariableService.java | 0 .../variable/front/ApiVariableService.java | 0 .../variable/front/ConstVariableService.java | 0 .../variable/front/FormVariableService.java | 0 .../variable/front/ListVariableService.java | 0 .../codegenerator/util/CodeGeneratorTool.java | 0 .../support/config/ConfigController.java | 0 .../module/support/config/ConfigDao.java | 0 .../module/support/config/ConfigKeyEnum.java | 0 .../module/support/config/ConfigService.java | 0 .../support/config/domain/ConfigAddForm.java | 0 .../support/config/domain/ConfigEntity.java | 0 .../config/domain/ConfigQueryForm.java | 0 .../config/domain/ConfigUpdateForm.java | 0 .../support/config/domain/ConfigVO.java | 0 .../annoation/DataTracerFieldBigDecimal.java | 0 .../annoation/DataTracerFieldDict.java | 0 .../annoation/DataTracerFieldEnum.java | 0 .../annoation/DataTracerFieldLabel.java | 0 .../annoation/DataTracerFieldSql.java | 0 .../datatracer/constant/DataTracerConst.java | 0 .../constant/DataTracerTypeEnum.java | 0 .../controller/DataTracerController.java | 0 .../support/datatracer/dao/DataTracerDao.java | 0 .../domain/bo/DataTracerContentBO.java | 0 .../domain/entity/DataTracerEntity.java | 0 .../domain/form/DataTracerForm.java | 0 .../domain/form/DataTracerQueryForm.java | 0 .../datatracer/domain/vo/DataTracerVO.java | 0 .../datatracer/manager/DataTracerManger.java | 0 .../DataTracerChangeContentService.java | 0 .../datatracer/service/DataTracerService.java | 0 .../dict/controller/DictController.java | 0 .../module/support/dict/dao/DictKeyDao.java | 0 .../module/support/dict/dao/DictValueDao.java | 0 .../dict/domain/entity/DictKeyEntity.java | 0 .../dict/domain/entity/DictValueEntity.java | 0 .../dict/domain/form/DictKeyAddForm.java | 0 .../dict/domain/form/DictKeyQueryForm.java | 0 .../dict/domain/form/DictKeyUpdateForm.java | 0 .../dict/domain/form/DictValueAddForm.java | 0 .../dict/domain/form/DictValueQueryForm.java | 0 .../dict/domain/form/DictValueUpdateForm.java | 0 .../support/dict/domain/vo/DictKeyVO.java | 0 .../support/dict/domain/vo/DictValueVO.java | 0 .../dict/service/DictCacheService.java | 0 .../support/dict/service/DictService.java | 0 .../controller/FeedbackController.java | 0 .../support/feedback/dao/FeedbackDao.java | 0 .../feedback/domain/FeedbackAddForm.java | 0 .../feedback/domain/FeedbackEntity.java | 0 .../feedback/domain/FeedbackQueryForm.java | 0 .../support/feedback/domain/FeedbackVO.java | 0 .../feedback/service/FeedbackService.java | 0 .../file/constant/FileFolderTypeEnum.java | 0 .../file/controller/FileController.java | 0 .../module/support/file/dao/FileDao.java | 0 .../file/domain/entity/FileEntity.java | 0 .../file/domain/form/FileQueryForm.java | 0 .../file/domain/form/FileUrlUploadForm.java | 0 .../file/domain/vo/FileDownloadVO.java | 0 .../file/domain/vo/FileMetadataVO.java | 0 .../support/file/domain/vo/FileUploadVO.java | 0 .../module/support/file/domain/vo/FileVO.java | 0 .../support/file/service/FileService.java | 0 .../service/FileStorageCloudServiceImpl.java | 0 .../service/FileStorageLocalServiceImpl.java | 0 .../file/service/IFileStorageService.java | 0 .../support/heartbeat/HeartBeatRecordDao.java | 0 .../heartbeat/HeartBeatRecordHandler.java | 0 .../support/heartbeat/HeartBeatService.java | 0 .../heartbeat/core/HeartBeatManager.java | 0 .../heartbeat/core/HeartBeatRecord.java | 0 .../heartbeat/core/HeartBeatRunnable.java | 0 .../core/IHeartBeatRecordHandler.java | 0 .../domain/HeartBeatRecordEntity.java | 0 .../domain/HeartBeatRecordQueryForm.java | 0 .../heartbeat/domain/HeartBeatRecordVO.java | 0 .../helpdoc/controller/HelpDocController.java | 0 .../helpdoc/dao/HelpDocCatalogDao.java | 0 .../support/helpdoc/dao/HelpDocDao.java | 0 .../domain/entity/HelpDocCatalogEntity.java | 0 .../helpdoc/domain/entity/HelpDocEntity.java | 0 .../helpdoc/domain/form/HelpDocAddForm.java | 0 .../domain/form/HelpDocCatalogAddForm.java | 0 .../domain/form/HelpDocCatalogUpdateForm.java | 0 .../helpdoc/domain/form/HelpDocQueryForm.java | 0 .../domain/form/HelpDocRelationForm.java | 0 .../domain/form/HelpDocUpdateForm.java | 0 .../form/HelpDocViewRecordQueryForm.java | 0 .../helpdoc/domain/vo/HelpDocCatalogVO.java | 0 .../helpdoc/domain/vo/HelpDocDetailVO.java | 0 .../helpdoc/domain/vo/HelpDocRecordVO.java | 0 .../helpdoc/domain/vo/HelpDocRelationVO.java | 0 .../support/helpdoc/domain/vo/HelpDocVO.java | 0 .../domain/vo/HelpDocViewRecordVO.java | 0 .../helpdoc/manager/HelpDocManager.java | 0 .../service/HelpDocCatalogService.java | 0 .../helpdoc/service/HelpDocService.java | 0 .../helpdoc/service/HelpDocUserService.java | 0 .../module/support/jwe/DecryptData.java | 0 .../common/module/support/jwe/JweAspect.java | 0 .../common/module/support/jwe/JweDecrypt.java | 0 .../common/module/support/jwe/JweEncrypt.java | 0 .../common/module/support/jwe/JweUserKey.java | 0 .../module/support/loginlog/LoginLogDao.java | 0 .../support/loginlog/LoginLogResultEnum.java | 0 .../support/loginlog/LoginLogService.java | 0 .../loginlog/domain/LoginLogEntity.java | 0 .../loginlog/domain/LoginLogQueryForm.java | 0 .../support/loginlog/domain/LoginLogVO.java | 0 .../support/operatelog/OperateLogDao.java | 0 .../support/operatelog/OperateLogService.java | 0 .../operatelog/annoation/OperateLog.java | 0 .../operatelog/core/OperateLogAspect.java | 0 .../operatelog/core/OperateLogConfig.java | 0 .../operatelog/domain/OperateLogEntity.java | 0 .../domain/OperateLogQueryForm.java | 0 .../operatelog/domain/OperateLogVO.java | 0 .../module/support/redis/RedisService.java | 0 .../module/support/reload/ReloadCommand.java | 0 .../module/support/reload/ReloadService.java | 0 .../core/AbstractSmartReloadCommand.java | 0 .../reload/core/SmartReloadManager.java | 0 .../reload/core/annoation/SmartReload.java | 0 .../reload/core/domain/SmartReloadItem.java | 0 .../reload/core/domain/SmartReloadObject.java | 0 .../reload/core/domain/SmartReloadResult.java | 0 .../core/thread/SmartReloadRunnable.java | 0 .../support/reload/dao/ReloadItemDao.java | 0 .../support/reload/dao/ReloadResultDao.java | 0 .../support/reload/domain/ReloadForm.java | 0 .../reload/domain/ReloadItemEntity.java | 0 .../support/reload/domain/ReloadItemVO.java | 0 .../reload/domain/ReloadResultEntity.java | 0 .../support/reload/domain/ReloadResultVO.java | 0 .../repeatsubmit/RepeatSubmitAspect.java | 0 .../repeatsubmit/annoation/RepeatSubmit.java | 0 .../ticket/AbstractRepeatSubmitTicket.java | 0 .../ticket/RepeatSubmitCaffeineTicket.java | 0 .../ticket/RepeatSubmitRedisTicket.java | 0 .../constant/SerialNumberIdEnum.java | 0 .../constant/SerialNumberRuleTypeEnum.java | 0 .../serialnumber/dao/SerialNumberDao.java | 0 .../dao/SerialNumberRecordDao.java | 0 .../domain/SerialNumberEntity.java | 0 .../domain/SerialNumberGenerateForm.java | 0 .../domain/SerialNumberGenerateResultBO.java | 0 .../domain/SerialNumberInfoBO.java | 0 .../domain/SerialNumberLastGenerateBO.java | 0 .../domain/SerialNumberRecordEntity.java | 0 .../domain/SerialNumberRecordQueryForm.java | 0 .../service/SerialNumberBaseService.java | 0 .../service/SerialNumberRecordService.java | 0 .../service/SerialNumberService.java | 0 .../impl/SerialNumberInternService.java | 0 .../impl/SerialNumberMysqlService.java | 0 .../impl/SerialNumberRedisService.java | 0 .../support/table/TableColumnController.java | 0 .../module/support/table/TableColumnDao.java | 0 .../support/table/TableColumnService.java | 0 .../table/domain/TableColumnEntity.java | 0 .../table/domain/TableColumnItemForm.java | 0 .../table/domain/TableColumnUpdateForm.java | 0 .../common/module/support/token/JwtConst.java | 0 .../module/support/token/LoginDeviceEnum.java | 0 .../module/support/token/TokenService.java | 0 .../main/resources/META-INF/spring.factories | 0 .../sa-common/src/main/resources/banner.txt | 0 .../java/constant/enum.java.vm | 0 .../java/controller/Controller.java.vm | 0 .../java/dao/Dao.java.vm | 0 .../java/domain/entity/Entity.java.vm | 0 .../java/domain/form/AddForm.java.vm | 0 .../java/domain/form/QueryForm.java.vm | 0 .../java/domain/form/UpdateForm.java.vm | 0 .../java/domain/vo/VO.java.vm | 0 .../java/manager/Manager.java.vm | 0 .../java/mapper/Mapper.xml.vm | 0 .../java/service/Service.java.vm | 0 .../code-generator-template/js/api.js.vm | 0 .../code-generator-template/js/const.js.vm | 0 .../code-generator-template/js/form.vue.vm | 0 .../code-generator-template/js/list.vue.vm | 0 .../code-generator-template/tools.xml | 0 .../src/main/resources/dev/sa-common.yaml | 9 +- .../mapper/support/ChangeLogMapper.xml | 0 .../mapper/support/CodeGeneratorMapper.xml | 0 .../resources/mapper/support/ConfigMapper.xml | 0 .../mapper/support/DataTracerMapper.xml | 0 .../mapper/support/DictKeyMapper.xml | 0 .../mapper/support/DictValueMapper.xml | 0 .../mapper/support/FeedbackMapper.xml | 0 .../resources/mapper/support/FileMapper.xml | 0 .../mapper/support/HeartBeatRecordMapper.xml | 0 .../resources/mapper/support/HelpDocDao.xml | 0 .../mapper/support/LoginLogMapper.xml | 0 .../mapper/support/OperateLogMapper.xml | 0 .../mapper/support/ReloadItemMapper.xml | 0 .../mapper/support/ReloadResultMapper.xml | 0 .../mapper/support/SerialNumberMapper.xml | 0 .../support/SerialNumberRecordMapper.xml | 0 .../mapper/support/TableColumnMapper.xml | 0 .../src/main/resources/pre/sa-common.yaml | 5 + .../src/main/resources/prod/sa-common.yaml | 5 + .../src/main/resources/test/sa-common.yaml | 5 + .../javascript-ant-design-vue3/.env | 0 .../.env.development | 0 .../javascript-ant-design-vue3/.env.localhost | 0 .../javascript-ant-design-vue3}/.env.pre | 2 +- .../.env.production | 8 + .../javascript-ant-design-vue3/.env.test | 0 .../javascript-ant-design-vue3/.eslintignore | 0 .../javascript-ant-design-vue3/.eslintrc.js | 0 .../javascript-ant-design-vue3/.gitignore | 0 .../javascript-ant-design-vue3/.prettierrc.js | 0 .../.stylelintignore | 0 .../.stylelintrc.js | 0 .../javascript-ant-design-vue3/README.en.md | 0 .../javascript-ant-design-vue3/README.md | 0 .../javascript-ant-design-vue3/index.html | 0 .../javascript-ant-design-vue3/jsconfig.json | 0 .../package-lock.json | 10197 +++++ .../javascript-ant-design-vue3/package.json | 10 +- .../postcss.config.js | 0 .../public/favicon.ico | Bin 0 -> 16958 bytes .../javascript-ant-design-vue3/src/App.vue | 0 .../src/api/business/category/category-api.js | 0 .../src/api/business/goods/goods-api.js | 0 .../src/api/business/oa/bank-api.js | 0 .../src/api/business/oa/enterprise-api.js | 0 .../src/api/business/oa/invoice-api.js | 0 .../src/api/business/oa/notice-api.js | 0 .../src/api/support/cache/cache-api.js | 0 .../api/support/change-log/change-log-api.js | 0 .../code-generator/code-generator-api.js | 0 .../src/api/support/config/config-api.js | 0 .../support/data-tracer/data-tracer-api.js | 0 .../src/api/support/dict/dict-api.js | 0 .../src/api/support/feedback/feedback-api.js | 0 .../src/api/support/file/file-api.js | 0 .../api/support/heart-beat/heart-beat-api.js | 0 .../src/api/support/help-doc/help-doc-api.js | 0 .../support/help-doc/help-doc-catalog-api.js | 0 .../api/support/login-log/login-log-api.js | 0 .../support/operate-log/operate-log-api.js | 0 .../src/api/support/reload/reload-api.js | 0 .../serial-number/serial-number-api.js | 0 .../src/api/support/table/table-column-api.js | 0 .../api/system/department/department-api.js | 0 .../src/api/system/employee/employee-api.js | 0 .../src/api/system/home/home-api.js | 0 .../src/api/system/login/login-api.js | 0 .../src/api/system/menu/menu-api.js | 0 .../src/api/system/role-menu/role-menu-api.js | 0 .../src/api/system/role/role-api.js | 0 .../src/assets/images/1024lab/1024lab-gzh.jpg | Bin .../assets/images/1024lab/xiaozhen-gzh.jpg | Bin .../assets/images/1024lab/zhuoda-wechat.jpg | Bin .../src/assets/images/login/ali-icon.png | Bin .../src/assets/images/login/google-icon.png | Bin .../src/assets/images/login/login-bg.jpg | Bin 0 -> 403238 bytes .../login/login-form-open-eyes-close.png | Bin .../images/login/login-form-open-eyes.png | Bin .../src/assets/images/login/login-qr.png | Bin .../src/assets/images/login/qq-icon.png | Bin .../src/assets/images/login/wechat-icon.png | Bin .../src/assets/images/login/weibo-icon.png | Bin .../src/assets/images/logo/logo-min.png | Bin .../src/assets/images/logo/logo.png | Bin .../images/logo/smart-admin-logo-white.png | Bin .../assets/images/logo/smart-admin-logo.png | Bin .../src/assets/images/notice/edit_icon.png | Bin .../src/assets/images/notice/file_icon.png | Bin .../business/category-tree-select/index.vue | 0 .../oa/enterprise-bank-select/index.vue | 0 .../oa/enterprise-invoice-select/index.vue | 0 .../business/oa/enterprise-select/index.vue | 0 .../framework/area-cascader/index.vue | 0 .../area-cascader/province-city-district.js | 0 .../framework/area-cascader/province-city.js | 0 .../framework/boolean-select/index.vue | 0 .../framework/icon-select/index.vue | 0 .../framework/iframe/iframe-index.vue | 0 .../iframe/route-default-component.vue | 0 .../framework/smart-enum-checkbox/index.vue | 0 .../framework/smart-enum-radio/index.vue | 0 .../framework/smart-enum-select/index.vue | 0 .../framework/smart-loading/index.js | 0 .../components/framework/wangeditor/index.vue | 0 .../components/support/data-tracer/index.vue | 0 .../support/dict-key-select/index.vue | 0 .../components/support/dict-select/index.vue | 0 .../support/file-preview-modal/index.vue | 0 .../components/support/file-preview/index.vue | 0 .../components/support/file-upload/index.vue | 0 .../support/table-operator/index.vue | 0 .../smart-table-column-merge.js | 0 .../smart-table-column-modal.vue | 0 .../system/department-tree-select/index.vue | 0 .../system/employee-select/index.vue | 0 .../employee-table-select-modal/index.vue | 0 .../system/menu-tree-select/index.vue | 0 .../src/config/app-config.js | 0 .../constants/business/erp/category-const.js | 0 .../src/constants/business/erp/goods-const.js | 0 .../constants/business/oa/enterprise-const.js | 0 .../src/constants/business/oa/notice-const.js | 0 .../src/constants/common-const.js | 0 .../src/constants/index.js | 0 .../src/constants/layout-const.js | 0 .../src/constants/local-storage-key-const.js | 0 .../src/constants/regular-const.js | 0 .../src/constants/support/change-log-const.js | 0 .../constants/support/code-generator-const.js | 0 .../constants/support/data-tracer-const.js | 0 .../src/constants/support/file-const.js | 0 .../src/constants/support/login-log-const.js | 0 .../src/constants/support/table-id-const.js | 0 .../src/constants/system/employee-const.js | 0 .../src/constants/system/home-const.js | 0 .../constants/system/login-device-const.js | 0 .../src/constants/system/menu-const.js | 0 .../src/directives/privilege.js | 0 .../src/i18n/index.js | 0 .../src/i18n/lang/en-US/index.js | 0 .../src/i18n/lang/zh-CN/index.js | 0 .../header-user-space/header-avatar.vue | 0 .../header-user-space/header-message.vue | 0 .../header-reset-password-modal/index.vue | 0 .../header-user-space/header-setting.vue | 0 .../components/header-user-space/index.vue | 0 .../menu-location-breadcrumb/index.vue | 0 .../src/layout/components/page-tag/index.vue | 0 .../components/side-expand-menu/index.vue | 0 .../side-expand-menu/recursion-menu.vue | 0 .../components/side-expand-menu/sub-menu.vue | 0 .../components/side-expand-menu/top-menu.vue | 0 .../components/contact-modal.vue | 0 .../components/feedback-modal.vue | 0 .../layout/components/side-help-doc/index.vue | 0 .../src/layout/components/side-menu/index.vue | 0 .../components/side-menu/recursion-menu.vue | 0 .../layout/components/side-menu/sub-menu.vue | 0 .../layout/components/smart-footer/index.vue | 2 +- .../src/layout/smart-help-doc-layout.vue | 0 .../src/layout/smart-keep-alive.js | 0 .../src/layout/smart-layout.vue | 0 .../src/layout/smart-side-expand-layout.vue | 0 .../src/layout/smart-side-layout.vue | 0 .../src/lib/axios.js | 0 .../src/lib/default-time-ranges.js | 0 .../src/lib/highlight-line-number.js | 0 .../src/lib/smart-sentry.js | 0 .../src/lib/smart-wartermark.js | 0 .../javascript-ant-design-vue3/src/main.js | 1 + .../src/plugins/privilege-plugin.js | 0 .../src/plugins/smart-enums-plugin.js | 0 .../src/router/index.js | 0 .../src/router/routers.js | 0 .../src/router/support/help-doc.js | 0 .../src/router/system/home.js | 0 .../src/router/system/login.js | 0 .../src/store/index.js | 0 .../src/store/modules/system/app-config.js | 0 .../src/store/modules/system/role.js | 0 .../src/store/modules/system/spin.js | 0 .../src/store/modules/system/user.js | 0 .../src/theme/index.less | 2 - .../src/theme/smart-admin.less | 0 .../src/utils/cookie-util.js | 0 .../src/utils/local-util.js | 0 .../src/utils/str-util.js | 0 .../components/category-form-modal.vue | 0 .../components/category-tree-table.vue | 0 .../business/erp/catalog/custom-catalog.vue | 0 .../business/erp/catalog/goods-catalog.vue | 0 .../erp/goods/components/goods-form-modal.vue | 11 +- .../views/business/erp/goods/goods-list.vue | 0 .../components/enterprise-bank-list.vue | 0 .../enterprise-bank-operate-modal.vue | 0 .../components/enterprise-employee-list.vue | 0 .../components/enterprise-invoice-list.vue | 0 .../enterprise-invoice-operate-modal.vue | 0 .../components/enterprise-operate-modal.vue | 0 .../oa/enterprise/enterprise-detail.vue | 0 .../oa/enterprise/enterprise-list.vue | 0 .../notice/components/notice-form-drawer.vue | 0 .../components/notice-form-visible-modal.vue | 0 ...otice-form-visible-transfer-department.vue | 0 .../notice-form-visible-transfer-employee.vue | 0 .../components/notice-view-record-list.vue | 0 .../business/oa/notice/notice-detail.vue | 0 .../oa/notice/notice-employee-detail.vue | 0 .../oa/notice/notice-employee-list.vue | 0 .../views/business/oa/notice/notice-list.vue | 0 .../src/views/support/cache/cache-list.vue | 0 .../support/change-log/change-log-form.vue | 0 .../support/change-log/change-log-list.vue | 0 .../support/change-log/change-log-modal.vue | 0 .../code-generator/code-generator-list.vue | 0 .../code-generator/code-generator-util.js | 0 ...code-generator-table-config-form-basic.vue | 0 ...ode-generator-table-config-form-delete.vue | 0 ...code-generator-table-config-form-field.vue | 0 ...or-table-config-form-insert-and-update.vue | 0 ...enerator-table-config-form-query-field.vue | 0 ...enerator-table-config-form-table-field.vue | 0 .../form/code-generator-table-config-form.vue | 0 .../preview/code-generator-preview-modal.vue | 0 .../support/config/config-form-modal.vue | 0 .../src/views/support/config/config-list.vue | 0 .../components/dict-key-operate-modal.vue | 0 .../dict/components/dict-value-modal.vue | 0 .../components/dict-value-operate-modal.vue | 0 .../src/views/support/dict/index.vue | 0 .../views/support/feedback/feedback-list.vue | 0 .../src/views/support/file/file-list.vue | 0 .../support/heart-beat/heart-beat-list.vue | 0 .../help-doc-catalog-form-modal.vue | 0 .../help-doc-catalog-tree-select.vue | 0 .../components/help-doc-catalog-tree.vue | 0 .../components/help-doc-form-drawer.vue | 0 .../management/components/help-doc-list.vue | 0 .../management/help-doc-manage-list.vue | 0 .../help-doc/management/help-doc-mitt.js | 0 .../components/help-doc-view-record-list.vue | 0 .../help-doc/user-view/help-doc-user-view.vue | 0 .../support/login-log/login-log-list.vue | 0 .../operate-log/operate-log-detail-modal.vue | 0 .../support/operate-log/operate-log-list.vue | 0 .../support/reload/do-reload-form-modal.vue | 0 .../src/views/support/reload/reload-list.vue | 0 .../support/reload/reload-result-list.vue | 0 .../serial-number-generate-form-modal.vue | 0 .../serial-number/serial-number-list.vue | 0 .../serial-number-record-list.vue | 0 .../src/views/system/40X/403.vue | 0 .../src/views/system/40X/404.vue | 0 .../components/department-children/index.vue | 0 .../department-form-modal/index.vue | 0 .../components/department-tree/index.vue | 0 .../employee-department-form-modal/index.vue | 0 .../components/employee-form-modal/index.vue | 0 .../components/employee-list/index.vue | 0 .../employee-password-dialog/index.vue | 0 .../employee/department/department-mitt.ts | 0 .../system/employee/department/index.vue | 0 .../role/components/role-data-scope/index.vue | 0 .../components/role-employee-list/index.vue | 0 .../role/components/role-form-modal/index.vue | 0 .../role/components/role-list/index.vue | 0 .../role/components/role-setting/index.vue | 0 .../role/components/role-tree/index.less | 0 .../role/components/role-tree/index.vue | 0 .../role-tree/role-tree-checkbox.vue | 0 .../components/role-tree/role-tree-menu.vue | 0 .../components/role-tree/role-tree-point.vue | 0 .../src/views/system/employee/role/index.vue | 0 .../system/home/components/changelog-card.vue | 0 .../home/components/default-home-card.vue | 0 .../home/components/echarts/category.vue | 0 .../system/home/components/echarts/gauge.vue | 0 .../home/components/echarts/gradient.vue | 0 .../system/home/components/echarts/pie.vue | 0 .../home/components/official-account-card.vue | 0 .../quick-entry/home-quick-entry-modal.vue | 0 .../quick-entry/home-quick-entry.vue | 0 .../quick-entry/init-quick-entry-list.js | 0 .../home/components/to-be-done-card.vue | 0 .../src/views/system/home/home-header.vue | 2 +- .../src/views/system/home/home-notice.vue | 0 .../src/views/system/home/index.less | 0 .../src/views/system/home/index.vue | 14 +- .../src/views/system/login/login.less | 3 +- .../src/views/system/login/login.vue | 7 +- .../menu/components/menu-operate-modal.vue | 0 .../menu/components/menu-tree-select.vue | 0 .../views/system/menu/menu-data-handler.js | 0 .../system/menu/menu-list-table-columns.js | 0 .../src/views/system/menu/menu-list.vue | 0 .../javascript-ant-design-vue3/vite.config.js | 32 +- .../typescript-ant-design-vue3/.env | 0 .../.env.development | 0 .../typescript-ant-design-vue3/.env.localhost | 0 .../typescript-ant-design-vue3}/.env.pre | 0 .../.env.production | 0 .../typescript-ant-design-vue3/.env.test | 0 .../typescript-ant-design-vue3/.eslintignore | 0 .../typescript-ant-design-vue3/.eslintrc.js | 0 .../typescript-ant-design-vue3/.gitignore | 0 .../typescript-ant-design-vue3/.prettierrc.js | 0 .../.stylelintignore | 0 .../.stylelintrc.js | 0 .../typescript-ant-design-vue3/README.md | 0 .../typescript-ant-design-vue3/index.html | 0 .../package-lock.json | 0 .../typescript-ant-design-vue3/package.json | 0 .../public/favicon.ico | Bin 0 -> 16958 bytes .../typescript-ant-design-vue3/src/App.vue | 0 .../src/api/base-model/page-param-model.ts | 0 .../src/api/base-model/page-result-model.ts | 0 .../src/api/base-model/response-model.ts | 0 .../src/api/base-model/sort-item-model.ts | 0 .../src/api/business/category/category-api.js | 0 .../src/api/business/goods/goods-api.js | 0 .../src/api/business/oa/bank-api.js | 0 .../src/api/business/oa/enterprise-api.js | 0 .../src/api/business/oa/invoice-api.js | 0 .../src/api/business/oa/notice-api.js | 0 .../src/api/support/cache/cache-api.js | 0 .../api/support/change-log/change-log-api.js | 0 .../code-generator/code-generator-api.js | 0 .../src/api/support/config/config-api.js | 0 .../support/data-tracer/data-tracer-api.js | 0 .../src/api/support/dict/dict-api.js | 0 .../src/api/support/feedback/feedback-api.js | 0 .../src/api/support/file/file-api.js | 0 .../api/support/heart-beat/heart-beat-api.js | 0 .../src/api/support/help-doc/help-doc-api.js | 0 .../support/help-doc/help-doc-catalog-api.js | 0 .../api/support/login-log/login-log-api.js | 0 .../support/operate-log/operate-log-api.js | 0 .../src/api/support/reload/reload-api.js | 0 .../serial-number/serial-number-api.js | 0 .../src/api/support/table/table-column-api.js | 0 .../api/system/department/department-api.js | 0 .../src/api/system/employee/employee-api.js | 0 .../src/api/system/home/home-api.js | 0 .../src/api/system/login/login-api.js | 0 .../src/api/system/menu/menu-api.js | 0 .../src/api/system/role-menu/role-menu-api.js | 0 .../src/api/system/role/role-api.js | 0 .../src/assets/images/1024lab/1024lab-gzh.jpg | Bin .../assets/images/1024lab/xiaozhen-gzh.jpg | Bin .../assets/images/1024lab/zhuoda-wechat.jpg | Bin .../src/assets/images/login/ali-icon.png | Bin .../src/assets/images/login/google-icon.png | Bin .../src/assets/images/login/login-bg.jpg | Bin .../login/login-form-open-eyes-close.png | Bin .../images/login/login-form-open-eyes.png | Bin .../src/assets/images/login/login-qr.png | Bin .../src/assets/images/login/qq-icon.png | Bin .../src/assets/images/login/wechat-icon.png | Bin .../src/assets/images/login/weibo-icon.png | Bin .../src/assets/images/logo/logo-min.png | Bin 0 -> 2079 bytes .../src/assets/images/logo/logo.png | Bin .../images/logo/smart-admin-logo-white.png | Bin .../assets/images/logo/smart-admin-logo.png | Bin .../src/assets/images/notice/edit_icon.png | Bin .../src/assets/images/notice/file_icon.png | Bin .../business/category-tree-select/index.vue | 0 .../oa/enterprise-bank-select/index.vue | 0 .../oa/enterprise-invoice-select/index.vue | 0 .../business/oa/enterprise-select/index.vue | 0 .../framework/area-cascader/index.vue | 0 .../area-cascader/province-city-district.ts | 0 .../framework/area-cascader/province-city.ts | 0 .../framework/boolean-select/index.vue | 0 .../framework/icon-select/index.vue | 0 .../framework/iframe/iframe-index.vue | 0 .../iframe/route-default-component.vue | 0 .../framework/smart-enum-checkbox/index.vue | 0 .../framework/smart-enum-radio/index.vue | 0 .../framework/smart-enum-select/index.vue | 0 .../framework/smart-loading/index.ts | 0 .../components/framework/wangeditor/index.vue | 0 .../components/support/data-tracer/index.vue | 0 .../support/dict-key-select/index.vue | 0 .../components/support/dict-select/index.vue | 0 .../support/file-preview-modal/index.vue | 0 .../components/support/file-preview/index.vue | 0 .../components/support/file-upload/index.vue | 0 .../support/table-operator/index.vue | 0 .../smart-table-column-merge.ts | 0 .../smart-table-column-modal.vue | 0 .../system/department-tree-select/index.vue | 0 .../system/employee-select/index.vue | 0 .../employee-table-select-modal/index.vue | 0 .../system/menu-tree-select/index.vue | 0 .../src/config/app-config.ts | 0 .../constants/business/erp/category-const.ts | 0 .../src/constants/business/erp/goods-const.ts | 0 .../constants/business/oa/enterprise-const.ts | 0 .../src/constants/business/oa/notice-const.ts | 0 .../src/constants/common-const.ts | 0 .../src/constants/index.ts | 0 .../src/constants/layout-const.ts | 0 .../src/constants/local-storage-key-const.ts | 0 .../src/constants/regular-const.ts | 0 .../src/constants/support/change-log-const.ts | 0 .../constants/support/code-generator-const.ts | 0 .../constants/support/data-tracer-const.ts | 0 .../src/constants/support/file-const.ts | 0 .../src/constants/support/login-log-const.ts | 0 .../src/constants/support/table-id-const.ts | 0 .../src/constants/system/employee-const.ts | 0 .../src/constants/system/home-const.ts | 0 .../constants/system/login-device-const.ts | 0 .../src/constants/system/menu-const.ts | 0 .../src/directives/privilege.ts | 0 .../src/i18n/index.ts | 0 .../src/i18n/lang/en-US/index.ts | 0 .../src/i18n/lang/zh-CN/index.ts | 0 .../header-user-space/header-avatar.vue | 0 .../header-user-space/header-message.vue | 0 .../header-reset-password-modal/index.vue | 0 .../header-user-space/header-setting.vue | 0 .../components/header-user-space/index.vue | 0 .../menu-location-breadcrumb/index.vue | 0 .../src/layout/components/page-tag/index.vue | 0 .../components/side-expand-menu/index.vue | 0 .../side-expand-menu/recursion-menu.vue | 0 .../components/side-expand-menu/sub-menu.vue | 0 .../components/side-expand-menu/top-menu.vue | 0 .../components/contact-modal.vue | 0 .../components/feedback-modal.vue | 0 .../layout/components/side-help-doc/index.vue | 0 .../src/layout/components/side-menu/index.vue | 0 .../components/side-menu/recursion-menu.vue | 0 .../layout/components/side-menu/sub-menu.vue | 0 .../layout/components/smart-footer/index.vue | 0 .../src/layout/smart-help-doc-layout.vue | 0 .../src/layout/smart-keep-alive.ts | 0 .../src/layout/smart-layout.vue | 0 .../src/layout/smart-side-expand-layout.vue | 0 .../src/layout/smart-side-layout.vue | 0 .../src/lib/axios.ts | 0 .../src/lib/default-time-ranges.ts | 0 .../src/lib/highlight-line-number.ts | 0 .../src/lib/smart-sentry.ts | 0 .../src/lib/smart-wartermark.ts | 0 .../typescript-ant-design-vue3/src/main.ts | 0 .../src/plugins/privilege-plugin.ts | 0 .../src/plugins/smart-enums-plugin.ts | 0 .../src/router/index.ts | 0 .../src/router/routers.ts | 0 .../src/router/support/help-doc.ts | 0 .../src/router/system/home.ts | 0 .../src/router/system/login.ts | 0 .../src/shims-vue.d.ts | 0 .../src/store/index.ts | 0 .../src/store/modules/model/UserTagNav.ts | 0 .../src/store/modules/system/app-config.ts | 0 .../src/store/modules/system/role.ts | 0 .../src/store/modules/system/spin.ts | 0 .../src/store/modules/system/user.ts | 0 .../src/theme/index.less | 0 .../src/theme/smart-admin.less | 0 .../src/types/config.d.ts | 0 .../src/types/env.d.ts | 0 .../src/types/json-viewer.d.ts | 0 .../src/types/smart-enum.d.ts | 0 .../src/types/user.d.ts | 0 .../src/utils/cookie-util.ts | 0 .../src/utils/local-util.ts | 0 .../src/utils/str-util.ts | 0 .../components/category-form-modal.vue | 0 .../components/category-tree-table.vue | 0 .../business/erp/catalog/custom-catalog.vue | 0 .../business/erp/catalog/goods-catalog.vue | 0 .../erp/goods/components/goods-form-modal.vue | 0 .../views/business/erp/goods/goods-list.vue | 0 .../components/enterprise-bank-list.vue | 0 .../enterprise-bank-operate-modal.vue | 0 .../components/enterprise-employee-list.vue | 0 .../components/enterprise-invoice-list.vue | 0 .../enterprise-invoice-operate-modal.vue | 0 .../components/enterprise-operate-modal.vue | 0 .../oa/enterprise/enterprise-detail.vue | 0 .../oa/enterprise/enterprise-list.vue | 0 .../notice/components/notice-form-drawer.vue | 0 .../components/notice-form-visible-modal.vue | 0 ...otice-form-visible-transfer-department.vue | 0 .../notice-form-visible-transfer-employee.vue | 0 .../components/notice-view-record-list.vue | 0 .../business/oa/notice/notice-detail.vue | 0 .../oa/notice/notice-employee-detail.vue | 0 .../oa/notice/notice-employee-list.vue | 0 .../views/business/oa/notice/notice-list.vue | 0 .../src/views/support/cache/cache-list.vue | 0 .../support/change-log/change-log-form.vue | 0 .../support/change-log/change-log-list.vue | 0 .../support/change-log/change-log-modal.vue | 0 .../code-generator/code-generator-list.vue | 0 .../code-generator/code-generator-util.ts | 0 ...code-generator-table-config-form-basic.vue | 0 ...ode-generator-table-config-form-delete.vue | 0 ...code-generator-table-config-form-field.vue | 0 ...or-table-config-form-insert-and-update.vue | 0 ...enerator-table-config-form-query-field.vue | 0 ...enerator-table-config-form-table-field.vue | 0 .../form/code-generator-table-config-form.vue | 0 .../preview/code-generator-preview-modal.vue | 0 .../support/config/config-form-modal.vue | 0 .../src/views/support/config/config-list.vue | 0 .../components/dict-key-operate-modal.vue | 0 .../dict/components/dict-value-modal.vue | 0 .../components/dict-value-operate-modal.vue | 0 .../src/views/support/dict/index.vue | 0 .../views/support/feedback/feedback-list.vue | 0 .../src/views/support/file/file-list.vue | 0 .../support/heart-beat/heart-beat-list.vue | 0 .../help-doc-catalog-form-modal.vue | 0 .../help-doc-catalog-tree-select.vue | 0 .../components/help-doc-catalog-tree.vue | 0 .../components/help-doc-form-drawer.vue | 0 .../management/components/help-doc-list.vue | 0 .../management/help-doc-manage-list.vue | 0 .../help-doc/management/help-doc-mitt.ts | 0 .../components/help-doc-view-record-list.vue | 0 .../help-doc/user-view/help-doc-user-view.vue | 0 .../support/login-log/login-log-list.vue | 0 .../operate-log/operate-log-detail-modal.vue | 0 .../support/operate-log/operate-log-list.vue | 0 .../support/reload/do-reload-form-modal.vue | 0 .../src/views/support/reload/reload-list.vue | 0 .../support/reload/reload-result-list.vue | 0 .../serial-number-generate-form-modal.vue | 0 .../serial-number/serial-number-list.vue | 0 .../serial-number-record-list.vue | 0 .../src/views/system/40X/403.vue | 0 .../src/views/system/40X/404.vue | 0 .../components/department-children/index.vue | 0 .../department-form-modal/index.vue | 0 .../components/department-tree/index.vue | 0 .../employee-department-form-modal/index.vue | 0 .../components/employee-form-modal/index.vue | 0 .../components/employee-list/index.vue | 0 .../employee-password-dialog/index.vue | 0 .../employee/department/department-mitt.ts | 0 .../system/employee/department/index.vue | 0 .../role/components/role-data-scope/index.vue | 0 .../components/role-employee-list/index.vue | 0 .../role/components/role-form-modal/index.vue | 0 .../role/components/role-list/index.vue | 0 .../role/components/role-setting/index.vue | 0 .../role/components/role-tree/index.less | 0 .../role/components/role-tree/index.vue | 0 .../role-tree/role-tree-checkbox.vue | 0 .../components/role-tree/role-tree-menu.vue | 0 .../components/role-tree/role-tree-point.vue | 0 .../src/views/system/employee/role/index.vue | 0 .../system/home/components/changelog-card.vue | 0 .../home/components/default-home-card.vue | 0 .../home/components/echarts/category.vue | 0 .../system/home/components/echarts/gauge.vue | 0 .../home/components/echarts/gradient.vue | 0 .../system/home/components/echarts/pie.vue | 0 .../home/components/official-account-card.vue | 0 .../quick-entry/home-quick-entry-modal.vue | 0 .../quick-entry/home-quick-entry.vue | 0 .../quick-entry/init-quick-entry-list.js | 0 .../home/components/to-be-done-card.vue | 0 .../src/views/system/home/home-header.vue | 0 .../src/views/system/home/home-notice.vue | 0 .../src/views/system/home/index.less | 0 .../src/views/system/home/index.vue | 0 .../src/views/system/login/login.less | 0 .../src/views/system/login/login.vue | 0 .../menu/components/menu-operate-modal.vue | 0 .../menu/components/menu-tree-select.vue | 0 .../views/system/menu/menu-data-handler.ts | 0 .../system/menu/menu-list-table-columns.ts | 0 .../src/views/system/menu/menu-list.vue | 0 .../src/vite-env.d.ts | 0 .../typescript-ant-design-vue3/tsconfig.json | 0 .../typescript-ant-design-vue3/vite.config.ts | 0 1851 files changed, 108157 insertions(+), 2231 deletions(-) delete mode 100644 smart-admin-api/sa-admin/src/main/resources/prod/spy.properties delete mode 100644 smart-admin-api/sa-admin/src/main/resources/test/spy.properties delete mode 100644 smart-admin-web/typescript-ant-design-vue3/.env.production delete mode 100644 smart-admin-web/typescript-ant-design-vue3/src/assets/images/login/login-bg.jpg create mode 100644 smart_admin_v1/smart-admin-h5/.browserslistrc create mode 100644 smart_admin_v1/smart-admin-h5/.editorconfig create mode 100644 smart_admin_v1/smart-admin-h5/.env.development create mode 100644 smart_admin_v1/smart-admin-h5/.env.local create mode 100644 smart_admin_v1/smart-admin-h5/.env.pre create mode 100644 smart_admin_v1/smart-admin-h5/.env.prod create mode 100644 smart_admin_v1/smart-admin-h5/.env.sit create mode 100644 smart_admin_v1/smart-admin-h5/.eslintignore create mode 100644 smart_admin_v1/smart-admin-h5/.eslintrc.js create mode 100644 smart_admin_v1/smart-admin-h5/.gitignore create mode 100644 smart_admin_v1/smart-admin-h5/.postcssrc.js create mode 100644 smart_admin_v1/smart-admin-h5/.prettierrc.js create mode 100644 smart_admin_v1/smart-admin-h5/.sentryclirc create mode 100644 smart_admin_v1/smart-admin-h5/README.md create mode 100644 smart_admin_v1/smart-admin-h5/babel.config.js create mode 100644 smart_admin_v1/smart-admin-h5/package.json rename {smart-admin-web/javascript-ant-design-vue3 => smart_admin_v1/smart-admin-h5}/public/favicon.ico (100%) create mode 100644 smart_admin_v1/smart-admin-h5/public/index.html create mode 100644 smart_admin_v1/smart-admin-h5/src/App.vue create mode 100644 smart_admin_v1/smart-admin-h5/src/api/employee.js create mode 100644 smart_admin_v1/smart-admin-h5/src/api/file.js create mode 100644 smart_admin_v1/smart-admin-h5/src/api/login.js create mode 100644 smart_admin_v1/smart-admin-h5/src/api/system-config.js create mode 100644 smart_admin_v1/smart-admin-h5/src/api/user.js create mode 100644 smart_admin_v1/smart-admin-h5/src/assets/css/index.scss create mode 100644 smart_admin_v1/smart-admin-h5/src/assets/logo.png create mode 100644 smart_admin_v1/smart-admin-h5/src/components/employee/department-employee-selector.vue create mode 100644 smart_admin_v1/smart-admin-h5/src/components/form/select-picker/SmartEnumSelectPicker.vue create mode 100644 smart_admin_v1/smart-admin-h5/src/components/form/select-picker/SmartSelectPicker create mode 100644 smart_admin_v1/smart-admin-h5/src/components/mixin/session-mixin.js create mode 100644 smart_admin_v1/smart-admin-h5/src/components/van-bar/BackNavBar.vue create mode 100644 smart_admin_v1/smart-admin-h5/src/components/van-bar/RouterNavBar.vue create mode 100644 smart_admin_v1/smart-admin-h5/src/config/index.js create mode 100644 smart_admin_v1/smart-admin-h5/src/constants/area.js create mode 100644 smart_admin_v1/smart-admin-h5/src/constants/erp/contact-company.js create mode 100644 smart_admin_v1/smart-admin-h5/src/constants/erp/index.js create mode 100644 smart_admin_v1/smart-admin-h5/src/constants/file.js create mode 100644 smart_admin_v1/smart-admin-h5/src/constants/index.js create mode 100644 smart_admin_v1/smart-admin-h5/src/constants/school.js create mode 100644 smart_admin_v1/smart-admin-h5/src/filters/filter.js create mode 100644 smart_admin_v1/smart-admin-h5/src/filters/index.js create mode 100644 smart_admin_v1/smart-admin-h5/src/lib/cookie.js create mode 100644 smart_admin_v1/smart-admin-h5/src/lib/erp-http.js create mode 100644 smart_admin_v1/smart-admin-h5/src/lib/http.js create mode 100644 smart_admin_v1/smart-admin-h5/src/lib/local.js create mode 100644 smart_admin_v1/smart-admin-h5/src/lib/menu-func.js create mode 100644 smart_admin_v1/smart-admin-h5/src/lib/printPlugs.js create mode 100644 smart_admin_v1/smart-admin-h5/src/lib/render-dom.js create mode 100644 smart_admin_v1/smart-admin-h5/src/lib/smart-sentry.js create mode 100644 smart_admin_v1/smart-admin-h5/src/lib/util.js create mode 100644 smart_admin_v1/smart-admin-h5/src/lib/watermark.js create mode 100644 smart_admin_v1/smart-admin-h5/src/main.js create mode 100644 smart_admin_v1/smart-admin-h5/src/plugins/smart-sentry.js create mode 100644 smart_admin_v1/smart-admin-h5/src/plugins/smart.js create mode 100644 smart_admin_v1/smart-admin-h5/src/plugins/vant.js create mode 100644 smart_admin_v1/smart-admin-h5/src/router/dashboard/index.js create mode 100644 smart_admin_v1/smart-admin-h5/src/router/develop/develop.js create mode 100644 smart_admin_v1/smart-admin-h5/src/router/error/error.js create mode 100644 smart_admin_v1/smart-admin-h5/src/router/index.js create mode 100644 smart_admin_v1/smart-admin-h5/src/router/login/login.js create mode 100644 smart_admin_v1/smart-admin-h5/src/router/router-const.js create mode 100644 smart_admin_v1/smart-admin-h5/src/router/routers.js create mode 100644 smart_admin_v1/smart-admin-h5/src/router/user/user.js create mode 100644 smart_admin_v1/smart-admin-h5/src/store/index.js create mode 100644 smart_admin_v1/smart-admin-h5/src/store/module/app.js create mode 100644 smart_admin_v1/smart-admin-h5/src/store/module/user.js create mode 100644 smart_admin_v1/smart-admin-h5/src/themes/index.scss create mode 100644 smart_admin_v1/smart-admin-h5/src/utils/index.js create mode 100644 smart_admin_v1/smart-admin-h5/src/utils/request.js create mode 100644 smart_admin_v1/smart-admin-h5/src/utils/validate.js create mode 100644 smart_admin_v1/smart-admin-h5/src/views/dashboard/dashboard.vue create mode 100644 smart_admin_v1/smart-admin-h5/src/views/develop/config.vue create mode 100644 smart_admin_v1/smart-admin-h5/src/views/error/404.vue create mode 100644 smart_admin_v1/smart-admin-h5/src/views/login/login.vue create mode 100644 smart_admin_v1/smart-admin-h5/src/views/user/change-password.vue create mode 100644 smart_admin_v1/smart-admin-h5/src/views/user/index.vue create mode 100644 smart_admin_v1/smart-admin-h5/vue.config.js create mode 100644 smart_admin_v1/smart-admin-service/.gitignore create mode 100644 smart_admin_v1/smart-admin-service/README.md create mode 100644 smart_admin_v1/smart-admin-service/pom.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/doc/readme.txt create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/pom.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/SmartAdminApplication.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/ApiModelPropertyEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/DataScope.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/NoNeedLogin.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/NoValidPrivilege.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/OperateLog.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/CommentSortTypeEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/JudgeEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/ResponseCodeConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/controller/BaseController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/BaseEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/BaseEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/ITask.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/OrderItemDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/PageParamDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/PageResultDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/ResponseDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/ValidateList.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/exception/SmartBusinessException.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/exception/SmartResponseCodeException.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/AbstractHeartBeatCommand.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatLogger.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatRecordCommendInterface.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatRecordDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeatBeatRecordHelper.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/IpUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/StringUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/json/LongJsonDeserializer.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/json/LongJsonSerializer.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/kaptcha/KaptchaColor.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/kaptcha/KaptchaNoise.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/kaptcha/KaptchaWordRenderer.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/SmartReloadManager.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/SmartReloadScheduler.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/abstracts/AbstractSmartReloadCommand.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/abstracts/AbstractSmartReloadCommand4Spring.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/annotation/SmartReload.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/AbstractSmartReloadObject.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/AnnotationReloadObject.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/InterfaceReloadObject.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/entity/ReloadItem.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/entity/SmartReloadResult.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/interfaces/SmartReloadCommandInterface.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/interfaces/SmartReloadThreadLogger.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/interfaces/SmartReloadable.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/swagger/SmartSwaggerApiModelEnumPlugin.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/bigdecimal/BigDecimalValidator.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/bigdecimal/CheckBigDecimal.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/bigdecimal/ComparisonSymbolEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/en/CheckEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/en/EnumValidator.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartAdminWebAppConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartDruidDataSourceConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartHeartBeatConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartKaptchaConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartMybatisPlusConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartRedisConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartReloadConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartRestTemplateConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartSwaggerApiModelEnumConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartSwaggerDynamicGroupConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartWebSocketConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SystemEnvironmentCondition.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/CommonConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SmartReloadTagConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SwaggerTagConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SystemEnvironmentEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/handler/SmartGlobalExceptionHandler.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/handler/SmartOperateLogAspect.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/interceptor/SmartAuthenticationInterceptor.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/listener/SmartAdminStartupRunner.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailSendStatusEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailConfigDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/entity/EmailEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/LogService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/OrderOperateLogController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/OrderOperateLogDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/OrderOperateLogService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/constant/OrderOperateLogDefaultEmpEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/constant/OrderOperateLogOperateTypeConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/constant/OrderOperateLogOrderTypeEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/dto/OrderOperateLogSaveDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/dto/SupplierOrderOperateVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/entity/OrderOperateLogEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/vo/OrderOperateLogVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/UserLoginLogController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/UserLoginLogDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/UserLoginLogService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/domain/UserLoginLogDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/domain/UserLoginLogEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/domain/UserLoginLogQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/UserOperateLogController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/UserOperateLogDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/UserOperateLogService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/domain/UserOperateLogDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/domain/UserOperateLogEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/domain/UserOperateLogQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeManage.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/dao/NoticeDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/dao/NoticeReceiveRecordDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeAddDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeDetailVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeReadCountDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeReceiveDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeReceiveQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeUpdateDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/entity/NoticeEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/entity/NoticeReceiveRecordEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/controller/PeonyController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/dao/PeonyDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/dto/PeonyAddDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/dto/PeonyQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/dto/PeonyUpdateDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/entity/PeonyEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/vo/PeonyExcelVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/vo/PeonyVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/service/PeonyService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/constant/SqlOperateTypeEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/dao/TableDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/CodeGeneratorDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/CodeGeneratorQueryColumnDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/ColumnVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/QueryFieldVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/service/CodeGeneratorComponent.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/service/CodeGeneratorService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/FileController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/FileDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileModuleTypeEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileResponseCodeConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileServiceNameConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileServiceTypeEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/FileAddDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/FileDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/FileQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/OSSConfig.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/entity/FileEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/vo/FileVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/vo/UploadVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileServiceAliYun.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileServiceLocal.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileServiceQiNiuYun.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/IFileService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatRecordDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatRecordEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatRecordVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/IdGeneratorDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/IdGeneratorManager.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/IdGeneratorService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/constant/IdGeneratorEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/constant/IdGeneratorRuleTypeEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorLastNumberDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorPOJO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorRecordDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/constant/QuartzConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/constant/TaskResultEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/constant/TaskStatusEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/controller/QuartzController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/dao/QuartzTaskDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/dao/QuartzTaskLogDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzLogQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzTaskDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzTaskLogVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzTaskVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/entity/QuartzTaskEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/entity/QuartzTaskLogEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTask.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTaskLogService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTaskService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/task/test/Example.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/SmartReloadCommand.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/SmartReloadController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/SmartReloadService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/dao/ReloadItemDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/dao/ReloadResultDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/dto/ReloadItemUpdateDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/dto/ReloadItemVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/dto/ReloadResultVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/entity/ReloadItemEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/entity/ReloadResultEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/MessageTypeEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/WebSocketServer.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/domain/MessageCommonDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/domain/MessageDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/domain/WebSocketHeartBeatDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/DataScopeController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/DataScopeRoleDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/MyBatisPlugin.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/constant/DataScopeTypeEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/constant/DataScopeViewTypeEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeAndViewTypeVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeBatchSetDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeBatchSetRoleDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeSelectVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeSqlConfigDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeViewTypeVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/entity/DataScopeRoleEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeSqlConfigService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeViewService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/strategy/DataScopePowerStrategy.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentResponseCodeConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentTreeService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/dto/DepartmentCreateDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/dto/DepartmentUpdateDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/dto/DepartmentVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/entity/DepartmentEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/constant/EmployeeResponseCodeConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/constant/EmployeeStatusEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/bo/EmployeeBO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeAddDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeBaseDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeBatchUpdateStatusDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeLoginFormDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeQueryExportDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeUpdateDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeUpdatePwdDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeUpdateRolesDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/entity/EmployeeEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/vo/EmployeeVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginResponseCodeConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginTokenService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/KaptchaVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginCacheDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginDetailVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginPrivilegeDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/RequestTokenBO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionResponseCodeConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionAddDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionRelationAddDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionRelationQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionRelationResultDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionResultVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionUpdateDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/entity/PositionEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/entity/PositionRelationEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/constant/PrivilegeResponseCodeConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/constant/PrivilegeTypeEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/controller/PrivilegeController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/dao/PrivilegeDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeFunctionDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeFunctionVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeMenuDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeMenuVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeRequestUrlVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/entity/PrivilegeEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeEmployeeService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeRequestUrlService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleResponseCodeConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleAddDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleBatchDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleSelectedVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleUpdateDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/entity/RoleEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/RoleEmployeeController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/RoleEmployeeDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/RoleEmployeeService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/domain/RoleEmployeeDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/domain/RoleEmployeeEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/RolePrivilegeController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/RolePrivilegeDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/RolePrivilegeService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/dto/RolePrivilegeDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/dto/RolePrivilegeSimpleDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/dto/RolePrivilegeTreeVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/entity/RolePrivilegeEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/SystemConfigController.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/SystemConfigDao.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/SystemConfigService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/constant/SystemConfigDataType.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/constant/SystemConfigEnum.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/constant/SystemConfigResponseCodeConst.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigAddDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigQueryDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigUpdateDTO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigVO.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/entity/SystemConfigEntity.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/third/SmartApplicationContext.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/third/SmartRedisService.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartBaseEnumUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartBeanUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartBigDecimalUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartDateUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartDigestUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartEasyPoiExcelUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartFileUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartHttpUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartIPUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartPageUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartQuartzUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartRequestTokenUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartSendMailUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartStringUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartThreadFactory.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartVerificationUtil.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcel.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelFileType.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelReader.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartSheet.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/banner.txt create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/dev/application.properties create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/dev/log4j2.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/dev/spy.properties create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/email/EmailMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/log/OrderOperateLogMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/log/UserLoginLogMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/log/UserOperateLogMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/notice/NoticeMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/notice/NoticeReceiveRecordMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/peony/PeonyMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/codegenerator/TableMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/file/FileMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/heartbeat/HeartBeatRecordMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/idgenerator/IdGeneratorMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/quartz/QuartzTaskLogMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/quartz/QuartzTaskMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/smartreload/ReloadItemMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/smartreload/ReloadResultMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/datascope/DataScopeRoleMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/department/DepartmentMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/employee/EmployeeMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/position/PositionMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/privilege/PrivilegeMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/role/RoleEmployeeMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/role/RoleMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/role/RolePrivilegeMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/systemconfig/SystemConfigMapper.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/pre/application.properties create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/pre/log4j2.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/prod/application.properties create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/prod/log4j2.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sit/application.properties create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sit/log4j2.xml create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sit/spy.properties create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sql/quartz_mysql_2.3.0.sql create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sql/smart-admin.sql create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/AddDTO.java.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Controller.java.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Dao.java.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Dao.xml.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Entity.java.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/ExcelVO.java.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/QueryDTO.java.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Service.java.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/UpdateDTO.java.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/VO.java.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/Api.js.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/List.vue.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/ListForm.vue.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/Router.js.vm create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/test/java/net/lab1024/smartadmin/BaseTest.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/test/java/net/lab1024/smartadmin/SmartAdminApplicationTests.java create mode 100644 smart_admin_v1/smart-admin-service/smart-admin-api/src/test/java/net/lab1024/smartadmin/module/support/codegenerator/CodeGeneratorServiceTest.java create mode 100644 smart_admin_v1/smart-admin-web/.babelrc create mode 100644 smart_admin_v1/smart-admin-web/.editorconfig create mode 100644 smart_admin_v1/smart-admin-web/.env.development create mode 100644 smart_admin_v1/smart-admin-web/.env.local create mode 100644 smart_admin_v1/smart-admin-web/.env.prod create mode 100644 smart_admin_v1/smart-admin-web/.env.sit rename smart-admin-web/javascript-ant-design-vue3/README.en.md => smart_admin_v1/smart-admin-web/.eslintignore (100%) create mode 100644 smart_admin_v1/smart-admin-web/.eslintrc.js create mode 100644 smart_admin_v1/smart-admin-web/.gitignore create mode 100644 smart_admin_v1/smart-admin-web/.postcssrc.js create mode 100644 smart_admin_v1/smart-admin-web/.travis.yml create mode 100644 smart_admin_v1/smart-admin-web/README.md create mode 100644 smart_admin_v1/smart-admin-web/cypress.json create mode 100644 smart_admin_v1/smart-admin-web/doc/notice.txt create mode 100644 smart_admin_v1/smart-admin-web/package-lock.json create mode 100644 smart_admin_v1/smart-admin-web/package.json rename {smart-admin-web/typescript-ant-design-vue3 => smart_admin_v1/smart-admin-web}/public/favicon.ico (100%) create mode 100644 smart_admin_v1/smart-admin-web/public/index.html create mode 100644 smart_admin_v1/smart-admin-web/src/App.vue create mode 100644 smart_admin_v1/smart-admin-web/src/api/data-scope.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/department.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/email.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/employee.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/file.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/heart-beat.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/login.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/notice.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/online-user.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/peony.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/position.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/privilege.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/role.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/smart-reload.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/system-config.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/task-manage.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/user-log.js create mode 100644 smart_admin_v1/smart-admin-web/src/api/user.js create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/demo.css create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/demo_index.html create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/demo.css create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/demo_index.html create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.css create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.eot create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.js create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.svg create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.ttf create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.woff create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.woff2 create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.css create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.eot create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.js create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.svg create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.ttf create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.woff create mode 100644 smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.woff2 create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/default_icon.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/error-page/error-401.svg create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/error-page/error-404.svg create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/error-page/error-500.svg create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/icon-qr-qq-wechat.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/icon-social-bilibili.svg create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/icon-social-juejin.svg create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/icon-social-twitter.svg create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/icon-social-zhihu.svg create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/login-alipay.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/login-bg.jpg create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/login-logo.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/login-sina.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/login-taobao.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/login_desc_bg.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/login_logo.png rename {smart-admin-web/javascript-ant-design-vue3/src/assets/images/logo => smart_admin_v1/smart-admin-web/src/assets/images}/logo-min.png (100%) create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/logo.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/logo1.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/message.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/shadow.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/slider/sub_slider_active.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/images/slider/sub_slider_default.png create mode 100644 smart_admin_v1/smart-admin-web/src/assets/style/lib/animate.css create mode 100644 smart_admin_v1/smart-admin-web/src/components/active-plate/active-plate.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/charts/bar.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/charts/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/charts/pie.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/charts/theme.json create mode 100644 smart_admin_v1/smart-admin-web/src/components/common-icon/common-icon.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/common-icon/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/count-to/count-to.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/count-to/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/count-to/index.less create mode 100644 smart_admin_v1/smart-admin-web/src/components/editor/editor.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/editor/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/employee/employee-selector.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/icons/icons.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/icons/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/a-back-top/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/a-back-top/index.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/fullscreen/fullscreen.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/fullscreen/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/custom-bread-crumb/custom-bread-crumb.less create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/custom-bread-crumb/custom-bread-crumb.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/custom-bread-crumb/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/header-bar.less create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/header-bar.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/sider-trigger/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/sider-trigger/sider-trigger.less create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/sider-trigger/sider-trigger.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/language/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/language/language.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/notice/notice.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/collapsed-menu.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/item-mixin.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/mixin.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/side-menu-item.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/side-menu.less create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/side-menu.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/tags-nav/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/tags-nav/tags-nav.less create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/tags-nav/tags-nav.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/user/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/user/user.less create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/components/user/user.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/main.less create mode 100644 smart_admin_v1/smart-admin-web/src/components/main/main.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/smart-admin-ad/ad.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/smart-admin-ad/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/tables/edit.vue create mode 100644 smart_admin_v1/smart-admin-web/src/components/tables/handle-btns.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/tables/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/components/tables/index.less create mode 100644 smart_admin_v1/smart-admin-web/src/components/tables/tables.vue create mode 100644 smart_admin_v1/smart-admin-web/src/config/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/constants/file.js create mode 100644 smart_admin_v1/smart-admin-web/src/constants/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/constants/login.js create mode 100644 smart_admin_v1/smart-admin-web/src/constants/notice.js create mode 100644 smart_admin_v1/smart-admin-web/src/constants/privilege.js create mode 100644 smart_admin_v1/smart-admin-web/src/constants/table-page.js create mode 100644 smart_admin_v1/smart-admin-web/src/directives/directives.js create mode 100644 smart_admin_v1/smart-admin-web/src/directives/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/directives/module/clipboard.js create mode 100644 smart_admin_v1/smart-admin-web/src/directives/module/draggable.js create mode 100644 smart_admin_v1/smart-admin-web/src/directives/module/privilege.js rename smart-admin-web/javascript-ant-design-vue3/README.md => smart_admin_v1/smart-admin-web/src/filters/index.js (100%) create mode 100644 smart_admin_v1/smart-admin-web/src/lib/cookie.js create mode 100644 smart_admin_v1/smart-admin-web/src/lib/http.js create mode 100644 smart_admin_v1/smart-admin-web/src/lib/local.js create mode 100644 smart_admin_v1/smart-admin-web/src/lib/menu-func.js create mode 100644 smart_admin_v1/smart-admin-web/src/lib/printPlugs.js create mode 100644 smart_admin_v1/smart-admin-web/src/lib/render-dom.js create mode 100644 smart_admin_v1/smart-admin-web/src/lib/table-action.js create mode 100644 smart_admin_v1/smart-admin-web/src/lib/util.js create mode 100644 smart_admin_v1/smart-admin-web/src/locale/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/locale/lang/en-US.js create mode 100644 smart_admin_v1/smart-admin-web/src/locale/lang/zh-CN.js create mode 100644 smart_admin_v1/smart-admin-web/src/locale/lang/zh-TW.js create mode 100644 smart_admin_v1/smart-admin-web/src/main.js create mode 100644 smart_admin_v1/smart-admin-web/src/main.less create mode 100644 smart_admin_v1/smart-admin-web/src/plugins/error-store/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/plugins/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/before-close.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/business/email.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/business/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/business/keep-alive.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/business/notice.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/business/peony.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/business/three-router.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/error.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/home.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/support/api-doc.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/support/heart-beat.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/support/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/support/monitor.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/support/reload.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/support/task.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/system/employee.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/system/file.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/system/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/system/system-setting.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/module/system/user-log.js create mode 100644 smart_admin_v1/smart-admin-web/src/router/routers.js create mode 100644 smart_admin_v1/smart-admin-web/src/store/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/store/module/app.js create mode 100644 smart_admin_v1/smart-admin-web/src/store/module/notice.js create mode 100644 smart_admin_v1/smart-admin-web/src/store/module/user.js create mode 100644 smart_admin_v1/smart-admin-web/src/themes/ReadMe.md create mode 100644 smart_admin_v1/smart-admin-web/src/themes/index.less create mode 100644 smart_admin_v1/smart-admin-web/src/views/business/email/email-list.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/business/email/send-mail.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/business/keep-alive/add-content.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/business/keep-alive/content-list.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/business/notice/notice-detail.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/business/notice/notice-list.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/business/notice/person-notice.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/business/peony/components/peony-list-form.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/business/peony/peony-list.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/business/three-level-router/three-level-router-view.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/error-page/401.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/error-page/404.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/error-page/500.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/error-page/back-btn-group.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/error-page/error-content.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/error-page/error.less create mode 100644 smart_admin_v1/smart-admin-web/src/views/home/components/card.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/home/components/chart-bar.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/home/components/chart-funnel.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/home/components/chart-gauge.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/home/components/chart-line.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/home/components/chart-pie.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/home/components/home-circle.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/home/components/home-progress.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/home/components/theme.json create mode 100644 smart_admin_v1/smart-admin-web/src/views/home/home.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/home/index.js create mode 100644 smart_admin_v1/smart-admin-web/src/views/login/canvas.js create mode 100644 smart_admin_v1/smart-admin-web/src/views/login/components/login-form.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/login/login.less create mode 100644 smart_admin_v1/smart-admin-web/src/views/login/login.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/support/api-doc/swagger.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/support/heart-beat/heart-beat-list.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/support/monitor/online-user.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/support/monitor/sql.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/support/reload/smart-reload/smart-reload-list.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/support/task/task-list.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/employee/components/department-employee-tree-item/department-employee-tree-item.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/employee/components/department-employee-tree/department-employee-tree.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/employee/position/position-list.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/components/employee-table-add/employee-table-add.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/components/employee-table-detail/employee-table-detail.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/components/employee-table/employee-table.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/role-employee-manage.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/employee/role/components/role-data-scope/role-data-scope.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/employee/role/components/role-list/role-list.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/employee/role/components/role-tree/role-tree.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/employee/role/role-manage.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/file/file-list.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/system-setting/system-config/system-config.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/system-setting/system-privilege/components/privilege-form.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/system-setting/system-privilege/system-privilege.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/user-log/user-login-log.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/system/user-log/user-operate-log.vue create mode 100644 smart_admin_v1/smart-admin-web/src/views/three-router/three-content.vue create mode 100644 smart_admin_v1/smart-admin-web/tests/e2e/.eslintrc create mode 100644 smart_admin_v1/smart-admin-web/tests/e2e/plugins/index.js create mode 100644 smart_admin_v1/smart-admin-web/tests/e2e/specs/test.js create mode 100644 smart_admin_v1/smart-admin-web/tests/e2e/support/commands.js create mode 100644 smart_admin_v1/smart-admin-web/tests/e2e/support/index.js create mode 100644 smart_admin_v1/smart-admin-web/tests/unit/.eslintrc.js create mode 100644 smart_admin_v1/smart-admin-web/tests/unit/HelloWorld.spec.js create mode 100644 smart_admin_v1/smart-admin-web/vscode/settings.json create mode 100644 smart_admin_v1/smart-admin-web/vue.config.js rename {代码规范 => smart_admin_v1/代码规范_v1}/api接口规范.md (97%) rename {代码规范 => smart_admin_v1/代码规范_v1}/front-standard-guide.md (100%) rename {代码规范 => smart_admin_v1/代码规范_v1}/java-standard-guide.md (100%) rename {快速启动 => smart_admin_v1/快速启动_v1}/README.md (100%) delete mode 100644 smart_admin_v2.sql create mode 100644 smart_admin_v2/smart-admin-api/.gitignore rename {smart-admin-api/sa-parent => smart_admin_v2/smart-admin-api}/pom.xml (92%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/pom.xml (70%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/SmartAdminApplication.java (86%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/common/AdminBaseController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/config/OperateLogAspectConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityMethodConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminRedisKeyConst.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/constant/CategoryTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/controller/CategoryController.java (97%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategoryBaseDTO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategorySimpleDTO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryTreeQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/manager/CategoryCacheManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryQueryService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/constant/GoodsStatusEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/controller/GoodsController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/entity/GoodsEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/manager/GoodsManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankCreateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/constant/EnterpriseTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEmployeeEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseCreateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseEmployeeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseListVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/constant/NoticeVisibleRangeDataTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeTypeEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeEmployeeQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeViewRecordQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeVisibleRangeForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeDetailVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeEmployeeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeTypeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeUpdateFormVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeViewRecordVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVisibleRangeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/manager/NoticeManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeTypeService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScope.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScopeController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/MyBatisPlugin.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeViewTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeAndViewTypeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeDTO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeSqlConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeViewTypeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/strategy/DataScopePowerStrategy.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/controller/DepartmentController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentEmployeeTreeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentTreeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/entity/EmployeeEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeBatchUpdateDepartmentForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdatePasswordForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateRoleForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/vo/EmployeeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/manager/EmployeeManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeePermissionService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/LoginEmployeeDetail.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/LoginForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/constant/MenuPermsTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/constant/MenuTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/controller/MenuController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/dao/MenuDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/entity/MenuEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuBaseForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuPointsOperateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuSimpleTreeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuTreeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/manager/MenuManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/service/MenuService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleDataScopeController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleEmployeeController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleMenuController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDataScopeDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleEmployeeDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleMenuDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleDataScopeEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleEmployeeEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleMenuEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleDataScopeUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleEmployeeQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleEmployeeUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleMenuUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleDataScopeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleEmployeeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleMenuTreeVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleSelectedVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleDataScopeManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleMenuManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleDataScopeService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleEmployeeService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleMenuService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminCacheController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminChangeLogController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminConfigController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java (93%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminFileController.java (69%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminHeartBeatController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminHelpDocController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminLoginLogController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminOperateLogController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminReloadController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminSerialNumberController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/dev/application.yaml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/dev/log4j2.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/dev/spy.properties (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/business/category/CategoryMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/business/goods/GoodsMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/business/notice/NoticeMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/business/oa/enterprise/EnterpriseEmployeeMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/business/oa/enterprise/EnterpriseMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeDao.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/system/employee/EmployeeMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/system/menu/MenuMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/system/role/RoleDataScopeMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/system/role/RoleEmployeeMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/system/role/RoleMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/mapper/system/role/RoleMenuMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/pre/application.yaml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/pre/log4j2.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/prod/application.yaml (59%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/prod/log4j2.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/test/application.yaml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/main/resources/test/log4j2.xml (100%) rename {smart-admin-api/sa-admin/src/main/resources/pre => smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/test}/spy.properties (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-admin/src/test/java/net/lab1024/sa/admin/SmartAdminApplicationTest.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/pom.xml (99%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/annoation/NoNeedLogin.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/annoation/SaAuth.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCode.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCodeRangeContainer.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCodeRegister.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/code/SystemErrorCode.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/code/UnexpectedErrorCode.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/code/UserErrorCode.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/constant/RequestHeaderConst.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/constant/StringConst.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/controller/SupportBaseController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/domain/DataScopePlugin.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/domain/PageParam.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/domain/PageResult.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/domain/RequestUrlVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/domain/RequestUser.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ResponseDTO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/domain/SystemEnvironment.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ValidateData.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ValidateList.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/BaseEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/GenderEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/SystemEnvironmentEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/UserTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/excel/ExcelStyle.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/exception/BusinessException.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/interceptor/AbstractInterceptor.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/DictValueVoDeserializer.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/FileKeyVoDeserializer.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/LongJsonDeserializer.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/BigDecimalNullZeroSerializer.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/DictValueVoSerializer.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/FileKeySerializer.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/FileKeyVoSerializer.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/LongJsonSerializer.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/security/AbstractSecurityConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityAuthenticationFailHandler.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityMethodSource.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityPermissionCheckService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityTokenFilter.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/ApiModelPropertyEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/Swagger2MapperImplExtension.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/SwaggerApiModelPropertyEnumPlugin.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartBeanUtil.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartBigDecimalUtil.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartEasyPoiExcelUtil.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartEnumUtil.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartPageUtil.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartRequestUtil.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartStringUtil.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartVerificationUtil.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/validator/enumeration/CheckEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/common/validator/enumeration/EnumValidator.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/AsyncConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/CorsFilterConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/DataSourceConfig.java (92%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/DateConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/FileCloudConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/HeartBeatConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/MvcConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/MybatisPlusConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/PostProcessorConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/RedisConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/ReloadConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/RepeatSubmitConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/RestTemplateConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/ScheduleConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/SwaggerConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/SystemEnvironmentConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/config/UrlConfig.java (99%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/constant/CacheKeyConst.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/constant/RedisKeyConst.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/constant/ReloadConst.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/constant/SwaggerTagConst.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/constant/UrlPrefixConst.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/handler/GlobalExceptionHandler.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/listener/SmartApplicationListener.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/cache/CacheService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/CaptchaController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/CaptchaService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaColor.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaNoise.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaWordRenderer.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/domain/CaptchaForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/domain/CaptchaVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/constant/ChangeLogTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/controller/ChangeLogController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/dao/ChangeLogDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/entity/ChangeLogEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/vo/ChangeLogVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/manager/ChangeLogManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/service/ChangeLogService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeDeleteEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeFrontComponentEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeGeneratorConstant.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeGeneratorPageTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeQueryFieldQueryTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/controller/CodeGeneratorController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/dao/CodeGeneratorConfigDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/dao/CodeGeneratorDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/entity/CodeGeneratorConfigEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/CodeGeneratorConfigForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/CodeGeneratorPreviewForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/TableQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeBasic.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeDelete.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeField.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeInsertAndUpdate.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeInsertAndUpdateField.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeQueryField.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeTableField.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableColumnVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableConfigVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/CodeGeneratorService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/CodeGeneratorTemplateService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ControllerVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/DaoVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ManagerVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ServiceVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/DeleteFormVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/EntityVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/UpdateFormVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ApiVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ConstVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/FormVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ListVariableService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/util/CodeGeneratorTool.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigKeyEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldBigDecimal.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldDict.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldLabel.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldSql.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/constant/DataTracerConst.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/constant/DataTracerTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/controller/DataTracerController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/dao/DataTracerDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/bo/DataTracerContentBO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/entity/DataTracerEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/form/DataTracerForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/form/DataTracerQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/vo/DataTracerVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/manager/DataTracerManger.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/service/DataTracerChangeContentService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/service/DataTracerService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/controller/DictController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/dao/DictKeyDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/dao/DictValueDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/entity/DictKeyEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/entity/DictValueEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/vo/DictKeyVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/vo/DictValueVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/service/DictCacheService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/service/DictService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/controller/FeedbackController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/dao/FeedbackDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/service/FeedbackService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/constant/FileFolderTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/controller/FileController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/dao/FileDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/entity/FileEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/form/FileQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/form/FileUrlUploadForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileDownloadVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileMetadataVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileUploadVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileStorageCloudServiceImpl.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileStorageLocalServiceImpl.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/IFileStorageService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatRecordDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatRecordHandler.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatRecord.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatRunnable.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/IHeartBeatRecordHandler.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/controller/HelpDocController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/dao/HelpDocCatalogDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/dao/HelpDocDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/entity/HelpDocCatalogEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/entity/HelpDocEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocCatalogAddForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocCatalogUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocRelationForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocViewRecordQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocCatalogVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocDetailVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocRecordVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocRelationVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocViewRecordVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/manager/HelpDocManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocCatalogService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocUserService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/DecryptData.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweAspect.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweDecrypt.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweEncrypt.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweUserKey.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogResultEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/OperateLogDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/OperateLogService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/annoation/OperateLog.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/core/OperateLogAspect.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/core/OperateLogConfig.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/redis/RedisService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/ReloadCommand.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/ReloadService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/AbstractSmartReloadCommand.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/SmartReloadManager.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/annoation/SmartReload.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadItem.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadObject.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadResult.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/thread/SmartReloadRunnable.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/dao/ReloadItemDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/dao/ReloadResultDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadItemEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadItemVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadResultEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadResultVO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/RepeatSubmitAspect.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/annoation/RepeatSubmit.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/AbstractRepeatSubmitTicket.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/RepeatSubmitCaffeineTicket.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/RepeatSubmitRedisTicket.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/constant/SerialNumberIdEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/constant/SerialNumberRuleTypeEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/dao/SerialNumberDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/dao/SerialNumberRecordDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberGenerateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberGenerateResultBO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberInfoBO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberLastGenerateBO.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberRecordEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberRecordQueryForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberBaseService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberRecordService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberInternService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberMysqlService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberRedisService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnController.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnDao.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnEntity.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnItemForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnUpdateForm.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/JwtConst.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/LoginDeviceEnum.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/TokenService.java (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/META-INF/spring.factories (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/banner.txt (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/java/constant/enum.java.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/java/controller/Controller.java.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/java/dao/Dao.java.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/java/domain/form/AddForm.java.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/java/domain/form/QueryForm.java.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/java/domain/form/UpdateForm.java.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/java/domain/vo/VO.java.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/java/manager/Manager.java.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/java/mapper/Mapper.xml.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/java/service/Service.java.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/js/api.js.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/js/const.js.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/js/form.vue.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/js/list.vue.vm (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/code-generator-template/tools.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/dev/sa-common.yaml (94%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/ChangeLogMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/CodeGeneratorMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/ConfigMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/DataTracerMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/DictKeyMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/DictValueMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/FeedbackMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/FileMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/HeartBeatRecordMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/HelpDocDao.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/LoginLogMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/OperateLogMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/ReloadItemMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/ReloadResultMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/SerialNumberMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/SerialNumberRecordMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/mapper/support/TableColumnMapper.xml (100%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/pre/sa-common.yaml (97%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/prod/sa-common.yaml (97%) rename {smart-admin-api => smart_admin_v2/smart-admin-api}/sa-common/src/main/resources/test/sa-common.yaml (97%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/.env (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/.env.development (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/.env.localhost (100%) rename {smart-admin-web/typescript-ant-design-vue3 => smart_admin_v2/smart-admin-web/javascript-ant-design-vue3}/.env.pre (60%) create mode 100644 smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.production rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/.env.test (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/.eslintignore (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/.eslintrc.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/.gitignore (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/.prettierrc.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/.stylelintignore (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/.stylelintrc.js (100%) rename smart-admin-web/typescript-ant-design-vue3/README.md => smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/README.en.md (100%) create mode 100644 smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/README.md rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/index.html (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/jsconfig.json (100%) create mode 100644 smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/package-lock.json rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/package.json (90%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/postcss.config.js (100%) create mode 100644 smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/public/favicon.ico rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/App.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/business/category/category-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/business/goods/goods-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/business/oa/bank-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/business/oa/enterprise-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/business/oa/invoice-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/business/oa/notice-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/cache/cache-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/change-log/change-log-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/code-generator/code-generator-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/config/config-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/data-tracer/data-tracer-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/dict/dict-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/feedback/feedback-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/file/file-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/heart-beat/heart-beat-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/help-doc/help-doc-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/help-doc/help-doc-catalog-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/login-log/login-log-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/operate-log/operate-log-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/reload/reload-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/serial-number/serial-number-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/support/table/table-column-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/system/department/department-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/system/employee/employee-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/system/home/home-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/system/login/login-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/system/menu/menu-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/system/role-menu/role-menu-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/api/system/role/role-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/1024lab/1024lab-gzh.jpg (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/1024lab/xiaozhen-gzh.jpg (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/1024lab/zhuoda-wechat.jpg (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/login/ali-icon.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/login/google-icon.png (100%) create mode 100644 smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/src/assets/images/login/login-bg.jpg rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/login/login-form-open-eyes-close.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/login/login-form-open-eyes.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/login/login-qr.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/login/qq-icon.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/login/wechat-icon.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/login/weibo-icon.png (100%) rename {smart-admin-web/typescript-ant-design-vue3 => smart_admin_v2/smart-admin-web/javascript-ant-design-vue3}/src/assets/images/logo/logo-min.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/logo/logo.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/logo/smart-admin-logo-white.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/logo/smart-admin-logo.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/notice/edit_icon.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/assets/images/notice/file_icon.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/business/category-tree-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/business/oa/enterprise-bank-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/business/oa/enterprise-invoice-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/business/oa/enterprise-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/framework/area-cascader/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/framework/area-cascader/province-city-district.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/framework/area-cascader/province-city.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/framework/boolean-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/framework/icon-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/framework/iframe/iframe-index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/framework/iframe/route-default-component.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/framework/smart-enum-checkbox/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/framework/smart-enum-radio/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/framework/smart-enum-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/framework/smart-loading/index.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/framework/wangeditor/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/support/data-tracer/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/support/dict-key-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/support/dict-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/support/file-preview-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/support/file-preview/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/support/file-upload/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/support/table-operator/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/support/table-operator/smart-table-column-merge.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/support/table-operator/smart-table-column-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/system/department-tree-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/system/employee-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/system/employee-table-select-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/components/system/menu-tree-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/config/app-config.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/business/erp/category-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/business/erp/goods-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/business/oa/enterprise-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/business/oa/notice-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/common-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/index.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/layout-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/local-storage-key-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/regular-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/support/change-log-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/support/code-generator-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/support/data-tracer-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/support/file-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/support/login-log-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/support/table-id-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/system/employee-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/system/home-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/system/login-device-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/constants/system/menu-const.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/directives/privilege.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/i18n/index.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/i18n/lang/en-US/index.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/i18n/lang/zh-CN/index.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/header-user-space/header-avatar.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/header-user-space/header-message.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/header-user-space/header-reset-password-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/header-user-space/header-setting.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/header-user-space/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/menu-location-breadcrumb/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/page-tag/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/side-expand-menu/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/side-expand-menu/recursion-menu.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/side-expand-menu/sub-menu.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/side-expand-menu/top-menu.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/side-help-doc/components/contact-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/side-help-doc/components/feedback-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/side-help-doc/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/side-menu/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/side-menu/recursion-menu.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/side-menu/sub-menu.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/components/smart-footer/index.vue (87%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/smart-help-doc-layout.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/smart-keep-alive.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/smart-layout.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/smart-side-expand-layout.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/layout/smart-side-layout.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/lib/axios.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/lib/default-time-ranges.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/lib/highlight-line-number.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/lib/smart-sentry.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/lib/smart-wartermark.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/main.js (99%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/plugins/privilege-plugin.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/plugins/smart-enums-plugin.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/router/index.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/router/routers.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/router/support/help-doc.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/router/system/home.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/router/system/login.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/store/index.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/store/modules/system/app-config.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/store/modules/system/role.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/store/modules/system/spin.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/store/modules/system/user.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/theme/index.less (98%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/theme/smart-admin.less (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/utils/cookie-util.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/utils/local-util.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/utils/str-util.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/erp/catalog/components/category-form-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/erp/catalog/components/category-tree-table.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/erp/catalog/custom-catalog.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/erp/catalog/goods-catalog.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/erp/goods/components/goods-form-modal.vue (92%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/erp/goods/goods-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/enterprise/components/enterprise-bank-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/enterprise/components/enterprise-bank-operate-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/enterprise/components/enterprise-employee-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/enterprise/components/enterprise-invoice-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/enterprise/components/enterprise-invoice-operate-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/enterprise/components/enterprise-operate-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/enterprise/enterprise-detail.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/enterprise/enterprise-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/notice/components/notice-form-drawer.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/notice/components/notice-form-visible-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/notice/components/notice-form-visible-transfer-department.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/notice/components/notice-form-visible-transfer-employee.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/notice/components/notice-view-record-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/notice/notice-detail.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/notice/notice-employee-detail.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/notice/notice-employee-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/business/oa/notice/notice-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/cache/cache-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/change-log/change-log-form.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/change-log/change-log-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/change-log/change-log-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/code-generator/code-generator-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/code-generator/code-generator-util.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form-basic.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form-delete.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form-field.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form-insert-and-update.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form-query-field.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form-table-field.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/code-generator/components/preview/code-generator-preview-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/config/config-form-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/config/config-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/dict/components/dict-key-operate-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/dict/components/dict-value-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/dict/components/dict-value-operate-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/dict/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/feedback/feedback-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/file/file-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/heart-beat/heart-beat-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/help-doc/management/components/help-doc-catalog-form-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/help-doc/management/components/help-doc-catalog-tree-select.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/help-doc/management/components/help-doc-catalog-tree.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/help-doc/management/components/help-doc-form-drawer.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/help-doc/management/components/help-doc-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/help-doc/management/help-doc-manage-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/help-doc/management/help-doc-mitt.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/help-doc/user-view/components/help-doc-view-record-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/help-doc/user-view/help-doc-user-view.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/login-log/login-log-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/operate-log/operate-log-detail-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/operate-log/operate-log-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/reload/do-reload-form-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/reload/reload-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/reload/reload-result-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/serial-number/serial-number-generate-form-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/serial-number/serial-number-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/support/serial-number/serial-number-record-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/40X/403.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/40X/404.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/department/components/department-children/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/department/components/department-form-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/department/components/department-tree/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/department/components/employee-department-form-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/department/components/employee-form-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/department/components/employee-list/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/department/components/employee-password-dialog/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/department/department-mitt.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/department/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/role/components/role-data-scope/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/role/components/role-employee-list/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/role/components/role-form-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/role/components/role-list/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/role/components/role-setting/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/role/components/role-tree/index.less (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/role/components/role-tree/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/role/components/role-tree/role-tree-checkbox.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/role/components/role-tree/role-tree-menu.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/role/components/role-tree/role-tree-point.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/employee/role/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/components/changelog-card.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/components/default-home-card.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/components/echarts/category.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/components/echarts/gauge.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/components/echarts/gradient.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/components/echarts/pie.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/components/official-account-card.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/components/quick-entry/home-quick-entry-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/components/quick-entry/home-quick-entry.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/components/quick-entry/init-quick-entry-list.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/components/to-be-done-card.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/home-header.vue (99%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/home-notice.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/index.less (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/home/index.vue (83%) rename {smart-admin-web/typescript-ant-design-vue3 => smart_admin_v2/smart-admin-web/javascript-ant-design-vue3}/src/views/system/login/login.less (98%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/login/login.vue (94%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/menu/components/menu-operate-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/menu/components/menu-tree-select.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/menu/menu-data-handler.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/menu/menu-list-table-columns.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/src/views/system/menu/menu-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/javascript-ant-design-vue3/vite.config.js (57%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/.env (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/.env.development (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/.env.localhost (100%) rename {smart-admin-web/javascript-ant-design-vue3 => smart_admin_v2/smart-admin-web/typescript-ant-design-vue3}/.env.pre (100%) rename {smart-admin-web/javascript-ant-design-vue3 => smart_admin_v2/smart-admin-web/typescript-ant-design-vue3}/.env.production (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/.env.test (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/.eslintignore (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/.eslintrc.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/.gitignore (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/.prettierrc.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/.stylelintignore (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/.stylelintrc.js (100%) create mode 100644 smart_admin_v2/smart-admin-web/typescript-ant-design-vue3/README.md rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/index.html (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/package-lock.json (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/package.json (100%) create mode 100644 smart_admin_v2/smart-admin-web/typescript-ant-design-vue3/public/favicon.ico rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/App.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/base-model/page-param-model.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/base-model/page-result-model.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/base-model/response-model.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/base-model/sort-item-model.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/business/category/category-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/business/goods/goods-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/business/oa/bank-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/business/oa/enterprise-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/business/oa/invoice-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/business/oa/notice-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/cache/cache-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/change-log/change-log-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/code-generator/code-generator-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/config/config-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/data-tracer/data-tracer-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/dict/dict-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/feedback/feedback-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/file/file-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/heart-beat/heart-beat-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/help-doc/help-doc-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/help-doc/help-doc-catalog-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/login-log/login-log-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/operate-log/operate-log-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/reload/reload-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/serial-number/serial-number-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/support/table/table-column-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/system/department/department-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/system/employee/employee-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/system/home/home-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/system/login/login-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/system/menu/menu-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/system/role-menu/role-menu-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/api/system/role/role-api.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/1024lab/1024lab-gzh.jpg (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/1024lab/xiaozhen-gzh.jpg (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/1024lab/zhuoda-wechat.jpg (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/login/ali-icon.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/login/google-icon.png (100%) rename {smart-admin-web/javascript-ant-design-vue3 => smart_admin_v2/smart-admin-web/typescript-ant-design-vue3}/src/assets/images/login/login-bg.jpg (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/login/login-form-open-eyes-close.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/login/login-form-open-eyes.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/login/login-qr.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/login/qq-icon.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/login/wechat-icon.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/login/weibo-icon.png (100%) create mode 100644 smart_admin_v2/smart-admin-web/typescript-ant-design-vue3/src/assets/images/logo/logo-min.png rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/logo/logo.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/logo/smart-admin-logo-white.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/logo/smart-admin-logo.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/notice/edit_icon.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/assets/images/notice/file_icon.png (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/business/category-tree-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/business/oa/enterprise-bank-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/business/oa/enterprise-invoice-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/business/oa/enterprise-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/framework/area-cascader/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/framework/area-cascader/province-city-district.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/framework/area-cascader/province-city.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/framework/boolean-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/framework/icon-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/framework/iframe/iframe-index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/framework/iframe/route-default-component.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/framework/smart-enum-checkbox/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/framework/smart-enum-radio/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/framework/smart-enum-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/framework/smart-loading/index.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/framework/wangeditor/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/support/data-tracer/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/support/dict-key-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/support/dict-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/support/file-preview-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/support/file-preview/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/support/file-upload/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/support/table-operator/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/support/table-operator/smart-table-column-merge.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/support/table-operator/smart-table-column-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/system/department-tree-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/system/employee-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/system/employee-table-select-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/components/system/menu-tree-select/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/config/app-config.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/business/erp/category-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/business/erp/goods-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/business/oa/enterprise-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/business/oa/notice-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/common-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/index.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/layout-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/local-storage-key-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/regular-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/support/change-log-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/support/code-generator-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/support/data-tracer-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/support/file-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/support/login-log-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/support/table-id-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/system/employee-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/system/home-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/system/login-device-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/constants/system/menu-const.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/directives/privilege.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/i18n/index.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/i18n/lang/en-US/index.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/i18n/lang/zh-CN/index.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/header-user-space/header-avatar.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/header-user-space/header-message.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/header-user-space/header-reset-password-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/header-user-space/header-setting.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/header-user-space/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/menu-location-breadcrumb/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/page-tag/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/side-expand-menu/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/side-expand-menu/recursion-menu.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/side-expand-menu/sub-menu.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/side-expand-menu/top-menu.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/side-help-doc/components/contact-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/side-help-doc/components/feedback-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/side-help-doc/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/side-menu/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/side-menu/recursion-menu.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/side-menu/sub-menu.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/components/smart-footer/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/smart-help-doc-layout.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/smart-keep-alive.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/smart-layout.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/smart-side-expand-layout.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/layout/smart-side-layout.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/lib/axios.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/lib/default-time-ranges.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/lib/highlight-line-number.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/lib/smart-sentry.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/lib/smart-wartermark.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/main.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/plugins/privilege-plugin.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/plugins/smart-enums-plugin.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/router/index.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/router/routers.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/router/support/help-doc.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/router/system/home.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/router/system/login.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/shims-vue.d.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/store/index.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/store/modules/model/UserTagNav.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/store/modules/system/app-config.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/store/modules/system/role.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/store/modules/system/spin.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/store/modules/system/user.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/theme/index.less (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/theme/smart-admin.less (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/types/config.d.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/types/env.d.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/types/json-viewer.d.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/types/smart-enum.d.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/types/user.d.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/utils/cookie-util.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/utils/local-util.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/utils/str-util.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/erp/catalog/components/category-form-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/erp/catalog/components/category-tree-table.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/erp/catalog/custom-catalog.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/erp/catalog/goods-catalog.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/erp/goods/components/goods-form-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/erp/goods/goods-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/enterprise/components/enterprise-bank-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/enterprise/components/enterprise-bank-operate-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/enterprise/components/enterprise-employee-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/enterprise/components/enterprise-invoice-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/enterprise/components/enterprise-invoice-operate-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/enterprise/components/enterprise-operate-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/enterprise/enterprise-detail.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/enterprise/enterprise-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/notice/components/notice-form-drawer.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/notice/components/notice-form-visible-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/notice/components/notice-form-visible-transfer-department.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/notice/components/notice-form-visible-transfer-employee.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/notice/components/notice-view-record-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/notice/notice-detail.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/notice/notice-employee-detail.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/notice/notice-employee-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/business/oa/notice/notice-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/cache/cache-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/change-log/change-log-form.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/change-log/change-log-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/change-log/change-log-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/code-generator/code-generator-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/code-generator/code-generator-util.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form-basic.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form-delete.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form-field.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form-insert-and-update.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form-query-field.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form-table-field.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/code-generator/components/form/code-generator-table-config-form.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/code-generator/components/preview/code-generator-preview-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/config/config-form-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/config/config-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/dict/components/dict-key-operate-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/dict/components/dict-value-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/dict/components/dict-value-operate-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/dict/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/feedback/feedback-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/file/file-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/heart-beat/heart-beat-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/help-doc/management/components/help-doc-catalog-form-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/help-doc/management/components/help-doc-catalog-tree-select.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/help-doc/management/components/help-doc-catalog-tree.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/help-doc/management/components/help-doc-form-drawer.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/help-doc/management/components/help-doc-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/help-doc/management/help-doc-manage-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/help-doc/management/help-doc-mitt.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/help-doc/user-view/components/help-doc-view-record-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/help-doc/user-view/help-doc-user-view.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/login-log/login-log-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/operate-log/operate-log-detail-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/operate-log/operate-log-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/reload/do-reload-form-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/reload/reload-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/reload/reload-result-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/serial-number/serial-number-generate-form-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/serial-number/serial-number-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/support/serial-number/serial-number-record-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/40X/403.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/40X/404.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/department/components/department-children/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/department/components/department-form-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/department/components/department-tree/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/department/components/employee-department-form-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/department/components/employee-form-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/department/components/employee-list/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/department/components/employee-password-dialog/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/department/department-mitt.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/department/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/role/components/role-data-scope/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/role/components/role-employee-list/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/role/components/role-form-modal/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/role/components/role-list/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/role/components/role-setting/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/role/components/role-tree/index.less (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/role/components/role-tree/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/role/components/role-tree/role-tree-checkbox.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/role/components/role-tree/role-tree-menu.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/role/components/role-tree/role-tree-point.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/employee/role/index.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/components/changelog-card.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/components/default-home-card.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/components/echarts/category.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/components/echarts/gauge.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/components/echarts/gradient.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/components/echarts/pie.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/components/official-account-card.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/components/quick-entry/home-quick-entry-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/components/quick-entry/home-quick-entry.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/components/quick-entry/init-quick-entry-list.js (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/components/to-be-done-card.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/home-header.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/home-notice.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/index.less (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/home/index.vue (100%) rename {smart-admin-web/javascript-ant-design-vue3 => smart_admin_v2/smart-admin-web/typescript-ant-design-vue3}/src/views/system/login/login.less (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/login/login.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/menu/components/menu-operate-modal.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/menu/components/menu-tree-select.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/menu/menu-data-handler.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/menu/menu-list-table-columns.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/views/system/menu/menu-list.vue (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/src/vite-env.d.ts (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/tsconfig.json (100%) rename {smart-admin-web => smart_admin_v2/smart-admin-web}/typescript-ant-design-vue3/vite.config.ts (100%) diff --git a/smart-admin-api/sa-admin/src/main/resources/prod/spy.properties b/smart-admin-api/sa-admin/src/main/resources/prod/spy.properties deleted file mode 100644 index 9877f620..00000000 --- a/smart-admin-api/sa-admin/src/main/resources/prod/spy.properties +++ /dev/null @@ -1,18 +0,0 @@ -#相关的包 -modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory -# 日志格式 -logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger -#日志输出到控制台 -appender=com.p6spy.engine.spy.appender.StdoutLogger -# 设置 p6spy driver 代理 -deregisterdrivers=true -# 取消JDBC URL前缀 -useprefix=true -# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset. -excludecategories=info,debug,result,commit,resultset -# 日期格式 -dateformat=yyyy-MM-dd HH:mm:ss -# 开启慢sql -outagedetection=true -# 慢SQL记录标准(单位秒) -outagedetectioninterval=2 \ No newline at end of file diff --git a/smart-admin-api/sa-admin/src/main/resources/test/spy.properties b/smart-admin-api/sa-admin/src/main/resources/test/spy.properties deleted file mode 100644 index 9877f620..00000000 --- a/smart-admin-api/sa-admin/src/main/resources/test/spy.properties +++ /dev/null @@ -1,18 +0,0 @@ -#相关的包 -modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory -# 日志格式 -logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger -#日志输出到控制台 -appender=com.p6spy.engine.spy.appender.StdoutLogger -# 设置 p6spy driver 代理 -deregisterdrivers=true -# 取消JDBC URL前缀 -useprefix=true -# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset. -excludecategories=info,debug,result,commit,resultset -# 日期格式 -dateformat=yyyy-MM-dd HH:mm:ss -# 开启慢sql -outagedetection=true -# 慢SQL记录标准(单位秒) -outagedetectioninterval=2 \ No newline at end of file diff --git a/smart-admin-web/typescript-ant-design-vue3/.env.production b/smart-admin-web/typescript-ant-design-vue3/.env.production deleted file mode 100644 index 2c249e8c..00000000 --- a/smart-admin-web/typescript-ant-design-vue3/.env.production +++ /dev/null @@ -1,8 +0,0 @@ - -VITE_APP_API_URL = 'http://127.0.0.1:1024' - -VITE_APP_PROJECT_TITLE = 'SmartAdmin' - -VITE_APP_PROFILE = 'prod' - -VITE_APP_MODE = 'production' \ No newline at end of file diff --git a/smart-admin-web/typescript-ant-design-vue3/src/assets/images/login/login-bg.jpg b/smart-admin-web/typescript-ant-design-vue3/src/assets/images/login/login-bg.jpg deleted file mode 100644 index 64b6240bdb5fcc2c331f16960308f3c5b2ba70d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3517917 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%0DSM9Ft=?0d?k;Njo7;9z>y_xnO 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%0AMEWZqGFBI!NZ*{V-B``9ACPG~p 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

MD5@rebVl7(u1ljOVZVl(EZR@mF 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

sW#@uZ*rb#q(&s)iZ}M!D+R(^(@+m_0@` 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 OO;iRIaSb`^k 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

sn42cKBpbga1@xdSgGFS<0#dA~e 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⪚#<@>Vpi%qILv;bd3B-?*$= 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%0Aa{y(^ivLukjMwy5| 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

%tHmNc*z`(d=xxO8b^%cufK zcve;_JnG;`Fn&0s-)Om4%%8vBTi9(bTC}#3-Me}bZY+MBgAX4c6N8za_h433{HO2(pQQLy8+DH`qvCSOu$p=y;_kf0h<AtBryPzK%X(l0A`*C3S7vGUD=Hy zRGKu<0DL;kWrrxWGaLw40VW6%sx-7z0DmQupIkIvDwxZHRh81DN$OZBkp$I%2mW|z z$dj2NI-63$TU5b_Ax%jzVW9Zojjqv$VgQLCupp}phxHt(I8DRv4qEU;Tdu<-YmEmw zk1?$bXM`RkYl|%!Mw4zB&(x-?q#6P~BMCwTqI^j2Y_TZ7s;tvURWc+)3iQtoW5k== zg4B(1ZZ@N>WQ_u_SwM{h>4-V_bjH<$mv`h(fp2xvDVs?k7}KO@07!|&yDY9Ha>JGp z2#Br&l0>m$PN6g+0RT-1&lo(m*+1k)b_`4tr9=g+c}XD50~7Pa*~-D7$Zt75m@*`< zT*1^AC=6#2#CnrTk^p1|H030^>7S}t5C&OcB-?{t3ki~r&*aeyhm^kwY^K`br2*3Bw8w-WmjX95!WO0!b}G( zqQI*>sQQ3qB*8#Tjcp@5u$uwmSQndxNJ#|OL_x{`si)zD0*y|xdMLR8<58C5y16>kvr_pg@2;U}58rX|s&vZsom20R*m^PG&?13sK{Q+FB6q zxuxqLloD)l#_Rw+Mp}(gEhLh%-$*|UZOJNhF_jRtFMMZe^L&F_UN?l~ceh-!+Z$b# z{{T$3lL~J=wXy|s1Xl^wSwuPb!7gGr8$W~gAG*0VwR4nRuLEV*Q9HZB{@^GP>5ZL| z&sn69F?8Eju2e6~o@iah;o&`m?LIUMoR;T*&EE_huCcP%p@2yiEb6%P0D0Vq7`3%k zY0MJ$Q%2Y0_PcnmryGto|DpZ z5!2^}Kr$YZ15|@U01l*@O#XNSyl$sC868=W0ETG!94yG&Tr>gCmr;ObkYLlN!kA#S z?h{;^5+KH8oTSf6VFV4_d7l6U4^Id^aW47Bh1Exi98eggat4(XN>>_j?gwmRQKu>x z7CD@=2AP5Q<12kxM7J(LFG|K@u_Vye4qhJ|T~sJzqw^GwAdNC}ku^Rw_@0=enr+E3 zSuNWaE*&a@SeWv~O=GASiz#u$oVSe&*KO@u<39fAI`5rU!&612kb(pN2!e68)j3r0 z63LY{!+zrc$3jr)G}Y7qXruY#QN-YuqC|DdB9!?IFk^~HBf_K^{-1!rB0}5|PcYtCAGlFC1)-anMglD}%MQA>s>OK=i7+GN14epIy37HGj80smc_;fLfO9CP_ z<0H(%avFj022Oo4!ocGMOP4$VnUYwVf=qSzeDIqN;wxS9$uKim1d>6L2*?mm@WBA3 zkec}<%o(qibqzBhmg|*1IJF5w5f$&j6G0=T4QVh4&&LxZBE86&%RZpQ{3;@8;}}yR zq8NMMP!*(+0!tI+AkY;t<2WEhH@gyKv1(W1)FUq;n8iR4?py>Bq;(8ntg!tnpF(m~ciu9=ZS zXld}p4!lc!!p2yZ)BqkOg+p|bK0X*-;Ue1JZfy`ykgEbFK#@RJpb#tY#XGHIC|{{E z&p&lcUjU)iswPW8)1(nmGj$RmkX60lnG1x}j z@%(=BL9=YQpFOAzAEc5ZfWR2Z?blbRJeZF6wZ*{eY1RCFZ~+H42q_Q*_~Bb>bkJSs zv|HYHR|L_p-|wv=GJ|UKjn>}Xu^=563tMDm$OAQ;P4=r)n#(G!<+CZ{{nou~t&VGt zS7HEt=Nv$g2~f?pyg}0fNLDe7zST0)$w{kLQJ-;L*TC}%pSR^U!sbVBe4W1IP&oy^ z>H3df(oH&I60>mAz*f_#em4U!8LNE^p>(uKI#?4qW1iD3TY&hHUA*!XD2lMH1wfEu zrxcv+!|w40(967Ajb~b&Oay+TKT(8u z8GE{im_a@SDJm%pK5_VB)l$a*8f&^%MyI$810-ovpNT&VO1f?k+K&+y^rEQ{1oZQ) zu$<-(#}R8Px&HtmaR6MY5J85LB$lj$GZ$%109xRZNdVNrHEMlPH9rpwXM0T+yg$TOwwLxGE9a{X$0591jFwE+c${?2!r~G z`iT+=8N!LLTxV+WK-Uo3?vg+-z_0`o1X6=3iNbCwlKNi190h<;&S%CxXRHjsTx~h- zfs}4BG-;Cr+&@ej01ukDs++cGy=2{@+1_3ot z(@>gt#YC3r(;KPLk~l6hkV*2BNQFHCH0y=~Y`_|IK3R$mf(Yq?e-L4Mpo6H)>3|*q zCXzm5KA6Vx?J9Y3`iND$zF>fBS0`B>Y8;`aRzEY1TxrB{AbPAt&mV?KsYL5Ecphrm2_6x>D`=_aCpk_Xl1H7CRJ#YhwzF;hTw z6AA>6FIk+x!65>YRO%8z&IzpkkSPU56Uxa=XSinLkR*b2MFm_$)*?ZO{BVARf~}>Z zTmk`x5Cj2GXh0+K#MLUiY5}{CEeOa;!IEkGV-+$5IU2O73df=IOlBBO2?ODt8}0$| zcR~e&Bo>7v{U$zP4u)r2VLTXx>U`f?M z;(QJa01tU>0L%`JL0H6TVrU>%q~cwp#H6H_E-cWjfh5edOhE=ll{KeKR8{JU8Eq%@ zfc|KxT|$$lAc}Rth`<2Fm5=~of%6gcnl47Q{{T!Ms17J9D>Ec(`BY^RD}V||a%HDc zn%Bq5Yn0%aO|W?!lHO8Io}>(kp&*!uIB6)A5D@^DYKf90DL+SmG3Bcq{BU3jE@UWg zFTIss@WI4DsU%lOK5EWj)1-{5F$uzNv4Eh7 zk@ZN52+PC5acUaz0*R$*2T)-$KsgA=P7|_9bEwjt16Nig$SbNv3`{}O)JNxqYba@_ z0*niBM41GE1XhYD0}m2T9aC6(Z~)gp)ly2UbUpwTCS(#PDq}mVS{9PZl^x){${2*y zlK=uuD-@6`iH7oyk}^Mz9LPXwT3HPFssTS(1f5Y3GV!Ry zrCPZhB_jH&rgX4iAP{u`+PVS(0zV82srkD@n*#)yq4`WqW_o!<*WrrHl0R;slIlwc zCJ7*l`AYR9bQnt0-cnfvAJRZs)1(0!fFy!RoX=cF-2GeyY`E+ic4v{S#L!kC3dc^7 zjGD{|DaR9_y|><-=VW&Cu`b(vt=)^4T@GJke&*eg`pRek16aqpZ~p+~Z?xs2*dm9FeN+p+m1IxTN5a$FAN zgEBWZe{*Fb03^M-R~uKA(Wdf@bX?tx*ou0@45&^~AV8T- zP)wZSdV$iv%L`2h8J;3m1W1z^MLbW$j<{sqw54{BD*;BCIa4o=anlTSZK+|3&spo> zD0&ReSUbua%4CC-e5;pIX@Hk%tT&K=GA5oC$mTpwcqao<0+9l=C5Bxf85J@sgr!|s za3a#MxSIR2Rkl0+@!<&aas2ykcHri1@^({lTTMomd5;`c?N!>k)uL&K+|7!ibr2>9 z5hj)JH8L>@VA8GGOBIwyOo&q^hHLmzm`+-8p)GRex`HH0BteSSO=dn{9~?@Tp>=Yz zsO*M z4onG|6!RF<{{Tqp8{ve~V+=k)hM;m^mHsiiZ3N=(js1f~Nss$_Kf^b?<+F+jIStqwYeuiI$wOaP&WqOV-BaW0AaSaH^eg+CvKNIxF5{{T!V0)ZqL{U(BdPsWEnp9}yw(2lZt0DNhLMfF%u zB@vf>$vW zpC5^z93AD92>=)-u?7Tw9c1CP4ggSdVg+OH&N@wF5(0RWSjwGP=LE=;huy@RX@dl? zPSe~?+Aw9c&GzN1%A~++{C?!yC;tFYw{!BxPbFT~bxg{x+9Nn8^6Mkx8TF<);MrQO zca$Ml;z`O0gW>S4FtWxn&;&uKu0>9hB$6me>GQ<^!v#M`kg^~|R8@bu2VVV9=oJnZpF6LE!gtDDE7Z-`}PjJ4>KH#kK>$bhN=6he0jz?zZ;_N%0fV%#c_ibn- zCEFX#fYydjrF;WO$K}4M>9)GJP1Pve?fut@^_Bks;CrvoDZkP>+V=A(;oSSrp|05O z&er!&+rHTM3$!^4T$gQkM;Eu>ZEo$zYrAXL5nBGkcoDT)-|VkVyP(86pB#RB)%5Rb z-)_nCR}g+Ty|cN~bvN1E)me-km8P?Q)zNMA+WVyuh z<1lisy1lNKb~lqt7G%A1Ol!EN~Kgj&U+@6@aUa4L9SJWt_ny`C^RI%#E>W1&p%LM^Jv8=tE9;63hc_>Kd6R zInT@1JZA&LfeSiv$}%*qJ{iUU30N~meMmWFAPJ26VLb}2ZIR-D%z_NgWB&jgDQ3TJ zuU$sw2~!4XAWmK{1ss4X3`~Dkbpzr~0r1F!FJ9+I6F<~OeSQ=N<$ysNcro#*kN6k|o&#(PWJ0ilDIz>0z{UYYg(syX zLHuL*h`>2(@Dm~b0Ga+hP5}}ShE|gV9KLzhuyC2BGMFr?0g0ILq|$tFPDbjLM!|!h zS@^*4%MK)tXIYITN_|u2`FPLAD&X!E!{(fbNisxgh{)IH6(C@U2WM=t2%1)qW}h#^ z3_voUs%ScYr7A>pz$gVkl0oxk0m>@`jQ*eHfCOL&)KO##{AVpbCNKaH#6Z$S0)M6l zPsVTu>MIQ@WnzHkI(*Sggx0tQn_3LA%$&&cAL$jLQ`RsnWKu9gEw=okCJjdtZ;S`vrG}U~CBSz7f>C-N!;gGHf7{l7rMgpKg6@Y&ZxLjk1ppMqM z>G<`jn3x@DibBXHz=rxkgYzW#&J={QJ8f1;6rqp^ACRo)hk>TJkzZ@#W5q~;(xk;_ z3lo5j!Yl07va#i-g5kZFRmPT23J*2Fgfy6meC8aC?AWniFeln()@5toK4uQ2olDQ80y-TQsExb6P{w*$@5R0i^l z$Xb&W%n#v;=SfQ`;Yo&aUfAsJmJPNIO(lwdaYC6yNz_+CGt&)Q9pbBP7%w60&e85V z{@G(tIy9)Y>Ok``ELur1NQ^aTmXzQVaW&UZk%aGkm$UuP{k-V`b!d-MTg2iK^F6jSOdX+5DE-LbYk=s#rw7HZxl->J-FOj9#XsO zcDEspoe{3;87f4Ox%@Evj}}O3tBW(vGww&cHu^2{oKFqEfTrouduMT&Np?DA0eKK6 zhMjR1t!=>rZ78lx`;PmR?fuGy<$H6J*}DmM+TORg4OkwXrxvcr8G{fqobfAZH7)sp zN^&i5_S=#Axt8PHkNbRv&Fzy|^IQhyuois2OGxQi!gWo^xZu2P z`-gXJfRIO zO9%`BGQBf_L!BlupCWI(a?y6P-6&#Qs{lxcn)n0%0H+aZDUJap<89pP$fRG0h?4`r z`KC!Rn8V~jt`?=@*Kslb0OO-E`t*b2Dsm)v;(pR?z5$hnU99&bDUfv%WR(Iy29pN0 z@ac@++E{v&toT86wcM;g{^6Pt5+K$|)%s*~IG?xP4Y#RsvE472zcXDjI?v7^;kq}b zSf)FR*5A7>ucxNqVN)5IIn8o7n^S^Xj#j)&-Jb6tE~w~cO#Fxy6{aQaz}=-oFB^XB zw%UD0IS-6MF_{LRo);%#1#2aYmwR2yw`l(8rAcpridHEG}F+QyTotRQhFH52aFs89`&uTf=B74 z3|2Eg0fYgcNSXx$Fh`V{<{;n#fP)I}<3bxuo}($i0)cR4a21i|A}T*ji2&0K1rK$9 zN|iN*BoYlK4Nv8O2S0J74M^+esft1Hug3reH#X^7(u^bH*8uV;xQ!DZKB7;?v0U&0 zL(>3=BcU-fT*hKg=YRn8lc5rFB-c8BIKmf!9jtkyP$mhdT;jQd@EERT*d;$ACDqd) zgOJQ;;YtgB3uK{Z++HNdrD#3L>4>$}6TP4H7iVe1o!{=4di$Av_1*5`?{0R@rMYs| zqU&RIe{QB)^4W9f@!L~srsePN#GfuXH+SoL!fjFa#CFNGX)RW{XOus2{{ZBV+h1qy z@BO{@8)32cd)&lp`+eR1J8^ga0D!%@xVE5fFY|rJW#gFL?dn?I-s{6GGc4oRdXHAx z*iOAXK4q^3*m>TI(YG%b-}+w#spP%B-S@}t-@R@3kAC+yMz#^cmHw=cNeah}xs ze`(rnZMfaKi(5VJ_S&IUx3*i1Sz_zg9u~jyI?c~Cs(;k=={{Rg+t*+heY{`=Qe%j+1PSb|kt-@6q6>mTWao@Gm z?Cmcmuj40--RgIDoZ07ue11mc;(I%k?p??3IUD4tCTygQojG+Y1(!-L%>>AhoAK8eMLd3|#A!CDMgNh&bB2Zncaz z+o8{Xr77F2PsUD);5!RvY;8+z*j%<$*a(iHRBDueOcjVVpVN(LNUSYSAAQQF<<xQ ziLPg%I9$1uXIG9@p_2Z>=9LJ2GIRrQC^|tkpzF|Kp(eX9WOg>8LaNjSSuy6IB81SB z6~H`di;8Up8m798PL&|cz|0H?BF$s4y4X<)3e3nLW(beM4gyK&hs`1f>5mT?jEq+S zNiI4QtfOiMRX_vkkaU6LoEgD@v~UgdsRWXzAr%AXGz>5y(qwkpHwBRZ>egX%;b@|{Oc%Z~UCY9=IFh3cL0NgRM-g7#D9Ykp+C+0tv0k;Z5 zQcX$~@Foo41m``$D^QAOSn)a6!wLd8ifaM@5GXzwW!DT~=a-FR{{RdC6+StBX8-^J zukfgdrc|Do0gL7&P()YfOsNn6z$Bnp6EOq|gPEs87zEvxqOA1*!$3U0By|QL0zjs7 zkiaEx#G*gr@E?{E8f}Uql$w#8cz@3fZ-_oL`2kPofM5n)PP8NeFl7E&-~YWs|Ps#W;%RpfH=Wak}L540H5W60qA@>{IbhD@BvalB#HP6pTorA zKnq9)etG#v@;G21)J%xzN6MZ!n>L;RSq4njw9okAD{vWIC-C_H0OWBkw~!PTnXLHd zBgE&H8kXP$kSamzC&xKBKvI%qfdT*wXRKG?MBoCt=SqqBWl6vSs*_PUiuf561YiLU zS#|jSUxol3QRSq0iHcAW8JV20PD)D!Dzq_H5@|6xkYbV35Sy}cQc&<0rUL3N*^oi_ zb@&g4Azzh7s8IN5QY@2lU;*YiK$_>!VLK%G+#;1PcgsaAN8DLLMW8OYktb3hAkJ`0 zf%sD#8{Ks%+NN3Mx_?UE+>7t|YSx@ck9F?1or$N=gGvG@C@KE{Jb10{qjzz|wLI@n z(QNGIiD|D91kQe069NpxH~<=`8F*teua!h`9tuyHK++CT6^eN0*W-$pYzaEAEu?)( zVW|BF%3-0LnwS}RPAR)XlQ>m>_YImf6flxn z6tFptpcv0AD#T1I4m4a!ZNd;&Qi5uW^vOTcL9Alttu<_XV2)KXwJo-o zCx6(hrEIlNfr;+z|nP6c zHL>X2y8DJA>TFa#qis}$tclMYTb)Inl~x-(zfG{H{K_oN8OZySySrm|X5Qxgqhu!8 z_U$Wr?Yku0vh8x-gX!56V1gv$E859o&Q8m0?ba<*PIDdYcIBPLy4kWBo7OiCrnPL( zsJ1RUkj(B(N13%oIqyz+a{e_jw#72j^F0o5@6X-x!0z_7dwQ69PRBJ066NHRI-AH8 zk{di$-}v)rXJnOJO8sQl8%ycAuvXdKdWgr@w#C=fDgCmH?j_pW%nE4(!w-JGY&O&E zCu-^;vKJ+DaJMZpZm!!Tsx5@ma@&RkgjiLZnt+KUc;gDTpKChylGPS1?cL+;fU=5h z+hPaqDRhOVpo`_UP?{Of^TjR3^JAisYbv;s4&dF`u{Vm6q!A=cX`@>i5CIX_9Q(VL z;Rlk~O3qfMHO+Soy}s4cdv@AdWVJTHkn$N>9hHc-;DB_^1e|iaa9L+{BDvynuf6{5 zT;lfoPQmT{(^};_me9S;xqVl7z5u$9+pC6Bm-$+OlX^qqF{ew>J>ARoJBrV0ns>kL z#Ng}tw_8`H*^YasFS4?~KErzbw^_C?@f$6nYnra@rCQ#S?RB)EyLdO7Z?`H#NYd{? zNjUL6Zr?nw@^c;8{)W9J)o9YibKfuHQ|KGm%R_CjY(w*w)CAttXA<<{{RL4r>AwBFLLhHZqC0WYHVLk&1$K2G%H&>ohx$DxX^A> zP-UK@9$Jm7Hle5ae9sqnRdm0W(q?;iw51Z@bYZ4nRaxmnK2{PzoOuM-GEPn#^EtAH zUQ}F?q0!a_F3=?=5Q*~$h{&95mHwP!H96g?mQzo-o|mm#aQ78$K88dMbIJpcsG0K_ z$3on#Ef$3IFtuHit#d%u?m@K?sK1qzfgm7iKsn4DT&gbIK)% zdseT)wcQ?=eY0EEK!8baFPVjFmRP5Kn!a1CzTz!i$mXtB9ENunEnO^^11K6os1IrG z5k*vKT}u@>ZP{7nay>jrTU2$1qxJDEqjkAU@1d>)I<;H$h(JtGD=Q10exTDF?e5ae zQc~h-_Ni(`oWIN~O?kDF0le@^+<#3~NudM~sO4#vB~yCowXb8q?Z}esN-?NsZ|RnG z4i@CAC+=?Fw@?A|P&|Y93{^I{TbAdszl;f8TG5Zv2(P!=r}xF{n^%)D=sYE$#-L2(*wzB>y_ zuj)%(coy52Z!#yQ=3`aMdyqjQVr}YDRfJ_V&luj#!(UddGNCIp*MmjBael?83wKqN zb@cQtyN|aF#uUe&($e)L#xr}HKSPw7`DCR_SvOt=FS=`%>^oUR-fe}@A63(BwB00n zmWsP**QAIdX^dNSqjmEy%-V~Z@a0+!Q_c4nvFlu0x2)XLOBb#OyhgcISvqbPRTOW- z9y5EWhV3~#w${RQN)zujH#OW=_X&A*qwe=AZZ)fh)w|b)vH-Vg*xw;6scy=~q)XN>dVZt8X4WaBurS}3Ty^Z$t#fhs!OeZf)V*}@EZ5jt z7FOMzzn1GasLgGz6V%b~a727@q$j}R-MytlA@1*50HLr3yChq-muo6z-_l1c zqCsiTATay5m^swcUf{cLxIR~JwDm5NvD~_|pI zGUirIKc$}2djs4@x&4{;x4ACvEN=H)pJ#Cw_pP^LEq>_iZ0)yOOH!e~vwG740VG9n z?|maz>C;(UJU?^uzPgH?M&jb^{zln{V3!hN%Qe65P?b|Ut&$isqP9&WQybSRPaoVl zZopFR0wHN~HI!SvVi*LC0m1r=iSWloUm7XxKn=a9x~zZ;UZJ?&u>`DzGb1%?nK6j~ z;@*SNHaY1^rR201NEX{n7q;pk5QJ+s?g8-!8QC>%ZU$|LAuDi+hoI;0fXhwm8#uMzM2mY%A+1W6(w`=&2$N#AaX9IDG2s3LJ%N#@ZJY z;}Kjl59}&U;~GWss(gr`i={-!GoB%}4P%&dD?(+CI58nD4z|lWBQ48Lv#AILjoBSU z=Y>}Jd9(e+R~TgdzZwKv2uSqV06u2Z6=fo`8N`UD6y5z_Nb>v(rJbA=LXD)`m67LN zCNly>&mV?0gsYskPOmzX(~ebXsJSZYg~3KG0Fk3skrepjHo0<^MUr~$ZQ8i34ajXx zpn?_@R7$NJ13}}9@d8@y&ylp9R?-P8s6#LUT9VK|JT{@TO3yAy<6z8Gpk;z2XP~u2 z705}ijNp{eCp<}(_}3*%l>=2s26Tz?kU$2wJO$>{fbwkZ*$b&ADyXClWU(~|CliIt z)t6w@>h&p7)S+7sDp`-H!&1d`&=6F9cpSH`ARGJ#R{I-drLd}4X;7h-NhH>USMoT; zu2-okz5##kE`Uw27EYx!Wsm9+=J5nzmop{gV$RP>-1Q!eOz30ND=VE z;3&%MA`x}2C4EbZNw;yBl}##3Gvo+3Ss!xLxnJ2P>yKi>)&Brh3j$Dtk&`OC7Od2e z2g@4WR<*{gY8f+(?FHHGt=-%kWzU^$+X2d@$N@v0B$xyJF^ZV(8%bzSZa&qCRU=7- z1;(jnX$d1!wD@9`d7L6}l)Vmt_P^R|n~U3CvJ}yI;*m(;@Pnd&8!ho=(Fb#;M3DV+=mYMIQCFhu-lT~v6H9@#4TDglNDjI}39 znGk=T6>O$Q<(Yp`7$GH!F<4Tq>S`d;qf2EzBNm@&G{YDch*DEVunOE=G9a|f&`1aI z#ZTa9LcMQH5a1SI41%PEpTkL7eDF1y0xzTHe<@(As1zifMzO0Pns7jfPi!$Rs0%n? z$Xv^T6oJ$n^2-Y$rU5qY!63mvRb@j00Qy>l3fJX?^d`wmd`n%`jcVkAJm9jN=0SLo z0%`EaOb1>+n7pG zLu~mV)PT5!BAPtJ`9z03{BIetM;;h^qZR~dHBtV~_nWZssn^A}t zJ7v%^u7p$RstMAbMOXys(x4!Z3>eplxva$`YAnu025_Vi{{Vo)Bxp1eXERMx3PGWY ziH?{6VVvub!^p~_?M&Z7_Y7zPC*YhHqx5BTeck;H)~&0o*>(<~*$ z66GPQnvaxe5CNLgI`|okQA(+-kuF>eVMs7)Pmjc9Q=DTyS8q3Hno0K*%t$i?u^wgk zWgi?;=A7syhk?r)TT}u>fK74~fMc#4{snVd6DxGywcVz{2mb&yTpp&Jmc_Fz{{W=E zSbKHmyzmli*jsfwZL(XpMqm*-od81ow1JJ*d;u3b2oV6Nq?z$K$r)D-0V#8WC+2CK z)-wYPLxiY~qr)i^QhW(3Oergs0$D>)WfhSl#lC+$F*T4w`G#axd{|~@$1Jdhlmgc? zjpH1|#4{^-~Qf4iZ9VH4{nv{{TLR17pG>J;)@O{+RwIk~}dvVr+=_PewTsR=zn; zN@4QV>X4BU-#8`-$|Al3r^f?hBHV1mlUZ)QB!YSju)D)j8{Mgl;L}h4075g>Bl5*0 z9AJv~77bvML7bq_)OeBk;Lvf!ksjp{4l0L_Yq#^W@HHvG6h%7GDK&9 zTqL*Ly)45pL8MT(LVA<%#R>?fIqxFPKRy9&VuO07)J+9WZJp z$Tu&*h04m{2b!@4vRmVY zs9=iMsz#|HCLj$p$%!Bkf71kZib&Tk06wBjiU#^dqxCCH3TKA38&O#y-MR<_G=RX> zwGhU%FePFll8iO?^KmZ)^Sks7V$d@igsFNZH zCsMT1Ya~Di;!Xkag`pYP767Trhavy~C>emKt`ip$J;JgV%>Wi6dUYApVsci53y0`o zakW$pei2PD1c5chA}rQBNWP;8DRP2>V`pyEp*WZSOC77Ra^|`2E)0+tf@;#lr)vtPD@st*qZ1exjR9 zqch`u(b}@Ab2}!nazHzsk@c)7q-fi@^+0jfzbtd^?QpNm(ol5i)Z#vFv=&|)f57ZzD$3HFAmojj>1WjUys!OPSN(G_}(B!00JRi#on%cP#7aH77 zpblZ0T3DZ!bdL(*D>bVcmPUE-6a6uyih?}DA)n6;DZWcVs1d4(xL1@m9 zI#UkTaMM{S#{#Zy6}-YF;e6nZfQZUI2MtwPtD8}3g|%^9EEZw`nP6c}3<}gnD$kV_ z!bQ1#brnGXqyrk2j;IE?6F6%sP>CW1wPMU*FVbt)q#l#`V+$`c6Accs0WqWqA>baA z9RWQJaXADNUN-5J83uDYf~**YGJZ72O2WX$Lo;=zVAeVUMpZwa4l~4Y1vS8vT||8| zHC%`zGyE}~shL^>8#f7%lrY+X84@cMp*Yf9&jAP;;L?Lh%TfJcLDbcqNBNvNdH{?| z8mud73<;9VXX}$u{4t&F5s+c5hSDGax>rtNK#&v}ps&Lg2%yl!F@SWjnyj9os5N{% zFu)dNBT#}h0>()K2>$@2k?@T0fI?Zk#OVT}VCw+>sro}45&*GsVRR%$pvIJ~Ry7bo z{BSkFfaS5I7rOzPl{#c(4GEZvb;I!*Z-7CA2$nvWEE+%pWJx^}rV@{sMyzh$qO|}4 zQ3M5$WC?=MO=>U*cPg|1Jkv9$#7PoC{P6pRC$DcvVNd{S&SoYuCYS<7y?so+bsyY_ zQcQq6NE2ST0$As$rHu8VB+Ur@K#G4X0@S8pAh8f>@g^%-sQF=NnISNt~iV zKMDBY0*MGkOo>nkdhNK!f|HPs{>j#TS~Wh=ZBYe0^lkpcxL>d3$o zsDXx)oai7#{-`XlYC$oXAkJjvi@Hlq0I8Q(1Vj=Tbum?H0s=?lh?vL+Cs`r^YM(Lk z>Hd)(RPp$nD!Bo`!X-q~VzXN1@x{+z4fT-VY9>G;3Fsy&X_h(LdaZxB{{YA4P%^|9 zLlF6zC?cjZ1dq=fq$h?W7F|RDDgk07kaC0YoUmjE0WtM9p#$kq80R8#r-lg{(TflP zCTSt06DDN!z!~`nT4V{6282ikhFhoMhQ;Cvz*4PnwzE@7BvOV3Q-zKrj06ZsS{j%W zK}rok#0*W6Oa9&>Dd5kPwnO7z1`##+VNuO{qym;R^r#dOCKON-Vsbw$X{Uf8H4jh# zs#QqULkj?DKN;}rg=C%{f!xA5Ni*gnQ8bT_fy2+pID$hs)EPh|XjCFZNRv4O)^RPu zo(OtWMIS&dEfFM;WP%L<^DZhxD#xhA2oghT@qzTor~{$T3yEFGbJU|2^8$35#*>(i zx+5`#YgH`h3eQF~!&OK!44$-Hy5&p`d3?Qu_!X^nfLsU?G?+02_)Smp#&)`x>H$(M?%Im=Pd}5(oseisHWHIbp{GD!|qydJ;fV zPsV;9o)pV(w6)rAPi|*wJF|p!(EL|+@)r>a1}t(v`@1A`2tyc*d$#;pR?Cf1$1PqS zuBp$svgh zjw7Ix1Vsof8UFyl{P3YH#!ZvvQnVDwh=54z)5qpx3{5uYj{&w6)fE|ZCchq$;eeY_ zHRaSUnMkjfFh|VNaE%0$-~xh3nVHNFo&X#MV9=0Ek<;bz!vRF*NuQto0}Ps|LX+_P zN5+4iCHM|w0{Oo{Cn@*{ugeuUChAb`p{63RGKn-Z{BWQx=225#?U3w!$mA`DBF8z~ zdu`5$SZ&uExqAf8bLm_HoiU?_w!4hf;Z7va!JQ-%rj@DbkeL!334iQN;h4hG9AWXo6Ak5N06p2g**s#m(0GQCX^l^!K@6=K{cEKbt*W>jtqe?CQU@;m&LK0aw^$Ta=m0# zBx!?EKrN(>nGiY;&jG0TCVdmE7d0CVjg19Hs5;Mk_p^vwF(CT*q2%Qv)ht}A!zeT*vIS1Zla_-0%Vl1`AI zk2ji`nvc_83}k4NNhhd`v6M$x$|hzg=eVvj4&8vB1{~NcnU|D(g`)iM{b1KN`K?0-)nzs zdiU>QuIQwVBq$A~#EB)kXOB;=CD}?n4K(!B*WJgr{mre=Hf-NZ>7?FuKy5m%i*E!L z3JqioXMM+gG&IJH<(_Rji`(Aj;62IhA5PCR+gzC6Te>c-v&h=C;P1Gt!oYjmPD^GQ z)7vtnHAH|%u={`2x4kQ@r&UJXQ;S!FtJlSzC)BzR`Q0u0YpGV!-}KpN{{U|N4`F?> z@9r1ee$MUwVHn%K&JFHu8$XFzUw&X29a6zV< z@EK3X8Sd?>IICQ*_huZ~%QF+G173&2@FyW4V> zDSiZ}8k8SNB!B^sTCz-iKw(ESgj#7ikBKSnf@Bk>1eiV&WQ?%k)in5u&zayINA-e0 zC4m(NnF1&Q!X$dEx%d%25lJ#CGr%9IOiU3q21me2lbkTZfwzcxVu#2O0f;o|&{yGt z2hF5w#5Dx4Bk7U=GhF6JTn|Cl>Xo3ZDn4CD@#{Xn_ zQGf)tT_-unQ#=hwt7TQ5(wI|FCNt;>24F$KJOS0mFgm1UM0EK0=hqCGm61OW&px>t z;1Ir3(z##^HXAUAGa`q^M0gp(jwX)EIY!NCH0d57&t8~h3T7frJR|4wz$Q>_G%`Vm zj;1=`YD=w^bra%6O!!Iobihk_kwFC zQdXvhVm~SPc;OVWpbQ3<=x8+4@Qe#kx6=b9VELAOLF#g+$YPA5HPjVQAPNCAKOVEv zWc)A!#zoWw#0C6v@ShNHKuY1Dk_?evq{mt7@tgvcz(eo?krM{LA&|oXGn4W%Xbx2I zt^sNwjJ!ZPW=G56fCkEEqzM9|0Q{n9@W3D#6GCJWLMR|djU@j7%K!@5Li7p?b<#{o zj+L$vO{S39SfK>eM@kP9UWY6(0?QTi9LygKq`?%NRa#nrfDJt)1E|CUBBwrw70+Lg z4HX0#P_-aP8T^hyPAOVkA%blrkA_4K6aJWCz-_GwJtjnfUY{A0{IQd}P6|sBG}dCd ziG$Si1Vltg#dFuZO)da6tmz`6NSKMAj6lUHj^-#seu$Zms7WHVJu>SRz!CTX=tW1E z)I?@F&xFnZax~j;%LPCpa_R8=@C!d8EA40uK%js;I>cZpL;MKsv;-1Fm|+xyKgPXq zK(WA%`!ihPGNjN_dea6&JO&?Tq>~XQrUgi$G!-$1t!3aMHO@R7)Pv(g@$jjx3tjjG z5Fd@U)pd-)I%axLnwkDMzH|{daLAW9t7Mo`1z-i4IzaIKU2$B=Xf9k}x8C7Vi6MLz zU;_~bnSbGmR%;4ECsNycfkIFAsSrZ~z(9~>3dG{R<$)^C2rT#eaY#NvT#u(3K@$Lg zWK$~QmhW&VMVkKrYo$wDk(dE`fhIu6$6Qz4Pf@qnS?~6pxFgb&S(VH%=}Kpxh8w); zl3z2>v2Hsy!GLWjl0ovwGyecks54HOr8 za@ee&Yl9ix`+sGWukF!^2T;-FP${lpopI8G!w;HxktQp=_Rno~y+^Pa)KGdV3R>$pgu@XnYyv8hhdp(Praj`P~R&5`A{SjMCb2BiQ9pfRK{u9AEX4rW4GkIcol zp5Jm7V&JgE>eL_*0V@ow+CW)}j=AGX<#S4pjsTS4u|I3_n|Ca>ZmR$;2DC~T3d$+xBP%-6ecM7p5z{HG2>XvJkK3*wcx>)3vbgtz|LbIjA zuAz{T1!v`n<+MvsC~F1I&nbN*>Y2zE0hClp%!&~hP$(zc=Wm7sTPpODe8f#4*Hn&~ z;$2f+;7+yN?QKG{ObuE|Y63-6$bhg;1fLiJZLaHC)Y?juA(pczz(f`JVl7#C6H<${ zuIk&#^Rh-vT(KvlElU{uF)ec8Xg&qsZQS;lDP71CCsD``;iMnog$?C!8G5nYgoOV9 z+$qSAAI%MxkWXAGQ{D?1;$3Wa8IVaZ1tG~}lu#JXa5M$d$8!0Hos_5%QZgf~#7#ap zpSIpsgOdBV?z@V7x7bL?w9j83EE>ik?fwH!GsM2_`?lb(su&88##mOFp14ksHFlhr zn;qa>jbH)gG-(6INjcLH>X!lYGWBD+tUMNGQ`AT`CPDBYEFW#Ga2GwNgcn;q$G2fV zwXu|HC$2)6T&!yC@I}toF=^xbfXNh)R=z%C1Y%liQkCaa$=3NBL{6m!K%wbACSX?q zOFU$fo4afvkkd4fbN>Lt07qcwt8Im1dJ+NnR)pn%f1z3}8q5>nk@yOn0?!h?GCr4K zN&{Idl{!hl1p#$dj;sfb2rZZqpW}lA!H)MYGnJ0 z23lz*g0n(!6*4q_XZ>&ts2(&Qk)M~t2nvxUX->T(@%Ulrq@HZ@mM(v}_+HrB{_mIG zTd)G^O8|!4-w{D>$RYHY`iv;?!HJNGUQ>*{!TXHmdw}kEe#f-7_OjM@9D`kPv9e?X z>u;?OQ+<2`{{U-jbOT0gb6pMJjLy`B4a*spc_#ofutcWwI@E^vLV zwe-18>*VgTl9sq$+_Q5}9cK1Nb97ryt#ISU^?iQM%=5Y2<&=*l)AT#NORWAV zXaPFQfN|>E-l4nJZhfUX=(PFvp25=eT{lZiwJA?EwSCL8^DbW7eW`Ff2OVR3?%lgw zUe&a2xc>ladwX>E8vT|c<6rMiZo>w9tkwOshtSo_Oazf2UDT8Yf&#SDlxS-G5ehM-gTFc6RA5t+s(b3 zHva&#ZIarNVBD}rq7`JShKssY+cpz8>89Ism8W6Ix|mHrrJLWkyED)Un&}EAhsYPr ztQY{-rA9VXR*Z1cKQorsZMQo9hS}oyP`2f4GAVNmKpKbXjs)tHhB>!oaY#FBW!)nn?kgvp_+RCZ7yA{0D7$ zYxI{JRs;wFqGGfHup3E1gWl|2&n>d!!-I1~`ePl#-DMGZIhIdS#V*e;LH*hNPzsM+%OkRYPe2)4+HW^Tirh zK5xW!fEfcx%tYl7a;5@@bmkVYCP6=p!7)*VsVzGt1tW`)%1>1)Xe0s)8L1Vf7*`nL zJq!pSsaW#^Q#~@Ft^p>MWrv+e&2k+nSm`GK>!5+4o`R4frbRTxO*6nya0wCtnn}z~ zQ8)>=XoePM2&GSsLou9x90a8=xLM0lkA{Dj#NaE0G^L9G$OMe%r%8{?0MSqf#K+;6 zjOR=PD8K~xXBGLMmH;V?EdgLF5!c~>7D0@~MAY;$dUdG40SSNyPO~TGPvL+HGJH=@ z;r{?E0(xLjpy`>TQ#|67s5Fs)my9t?`Akq$W+^}ii8w;x1vJUdzCB`t0xG%y%cyyT zM_&q5cvNAOvIs<0B~e2?8GxyZE~DXq1DFIrjOVR7U;?Az`FwBzMnv`Sf;>8(o&YOW zqEG%+>l4=i6h#ltGLQM!02F>1{#C-Vl-FtjL6UMODUQ72dXn5=Z@Q{-#3 zP#_I6R(KhzocwWE#PKO@>eh?(Crb&ouAZ8Z3#<|}nF_U&U&|V$!D&AT!YdN>_(e2` zHpx^Z$dKL|iqo%#BHmx6{J)@M{M6btBHg!g2@GIna)>ik>pgJ|PK7I1Nciz0-n--h z)Lc?Ls{xipDbx@~UKljRCR#LM~{v<-R#j7g>PQ9in^%y*TnK`rEYf|^1daDmgiq``+;WtySGidjJ8>yX?oKW zt4+Iv1Gt101bLz=Fs-|0rL{5mITdzQSDOZ-<~hy5v%BPNdiL+7^|Fbj9>vR6k&rAP z(CA&@1r-xG=e4Zr?Z$pSM|~?q(!bOBnuDFYbAPd0Tdmp`8nj-uuTIkPwA{IQ2^TIh zs2Vj95lnEl>gH6p+4`NT^`n}ml=d1Ip5!+>UES@z5E&DeBxGlHt9qxZ-=%d?Hzl)ITJ$1;d6w$3*+&hikb}zZ#-1k%sj9`blP9^&n`&Bi`;r|k+qk})UG*8; zNRo(42Usw&^!-HOaLjL7zccJGUT9m`a-X{`DY$8CsGgmRBG}R`U9!GexS%$wl4lv- z{JQ9j*3{)Jejgbu_uj_fHQz$hsV+5w%27;^pb;S|B2J?-(;3Vu)aj*KioINXNsIDZ z>o)GapG=F+w(hdq3`%HSFQNv5#Ha*{V+FYNYb^3xJvEftek9lYw?3B2$|=>U*HaU8 zH9*phUog%n1dJ-8JIZmM{;_$JIc?!RxO*?X30+e)tg0O)Z~VqNAtySX1NsZtd>3_SWLRuE8!_{`ISt5Syuf!nC9hO*1E^JsYh}*}A9M zF|K$X$G2`>ueoe5!V&JbwcL8~+a4O;*52CHqimyJvRiSvvAPH@s@i2?>Ra6ulqLWH zhFH~f^|P(0;a6VSIJdVI>16f%pzR*s+~2)w)&0?LO6R6DkipqREyV~yU)qTBtPoeO zJf|gY{{Y-r{5}*Ozq@r?MPF`B?Z$EzcDhilvuUg=C8S0r65I`AR6p(1kpNb4=eDiM zRaFldJU3CY_n$JJb3U@IdBx>-Tep6rnU)Gw-ThQ839%(qzXv+<5+1#BMWY(_|8Xf zUH*%Dhys6F0K#YtKwMRvxk_1`Ii)7>*=}9K4PxE(K(Va8WsE9?X7e2pg=(rRVLsfNf`@6aj&hj zb*jO7Q}brl+OFc}wWiOv_9QLcs#*6H%R~9$7+;meM zi?h5{-jR3q-?(QXMyA|bDv#!ymVJAAVN`XD@e6&c{igGsf2f|y?dSUfrF<6Xiea*O=HHY|$n_HP%X}owq2W;h&b8hb0ZQnYr zjjr|qtxF}tq!ozDxaZv3Zr^scN{_L}>^k2MZppU0SMC+t4zSnl-EF>-;N08l1*;A& zTgWa|5OI91*{dm{%)g9_okUfxe-bl|o3dWHx?4)ZRnp8aln*OuCr{!8;CI`rn_3ru z+ucd3DSjnhR4Olvi*nt;r5eLBx-g(tR{qB>NDYbc7O-tRjH97%6AmfK}_qLx>(toMCahqXx7%wHr+6LgixqYp~EOcDd z`*5U!&fAM;TPqq=QyxD1?(S~VYw-L|y{g&QnJK5o16T8%!J2|J+_QPZ?e6+*qR8?W z0^&1zY`R!5>IlaU{`+#1?a|{Mr;(>lmUQtnKReyGZrgFay%(<+Yc|=fJKQg-(=w|a zR&)h`z=)3=c-OysIJ~($hQ`vwEPQMG8Yh)<+KAyWw^iwOOSMfL!EKa zx3y|pnZ6;rdZo*)&40^x31kRuMa!sy+A1ZewC+H-iD=3Z23SK8^T&|d<5Y25a?a_! zJPcC(-O)|m_hY)e*F7~hn6BwTP)((@${OQo>#NI+tFrHG%%)|#y-HQ5F$OzfLTYW{Ws@%HI>Rq9^Y+GR#^q;BxA_gAY zh_$toiu;ab5Epc}g}{roFK$-ttH7$LCJ|oOwx7cxTC@)R+4d^vbgm?opT#{jx!lq(p*Asp-=dM%=pSXU7^6ZSkYmFLgCr zHm1$-K6ss4>n>!7F$1nNZKRrBS@?mH{{Y)bPdU}8)TBUkDkKJR2k-_C8(hjQhEFn_ zqE)^<3u$G#e2b(2BrT;SR%mo9ADK8UN@-3AkA+Lgi;~b)r-Scnac^ z1e#7_k^Jy0O4dlT;lz_~WLyR}7Dk#3%9wyy2=fe9A8>7ug+5?l0$5CbCT203LVuAO_oZxt+E_-GG}AIX z+K5mIo|$37Z@dyB?k_D>Ne%Txk|=hu5G~wcfNIh+HEZZsNLOPjVw|iBFi*^jVZTn&;CCcGqsX& z63ydl*iJ)msFyjuHqO+wzh6e$`)vyD%Wf_0#06c(-qq{qf&l{Jvg!b3BAB1C{{Y~R?mi{^x4o$CUftX-^{w9Jx8So` zzsLl+YiedgS=*=c}LX0EDs$?dOj@F{lo?_`^eh-NFi zX6dx>^s?LXoNnFk4L2{uru5aKx^){{SKjAv%p! zL6BgE1dqhzbDS$LGmQau@FLu8H7xNbD5QT|F#Siz5cPpuE>?)My6d^64wf@7^#)_} z2UwiQ@y6WgsLOCh9uZ4vkZ5>zP$g8KOlu(OE14r8CmB4f7SyD;l-4~_p)HgIO2UzB zIT~A0B#_aTC3l5!EGt_W3eJ}vzEJ?=NhW9pQgf$F5e|3*c5#R%FB;C_p_R_23}`d@ zLxl?2OlLUKvha~>NqU!kmkYhzk~X_d#_*MpcAHE0gFyqzEnB!tDWUk`LwF;aUNkmG z2kiHJb1829t|sQj$w2n+^Dkp$tQoYDEV+Bc0n3loZprUm$PsVWzHQmktSH)Y#jTgyk~!*UJb$rWleJYlyS&FD@=e!$&Apmk zCPt8(dtmxwz>|wxR7*^-TaezcU#xpa?e5*D{{Vx_f6li6-EQ|gh185RfTrT9Q56|r z`&7_e{n;}urw76DV2(G3;&yseg*G-jWN2mufVyq9%}#T!F1vKAl!p18a9tYV0BR;6 zfmsTl1(*d#!xUyV2o2&i$&=-Z5g>mo01GmJ(nCxMuUvqi2>dVr3zRV?1j!(ugbxBT zzyKE^U{*{LDnL0A5e@Og$C_S%QPRh(f!4DEo}}f90k$9jqAN341LS{{&JfVcKnyaF z0n1V8l+|Yg(5mH(dW?byo{}=D`OJ(C$v9)Ob0M=$1nL3-8Jw#EVABo-5H?yQlb>Aa z6`r_akQu_%EolJE6Cao!I0J~9w31kZ&1BO0MJm@dXh83hip9t>eJ4wbGK}r{{SVq-#7iFi(7f=Z4a5c!PSncRVvEj zN@=$W4T6KzxLIe*MSwul5#{*x#+o9FlI36KM_=cJhrnBxN?RpUS)>W6sUMJ;!xTf1 z#mz}DC4kfcppOV7Wq^8sPsD%0_~2nM4ydg3GG>{H#I{ibf4#T0x8|#~=}J`e%A&Yy zB7KGnx!v5l%+Abpl1!KY126?BFw@NT5X)W5#LQ`eBpUqUNu(Sx!5N=An2Oi_RElC- z0xR8t5g>TwlvCga1f)b8w<1TB=P{hcO+Imlpx0>?t^qx38T^J)AkGwyV2g6$0Mc^= zQ0YAlE7Jl}OO84ap8JB;P_kg>8F_2a=Y*G;&v9Jcnh;*>ka8wsCSoH^a-3A4!5-z$ zFOFXbtX88;VQMBrxp)z#ze)2FGCx!iNF)xpa5U0ME(m}C0YU!0_n3iE`e#WnPxVZ| ziNT<1q=@%4>NunrEG{r9A)BMl2@+@~Lq?E66cYsCfe;?)q!}5Ci7X9T zvNaKk&}j@alRAi`nD7TP^680eX)%YmB4%Tu=tfXYC*g_IqT2VzRv?q8ff|U+83si~ zJO(s_G8^7Gf(d~`CIKYW^?4u11cxipk)GjmoRbxZfiPl{V-q7%Mtg=}1EwlK_`=pl z&*6dOB#v(gGZX@33YD*n*Yd#vBDMVlIS*3?AdxIQGSoi;aMoAS4KCm_1EF zja4&W1AwR@wc=(veO2B*@G-;bhy^bV zzTZF8yu~X@m#Lj`e&X+6K&_N`r)TDqi z9LjPwK_#B!GO*GZL1|erCO=48{O1CWIun5olvNN?)}0`UEX0`B!bngsKHveaDfILf zATZUd^=TifC?p*Efq{31jAL4Ad6IOzC~5N#)}%-pM~yJ>T67}nxWz(J3=n2rg2$UM zv4U-E4f&KHmE3(sL6X8uP#6SO2pMB;WS=Ygi4|_TFlCJ^<;zNz(qdz&{y3(Szz*7X zI-~|M5k6u%=i!jT#K#aME$3n*P*Nx>m>P7627vXZ6_hDj{=mW){Nz0AQ>9D+CorR+ zoTvVHNmW)>Dg(msX$V1`L2EiefM>x}x8a5ZjdTlZ<}Os}rBtz`5jhT+0Bqbcb!sP8 zkw!$5WqxG6DGN^CY@sqL@Z)i zNS#n%Fef;Svg?P4#-Qhb_N6*hlFV9M5C~JELa8(=(U`=nC}ZK`3o|CDB!aQ0>7y9) zd}pY@oT&ykZZwrGrb!+rQngsI$bn4y;fQhB2~ZptG5~`iMNMRC0Ew?$05tB)sThWe zh)~iGS%5>V{ICFw@Y1{DBT00xez z7t~!|Z~JNu4s9UJ8ss8yo)oMf^negrV78i;0Z1(b*W-qqIRO#OAd@VN18S9K5}XK?r$QLCRLpf|IjB{qfy0Hs0#?`R zf;89+zMaKsB!LgQ&rRKvigw1j4lA7tLEcEob!wsP#h716@W< zL1>V)>y0g%Lo2vyB2++~OhJZh#4R#WHN^`9#r&rrCM1c5i0PP`MjoOVBr~kR$$?TT z)BqoV>+r%uv+*5f3hS&uA^{PYt98mg6~bvhs4a{Qd2J~_NG@(cC7FyG59w1FP`T6Y z5cQ`OfdH?Xey}N4n2(+q- z&E=moK=Uw)nFr;C`hfT;3aUp*5s^J3I3pbGrtmhJa>eqh9HmPDMyQOy0zf~WDvDo# zNH$~Mf%JW z^)kqxFwgPA(c?)T5laTHq!0}R(2k2fTID!e>Kr^x^TX=cdyU;&M}@P@aNJidX^VMp zZZ_q%n}CZI3ZN2dLC3r1-9239xHvBy)#Y;F*$T~7CW3s%lTYR+7#c4!m-z-B2q45Y z7{uj~Qg9TKSXvZeKn4INs%E6pr!p(nFbp8WP?9o$d_V+|5m_D>02n?&BTLi~(hUc| zi~@-Ye8o)l0Q^aSegsW05SK0CWqyS)8bFX>`G$FQX*3{sU^EudCSx=t0t|vHnJ_;r z@BsJ>8I2+gKrtP3)Kp*r1coerlOlS}B2Pv*1NEUE z2LMq;5L$rGJme1pADo)t2HKwF5gDeu0TcwpnFMr*@W2B2kiY_GEWeMA56}v%n!x@)hr$j4H9s)KQ>hgm2l$NR z3>-W$VroQmG4aph3BZMw^u!nsa)0c5tFgH@n^M$-+bd=t0TJ61kOx;2F;^^Na zs>>rqHST79Xv71m3=W`}+(nbX(X_oLB2p(o?#1L}v z_>ECaHv0fD;lql|P|!$>s%Ds3S`%fJW%Uh^X1yv%5j5(tl`9z169oC|+xZJ5kRw#- zCQKbHV>qB;(-NFHTm`tMkYHZlyIR=ud_Bd}bBFFuS8kTzh}&*2o!;IjA*SwF({WEN zmL+~<)irK*rc|Zd{S5f^5fq&*PysY6S|9YrCc0=4B!a6nsW4(EFk_^D91pacS=CC^ zFbV1b=wqzJ16=TjRm!j+UZ7Cw%=HvHq6mnmjtLwG1pffc7@(|0a>9{>O+F$%Ai#l7 z90KCkaYR9!$v$ZD%gs|szzyNPB7|7@0Tk)*h^ROMzeuromsFnZ5~=2RR2U_RqoVcWxzwp}mqypJ2nTV(o&qq?@Y3`CGE zxtysu+hRWEc;L?IJ1Oiln|D21Npxu<^{aOUb2k8a&a*$BGqOt0Qk|hDvpN)@4x*rn z=i+sEWrW7F#z9tTDq@odJEWMGJ7#LZT!Ai;UAId0o% z5(>2%xu;_3 zcF#Yz^w(JAHg{~PC1}etCmx^fKSz9)>UL_D#h00JS=D&){12dik3Hp2P}#4y{Zh)? zoV>KPyEKoN>~BA`-?*MX?kCx6ip4g)^8q^~+Z4cal8K@Ho?}QsEkty7)b&^J9L^)pWaXkhWDrHKttN%M6|kMGIr6 zV|A9^ZE_5z-p_i=#`F77SpL&}Zsv=7wG;!>yP4{Sar!%}mrLlhJp$E*-nINr zf!S_7YhzUz09%@CG?j2f%D93)80K=d)N$sG6C}EffDIyHiHVv!g;pj2 z3{SwU2nXdp7-Cs?)U5|njO0LrKqe_31Yt@aEr-m(5&!@I2$7t4=OYPfX>X40jP5&OBzfLpDKVe zieQ8{XA!_0<1dWld@CL~c;S#K0xI5YvN_YBr2)eI3WXBin4k@2z60Pt=Y}LIznVZJ z#zjPo;&6vKkzz>`P&IxZ>wps0dkQ&baw9m7xCF`)Km>e*$RGJ&1(7N#H3P5XoC;tL z;W~XY0MD+M{I3Sg4aVey;5^^;80Tmri4gl6z zP|P)S1ZO#X2TTB`^9hgu!~%NfIS4-tDKvCZD^aMRfCNQ431!UfsDFq#R9*Xkgco|9Y}mXoK5B}Sst zl_~M*6s81AN?R#VG{`Ur6^Qs4>6QlIb*i=)%i95o{{X3CIt-8JhC@)`sPdY?88L|; zIO|-n2os+`YvyT~=nvr^jscA5gPAfwtiZ2OM3Yyw4ubJ?4ck^gH>3e zq(sR%n8x~2dyLZ>Rnl5!JOL06W}Y4=60h1WKoDqi z2Pz08j75`rY7IuCev|<@!IcBeUk`)~RAV8ggKuO3ms3&<#sNUnT2(ayV440i_)ZkA z(1EkJ1jtb_Ul0#aI?ft$EP(rPAVCCWG>PjmOy>mlhET!Tsm*9SenNjA`QVht;)w6E zCVB}XD^bvx6HGZvuvj5J%++*?lPm<9SN>w?V38lwU&LVMdT;@U*bMZ~ zh$A85Co)C^+7>vX9o{ubodQ9V12hAyV@0CWJP1$5p@~T|CKphUAY=g$4i`G_2z|x6 z_X};mL<1nmAi)`YNXDOWwH!k*Ti=6H-$f!cfDWJpL6MdlvWLz1iv$at0zsQ%Ob`N$ ztE7e*=lEf**;p4UN)c-5cJ~~W+uMV0N{aeut5c;w5LAwY3B_}*UZb36 zQx4zzO}D(Qr)s+O7r0*BYm=L5@-TxSWIQJgTa~HG4lyPbzxIy8u~piFRImi5c|lYG zR0%o72j_}*p8>>V!uQ_MUM@nTlB-h;sI2B-n(82roOHuiNQUAXW)aByMaUaZ>Dgvb z2r9P3U6%3*2m5e8RF8%#mQBNWDtWWS<)3>v{v+EhuNl7X9j`IWU*`D>TRtm*?d`K( z=6RPl0$$r~h0pBlg|#qu7l^lS>LBBft>3Q3+p=xjMI1$1w%0au@-+`H$aen#aNDGrM;{0jl>Q-h786#ijkoIsV&iV%m}A%1?;p-Mv2NG+CZr zFIsX_mS-uc{N)^T@15Uqy{Z{e&S0`;BP0QSV?{l}ibzwl$YWmz7)XbS0qL|h76}D0$-5g?#9eLUR0OVVY#z)~*M&sGQ)>!xXovt1!PqxnDDS&JoZY2i{+{+{!3^MK<># zMaA6Py=FC35$Y&Vbo@+Xb@rWQGY8Y|a<^R(wm8pxyCaqs-)qb5WuSp?b7_jJP#d0b z$fT(0HN;9e-EUv7fv`4R>B8?n`Ja{BR3TK>GI9tkbwZl_v7NbOT+c%HXP70GHrtzb zQ3UE+sAQ@ABT>|()8m7c#xx##OU~b$-6&R;iIpuN(7^=c4@^o)Ib)LPW4W)ZLtH*n z4Imm1h%gwDOj~rX(l5}y?fa_aOI*}Rq8T+6AdaB)7*$fan9J_px&sxEq|j%kC;tFR znfT&k0VV5i+_qRps8j-=ols3oWl{!MUL)>$m#aO-g#Q5FtO$mx!T1=OWrq!YLcw^m z+yv!$Ng$HC;k-Az&(EqE>tyi%e9W_vfvGD7zrdq2C)5p_fvH3Se1ddb2W&R=sJk9_jIr@;1Swbm`)?_Txp zo*#nQZZ6zgc6g1B?)e;#GklQRlVP(*V4z8AV=e95Y}1~x%_(G-otjHSU~&Dk@1JOJ z{C^VsClAl;_^pMVvfkS6SvPx+K?0Zbt|~FRaixz*IF-KQS~PU+QcHg1?`|^KeskNd z;jjQ*O|!6fDJH7wZ2G=f6__Iwx0SH);HPmFuQ6Wh+B6^w`+iACb#_Ij8 zuHMj_n~Tnt?OXW0#vwrXVR3{F#}k~r#ruNcyJ$Zjz|SGd-bPy?E&7|Qj6A-s*Ji|e zR>pp|;3clL#NOPsm#4;}RmAb)aNoFH{9BIX`_J8u?&G^-w6-(4-rV1E%dq0D+e(l3 zu4{2}&#umAPTt8Di+MtvaBp>Wt$D8Er%u+@w<5b$ZTx-*jURBoj|Lwhhqo1>MRNVGO9)_0GT6FP*)m8fUonK9kYa zKi%GoCBuTpZy(FV;Qs(?{f_r1-fnMu?k_pXa!+G*clR9cyuRfA_j$E7S!X$?eu%yW%;^?%d_E^jw^@ech`S!W6HC4$A`mftb56kOw!5c7b{u$rqQ#)9lK^AOQ)6ReZEfu@Hat!( z+dH>=IkPsWYkPIb^Oue8Q7^QX`dQlT+s-vIF>rMHNGGTjiOU@|R%;7Gj{DJArw0&q zM`3$uZBuV{=O6oPW>oF!$J10Q9Y6p@#!XOVfjLABXsc$jj$7{Y{dh>}PTTCS+In_| z+gL!es?-uZ#A)))IskFD-7dA6IWM`Y{{SD*+x%B-s0OsP;R-I$+{16d*oG{6&?M5R)fEuc^B zvKhEw377!oQZNfG%O400K&YUCYhV0u&00@VRj(@4z$A|dnSoPKD}Y>xGOVU&%M~#O zCX^;kdf*#VsVdm=6317RX{J!J2$R=2!h#($jR#eng#dYo1d)(1W}-YW%Ssdkp|ts+ zlR^yBPGB6OD}Z6?3JR%$M!3o;6+I0906Ywr<*qmmrLd|H)U_IVw}(n#Cz;Q9-~u$L z6s2N*75QK)+DL|kNnj!%OwA0=QCtF6j4=X_F`3AWi3&$bP?3PK!BJfNKLMA(U=vBG zdICnNsfo`r55z_SVboGGgOQo1@g5}jU>eGnRc1k?WfNZ?8Nf9>Vg;;IKZ%Z>1ZVKT zF%?NCSC+CXGvG|*FaUX&0DOfyXJ3v1B?5pT*X8l2&SwC{8A&uCjO+4_ncx=?MAl>q z$BYs9P5_iFnnp&SB1BC1;0BWbld1_a1uKxt#{jueQzp5Lr{FLYlxQ0R*G!(XGd*Jf zl7#?~5i~tIkYbY=XMkeV{{Sz@f6D+3hL>OWMToi~t;b0TurM%uHc9mDmD+ zXRnS~f3A37QwZuz_+|00Sik^kP;|C)rX#Hn@;Fv-qyms9<0CK2t}~H|T97{v55~9v zP#Or-1kE~#Ie+RnG6g{ykU%+4<4gb$DgiAD6U@b!EDsuxFuAInS`!^>YdmC$cYm|A zK=qB;0L7Iz2`4c=QIV}_j%#&$G_2and$l{Zy*H}ehN#l-EqD8YETQ!F%*@*Ko0kG< zBO=JEz=~s&bJVJwQAyc$VBTycv)E$t1Gm!Dc#Vj(c?*w`pEr@>@L~#>Hc9sW?;k@eJE41G2xE#8CNT zPLL@E4l=T8(>_z8sXr=@jF(-e*cCS!1Tp$aEJ%tGsQEx04k=N5&V9|q{Hig>yqZ_j z$^ax&r7|7>VSTip846w7U1MI*g0UiE1b`+c03;GW3Sm}|^PxQHrwc43Mo}h{E@DV% zC&@E1ad=w10<~`WUW-oQ{RQoZM;@sX$bb0QGeX%K2pFYQ^nPL!O3{4?sxCI@dVxq( z3kG4q9&(eMWrUR8I3udgt7rYZOZbvsscmi%pfU!glh^dj$Hxufy$*P_sV$OSP=al` zh9_5;(Sd>h4KUv<@lLS0xc){7zw%OuSNBQ=lc`@O0B4n8^u}$fw;$?SqgmkeEO)nv z+Le@m7&6GxSp=!l0U?O_;|IE$%9DER+f?#cw_B9AZsW5swivCvnxs^G=PY8{YFp6h z+uL@uRZa0f91L>zB^!NCs&w28@^ordFja*4il~xl7|CuvPG=v~>w6J*6U@s8Dao)x z#_6hoY#;6}r#@Aa1S^J$^~XN;?~%Id^fcPoQ>KO$&vRRZ8-2Lbx4CHB(phCL3ujRe zbHw!VIN{&leqLFv(cRPZ%F}0>GhT1IhTrclHOq~mEZlW_1Jt;;-0BN<$pu29$fj83 z-Q9Pzt$$wg$!&D8wFzqY{-!s%=MmcdwRRr0qm1=`Q7{l&zr&)6J z2eQ@FL?@JCTmAA{TkW{Lqi}TCwYj$C?mfjxRFZTkV&P&)t}<^N)^Tst>#s9>wO&np zJ`smf-~pyX0GMW%P*;Bq%TjXBoZQHsZ~as zd+z8_?z#qDrPgLey5Q@3*90ZU2m~pa&ly?O+nOV>8rHs9{{SzI4L#j_$lTbr2@h_` zx=}P1cQ;fQO-+z7^$LZ70}8In^5IfHGfk+gZxv~pCz9lBT(x@5r1a7r<>U;uV1#yZCgdM7#p?QsM1xgNVtVgmN`x#+B_tg zPSEs59l7L**Km~%zGt^^Xj?@~Gm_v*It&5Se6cpPYHFh11`WLCuI{c}v3}euxfbDk zjHBoQjHz`~0Mbq{dxkyYNsE{Fn4e=Dl zR=T&9&Q}AXn-y(yL$?%QJiFcKUsvPTAz!N$$1g@BaWp(YJc7?z^b_mvdKdD(qAH@jIXG``bIa z&ED0nZGr~~FE~cI`(<}3*I0mUi)+$Ih|3-e)H;p3K3AJ*jt89BtrRDVEn|jHZT*J! z>vdx8$CKD4`**n1+k?GT4SN33-R+AvcFSlg2NtywTS}=P)fn|{#FgC4H;)eE%x-mC zbWVx+U&rEl!|j(JwzFaPmoBEp>m|3pwsc#!7fr$z_3O4qlypN2rd3N)n7yT1H@fW= zjwgufx}JEh+Vbdij|w;Ujg8fdcl{&^o0QfK*4x|zQ`}})yKbU=F)KM^$!&ehTbh&0 z$H4IWj+ISW`Hj8C?Lyi{Lfel;lpVoSqT+(you@EgLS!StapkKVC5 z8vv>S94bKac*vMDBMari=C1JDjh({jXI5@(^RtTDh5^S zjcCOayd^VlS*y7HC|ZaS*~sn>MSX69V0^Ay2=ic$O-69F?)$mJI4%9 z$mzD-s-nC*%Wca$Yp!Out*kYcVo4GsSdgkgGGeeX7PT*EOZ~*2IF(m=ulrvSrdvA3 zloCNwtVV~?8iO*DEulF@dgB|zZ6u0L&3tGu_wU(2%=fmjs1t21?kw9tbeAQi<&?mo zl5w5g>0V~}Uj?dOEA%hRd~5j!X3Fk`$6ffgQ$PVvr0z{%poL=jlN~WCpK@P3eqTSB zS@J$tNl)fJY+qYu+iq>%L3dhlv^es4!E~9!nS+Y@7>r+y>i;{hx(2Uin^m9zkb)L zEE46r*4sex{{U|4>d=fR4RHR|8s^KF6&IHr(Zyhgd%ZrM)bjpAxUPaO0J0 z4^IWf5zOEJ04@^0ay83aUBM^RP_WKZLn+i&LXyBevS%`56U()|nev(|UbW7s$2Wrh z&HW@KTVbeQ+h13(9IU9gw{j>mndw|{Z!7It(w{@@X7zQwUF@^psfF_#z12n4>5*vq zp1YkFU4$eJAEb~nra1Sv_hGiyIGr`=)t5DRttay}H*ohI#WyWnYin(7-2K6ONWdGa zStQzm%%%%O<|erDd%OJBX*Aqq@7d{BFL9wepSTs7p54V3t*zAbZjVmkKAM)%a1xhL zqDZ#KSL2Txdnar@)5$8fqS&}%Cb-_z(Wyw_w&Ra1WWjk3 zQ$w};j5iy*_T~2Lbsp~IT)0xwy|!U(ZCcYTqv<%)ZkD&wzCWSMy}e}n%xeDqHxF^{ zy9;*iC_!?oIycK6cojVkt($U29XB#Ev%Udpm@GY)%> zOYUCyuqTMzZf-5T!!70XeOqm7OBPEcd3@jvL0il~la%4tZk77;Q#;<#HB!r#+qUc# zwFPZlL#b8vsc}PU`li{DQ|6OVioN!0UR}B7Qy()MbL*onb~t`JZ|gqaZEpVnph{m@ z2FqN!2-fK2Gc1EJMz0J-FKn_F(z^3GF+St5b9uDfZMM*sLNK{(+y>iTinX^W#Y!mB z5m*>BsKza({{Zf1MJrmwYL3$T3fu12+Wvoy-i^C{!`yD@O}boL)~{Kyyc<2%hrG_E z+gXVf(ra9MZ=}EWZ4Zg+p5m+j0F^adB=iq&vtj0iv{-pAB1m$J^qXR&Fft6+#~xmt zyiZz6W_u^_ChhiXs@uBBWgeO>CK^~w6_R=y$i|$_X#=u|f^Y1Oun}~qU%hCTzf)Fcl~s35Zg^nkQdpvm)PBQt{bX?Mt^G*`GwAcS}dp01g0lw#Ee43^WF(6&O^kBBcgrJ`->h7D4n^Kn_jt7_7^y>YuxhdH< z;oM_=kM}{yY&b9W&h_GZqrFcRxIeJ&3paLqp5f(oD+1H^5F2f-#_u2z<-IFPA|Ob_ zfAzb%Dy_F{>+(k}`b@aBQ!-t@-3`8PkTy7;zgF8R zN`h8rJQVdU`!_V@?$lpmi9>#6@Qja;`>ok*JBNqixNg(rJArO-@4oI$hWNh^$#&gn(k#DuyyPe|&v9;XXW-D!N zF530Qb1(=3$pOA`CjzCDO|13;b=ABXKF8WV<=t9Gx5IALE_#YCZoNII3<#2<@mtCa z^;jJ+{?6pQB!x9Ht*^1Y$9Ywsal~xN(!gEaUEEwn5eQb@u)5?2sI5+n@*#Kd_oC2}owK)TA68JK9!_JU_qpe9s|I#w1Pp-xtjIPBLI_) z1Y$?T{+OqU{A3xdU2q2l6E`ZLylzxTShkbmQi!lrsA#7k=0yfZJPf8jv0LO zuBHjd`ytEP2mQB_N?(R6;YrF>` za@KyP*4l2ZL>)?A!?S#Htl}Qs=PLzEYq-WYU9-(vBGuk2lSk754;{KKr^Xi1F&-0z zYC62iWVVY<-rnRG=p1(;C5-9W?nAn?AZeFV_e1>*m}J|-8~{q>x}z-;%#~Po_Be> znbl*C+F01xD_I_;?_T2SJw!)LXjM}kGMW$sef?1KXaZDXq6PlPkV0^wfbZxIN6{}N_9Gy}i zfl)$4j-=v-qly}?S(>RNi0~d>x!@g|dI70{&_~GSQ6gkVTp>ph9f*>lOwa@60Kqfy zrU!*9P)bC0(6SDFdc;W(Kb8(1<4Hr1HG>^%;ovj)OyI~sCO)H_pPdChcpggALL)rE zSss5h=K_bq1`|o0^_?k=~o-LBt*mA;0)g%G%9Z1L=AxP6aQVh&VJ#)_} zff->+8f`f%ROZ=MR)qA@-W8xRgtIB=Ju3^eVYG?>Y7dzB&`^$(hY1N0uCM^Z6V!== zodAxf3d&TJp)E2n7{L<;I!QAJ%~P4iQW71aLuMm5>PN#l!&AT%hrYV@wueQ)9m?9a z0n~L|Fa;!t&lH>Hz$VnmnecmYu;WvsvW6!wG0sJ3e;jsIa@IQ#lsv8_`(jA}$(cGv zb(5GK1Ymj$yMuuZ3qm4t6raXG!@vTgNHBA+&VG1W1PI40t58H{O+0hJ#K>E{#l5|< z&cFre4sAgODy-gBCpwa9MR4>S5iU6dnSe?7 z$&ckqPA23UFoNeb(Os%8w-0}~kv z_+nfSfeP*LCJP3tjKC3DGeU4AA~W1l3szvrA4w5InFN{qF!U)YAv1kdCsuVcA2I~S z4g#{uf(^^22A-q^q>}*1j-mmKO3M>u8<(mEO9Y4j=>$*_LQXG0BO8PQ8G{iK@u(o` zFk*UPHw8rKM0=7%$oYy6vOlB)Po5>@G;zR+*Tl&*pgtf(h60AOhZqXwxZ&DEyLk-G zVRa2K36{&oOjqNF1D*s1xCy61Oho}b2_^|3R}73i5uW6!ZBrDPt#XWqT>4@qmh^#! zZ9uUk08EO5{V@c9(VvD6AhaO8;EfR>SIkK|$vF`ekr{a6g%JCQzNscf)g$RBdX^-} zB>7K?5jbR#n&Fz&i3~(jO4Crzw52gEmbA#hb_4)q8it^QnP?C)>x9QSBDKh^0W~o+ ziis2Yqr(mea^KJL8@TKPPDYDeN?4FUEVViZ<$$E1x81r}FeV0Oq{@neq|l8Z20klXkW(g7cNIh_*YP>;fr!iUr zO381Kob-$-91-;i$$=HA@yxLpbxOf^sBv7h= zG6WehQr{qB05>^fmhU>xr`itZw&w;^+jw4X<#GPZB+-<^$)Cts}olH|O zs<3oaRN*+_TE>OO-!ZkmSJYOv#1c$}l6p%BA`LKRFtj1z$X9J`w@NjOS3=H}h-6rS z*YL#n=r^RTOnY_0ZQK#HxOVG97YwL_Bw7&NDb{BbYA2v8LyQ(=waswXeNB$zcd|N+ z1h{TkxgZj^w({0k^--7;80WUjnMl<-y>QICVeW3`*;`!h$lbK1SND4Z7vZTlY+NBp zBu|z}=rKR>>%vNO=6KdkjmLBRKPzlrZ5E+%kxuK=L+Y?y zaHc3)DjEm|r>1zjHqx?LA%>R#(jqCSAnIEth}2neF4mtmpgL|u34(sMAk9u^!~HPk z&pm(=++nCGKM^325d^`{9SNtvVzu9?gG9guh^JjjDkMfC%bN>PMnhfLQWXTYhL8YV zDt@t%B(qdjaMH&rDMHs?1M1&u+Ophyob?PtXGZI8Z$T2!+ z_+lOSED62{J-*>tpUQlOup($gK0w&WP_(s1Zf`$!eC5Nu*9F#q-v`I1e6A&%ap_%M&!US9K%AC(=y2C%&js{ z;yf_u+fu9QMi4ZD3oD8e77l)GH3~;s*A$=wYpkG224PgN9#vBW5-4E)CjbkkH2^L^BrDMx*AZ#~E45<>Qi)TzdyDTt{ChcofyDH1#mqFcI^` zR@QA*=uZSOXor|UCrBbENLhvfMRg957_cM(qTH528h}v;U1&r>ka05RBLE_4^u~uQ zttZY1EF902X%ZGc0fy3gjbX_k69F1qO6p={CzWd>^)Jh=8p%%?D1k*^ED~6d6p1;- zBt>wiF~pY=GM5PNtV&_hc zQ(6H4{*~(_k z%xT!Fy(EHk!JSzFkda@VF;%T$@yOlpYGuNB_O_3w&0y-Mh z7|JG+am-r!zE~AaS~U5D5Nk710nW348qCgt7M$deYxoR+%Pa%cNGw1eQfNoQ1Y~Pk z;21%*5ho)tQUU&B2+cT3-Ow1i4Mt>uNu+*VP8jm9JO>M%C%~EO00JgXV9Dz^3lNwj z^e{s}0)OUk5jM7KplxxEQSc2gBEBTl3;nvqK7Ll_1k(3zMs6HzDq zDS(Q-c;mFc+)AS0$Ss5s66Q) zO$|k9Q`gHKa5>?i)5GmrgeGDHP>&i%^TQfYIIY*DOnkh0*Ar%zID<{698s_R$40l? zsmR+!FT--&S0)(eZr!cjwZ6&#ne^@-!f~$Dt4C^rd0}~Vh%?n;aZ%O?yKddZAW$vU z4h#}#0mgjZB~_SR1Xm2fGfWXK#tp5NE7SxwzT}G!&4MK7%q?pexgI8QG@w+7} zhZ6$fU-n(|-FqV;cl#bQm$s$_Nqx1}OtR7^XKu?MD!yg7zEvx zi}Ms1@{GPDl6u!80ALBWjecUO%T`(CSs=)*Ab5-e?;Y~Q^ffe*29f#T0g^n>DO!<{ zq*wkrVBk&a?O0ls0%X;qhsLme9Xeno)#a`*DLPNY5zvw0{0;<@G!nEBzzY8W(oFpz zNth=9n^jWFCvoiCk?sCtV-nk*J92=3Q;TfMDN$7)o+_!gHQ|#xIrC>9sTZ^N>B@G; z1-&X!?(w!Qx)Z3a-MI8FDPcZf*6WJBT5XD%*Hyvz$&kc@_*D4M@e_!XR@BBtG#ZF9 zH5L^WoW)FF?id<%eHk8r!OQ31F#Jifc2I;1GFoP%FD)q|w45~I;lSgE0hYHtREYAK z=>!mBa7%iMsjWzNt*I1Q2Owx5i81m1IKF2KK~-|rILTt)ZB>z#4v^FMHbz8Nm}$md zAeU}r(Wv{kx3+wS$91ya*|)vf?yOv~xZB=EyKeQXsMgz6rUW#r9N-LXHQi2^Q&+=* zuEzfNNxM#?V%)p5hMLz|K6^db_V<$i03ZJVaok_MovF6m?){eUozw9B`@~sRW4GeD zUC=xGi)z}1w!ACozqTjLG_WQcADR1?(EilXum112=CA&j!|~AiAJIL*weK%Qbl!#P zyA;afXyU(f)XSUB7nkC=?tg^d+T{3-b7{5YcwS3peM>j^{q3c{x7@A8sSb`POw8l* zef_7icU!MIaQ^^f!p)O)wjjXyO}^L*j`q^)T3feKia=(H>p>x|H%}9eZM3M}URyQC zFDc0W<#tkYR(G4drIh{N*qzP2)xB1CR&OoOQp4MV2)}0FQ>Yz4s3Rec&WEYo>G!F> z)7jU1YRVpv(~>v(eXY%xOQ~0^L+m{$`&sv}d!yLvYq)ndu6K8AuFtl6_R^Sr7rR=x<5&J+D{jY1Hkt&!wYoxb27{yB4ONJH?0k0H54*D}|M;j*xwmNDLK z5u}7+rWjFx={*eoSiqK{Aq*)sH8}|oJU}xw9}MsS232T4Q`E%N*0=yktqCG2(r5(C z{BQ^*as>p?pZO77umGU>fO-n$6SY^#OzubrYEeGM=D_7+GEhiB{NOQBkIA zOpbpc){%xzm@7#FSb;&EW(gI_aHKh0NP!uk>RjR{>I11TX9R*xie*3%HT*O2Jq8#w z)};g2q{Uzn1dj}k0Tc*>ISi>F$;y+K0797RVk-x)nrZXEI2Wc<@E?%`7_JZqY6vDH zJo5N_aKJ)9gCc4P`E&-cQGh{#sM4pP`2HP65cTm9(kNuXA_4F{XTarvBZJha@yO@$ z@bMS}h_v%fbLdZ6e+&g;Y{3Gc&yPqo@yq#Pl7gp0KY;%Lo)GXkZD_<+AjJp+BTVp_ zrr4x|LDol``QVNtc2Ud30$|c4e@U4dgLTN-eDDYm zqD>6Ylj9TNnT!CEZWxRJAm$)dj!<*)nZU9Zs;-3t_!9v1oU-^y!xW)a;6+G*QBj!@ z)Xoz{Qp%}<2sIy1hw%i6p{^M(ExrNBr<9Qqn34GPBk{rj2*^Pad}#pEPk{&Jh9GN^ zjYJsm`23_`0Z1mFssILnfz~2O%fqe`D$Y`l2m+!F4FRC3BdH>X44x6hpuPqL1Vk7= zE}sk`ykm&d5(y+~NismIL8pyB*9=0b0I1R-nv>9z05nfe#{ew29%PXcD^t`DfEnQ; zte|EgjMNQLBQRr35gB;lk|0n9KzJxWj&vsg0qH^1bAu*Ep`85x0G=Adkd{`N69%$r z@vO&*IJbZLLR-`Vno07B1j&gso`R!RB{ed~mw^fcC&ZsDm>)1_7XYI`T))py&<3^` z6Vww^l>m|P6M@-A9zt?5*2Z90AVK&{nT25i414mB7OvA%klmGwLJh9SJ@d9KA&dY}gahy?jZD3{7xkAZYD?5u`zr5tPt$ z!%4AZZMNV{C?LjSYnY#hh7TP_FXS@YRGRglD3TA3b;6NJ8Me{-6_+?4FUGiVhN0*) zb7ooySrQ46CnEqz&X`awIFX-Xf1~Mx^osm4@xh)W$kEu3F)Nt*W6B%m1Y=6I%N$@) zoRME(rer`P%zUy4h^WN#z99&Sb6_5XNCIF8H4&UdgM*#UFoHYC$BI%Q+b7_{hcPg7 z%DAt%)>fe&1SaBb8S+r(MJ5MIbnA*&Zwf@_IFL6S5-|D!Bdh`-QwcPFHW+bE%2#~Q9f^*9XRK9Ika->@CcFM{A z#YkE5(gkKD10au)#XG3Rp!CM2n|0bY-L*BYrz8hbzz{&ptVo;-b;dL!DzI4hJ)3Un zKiXGV3@D--DkxI39yq1Amu{n?OFT;z{>rdw+jW?R8YN&703bj|@G*^DlhZ>_6H|MS z?WYIIaGTAyBgSnvOLo|>;r7Vi+WMNweGhj{*cy~j(zwp`Tb^4)Ps9tI(cto<+#hIp zjlVm0am8#+yCH^~T3>H#Z)I*WrL+ZAT(z+(M3|;I_qJVTw9~Nc*xhceSk>IuwA{xj z$M5+5LyNh-)nFSwhWZz*$QYWi)PY)+KEQ_;AvU6u|!e*Vpt z=Qi4W#@k!mo>wv2V;eoMxt`u%JAZP0yXIEb*$ZxY-aBdg-G$NV`ECwdi#y&dTYSMc z7JLR5-Q3wxdN}Q089J`j*Ck({UysP$eVN|9iQJYff4B2Cwws3$`(8zk*6K4a(hE(d zFbo|)0bF$LUvGY^IB)0S_=}%)SCypgI-A3c;jZp&EzO?d&g#aHR_(jC?xoO1ss6)0 zr31sRHmcH+{2nZ}N(;tbtr z@ZwCLkM9oZ<1GPemgLh;l)GuS7lG5yV@!u{!S>_Fvs>$X`{UgH}k;wqO41-prH zL0uwaPN7pcT=4mva+uquw+H3y`5SM8`?Ty1Mg`sVi!@N`?{OIkVzR!hE5MGje++2% zHr}cUTRX9)4ZX#C+1T8ohqKLXm=#jZYW=H-11O5yxLfKlX^m@D%B-K8@Pbmdk5ggs z{prH)$_=+Ews{I`c@U^((iRI%U-QD`yS87p&8xCvZQfQS$%chs z(B3#vX^W3S>2I658A);pWs|O^24C@*!gE||hnJqh=WDtyrQ24eqU3}iwv{X9^Ff3K zMhdFLJxT8`TYl)iSQBwd(3X!dCo0TT&(9FCk;!$l-2$Y5)ENQ+X(Z@_Nb$o}cF-id z*zQ|IfLO?aVW;tuN0dfbo=Y#Q=@vEOT&#C3tzZqw48m4e0?14fqI}?V@x)rSiO{K! zrLyn0?k}fJ(8SOkRE=LU55&_D)OZat@weyLK@8QOG}P8wlQ2J)1gAjrEhM|``-P}Y z!T{1nmN0xrl>UD#D8!Nm+m|K;rnyNTi;#xGukh5 zdnakfUbK(N?f6Z{F|^!yXL)OFYBsxrcEQSLS3+^kXS|YCQv0%NDLg04zoF3moBnA2 z!MnL^i~jIh?Ypj)U99(CZ*x2oSzClGU47Mtw5+X|)^IJ$*Bg~-{MC-95a!#^Lt6dzbfjtZjFjl-zEvT-%}3YTC8eBn1+2 zOQ@>WQwnXp)|TE|e+=diu^vvw_u9^1f3em6%guK;KhN+Qu3oyyz;_37a~z*;ZC3U6 zYmaMX+xPb2Lm5fa(;fR8i+5(Xu8hk2cGzof&T{@)J8)c95^^*V5H!$IVkBdI6mcSF zB?CDE1jLA_>j3<5D;kW}{pIdoZT4=@bGzPeHtyC3_gS|#tn9Y$SY5{D+tYi#7L!%h zCIG{gppwoGB=3KE`N0JZyVAKgE99g#UxvRD2vE;fxPTlG)7EZNax#I7*p5c4#_ix|3eV=`AIZpfJ zKXm7W_G7bd-P!gpY1<@Rvv;_6YU{^X^aus7ZyEO{NJyqVcHK`=*ISh*ro2909fz_m zmusclR&c9~C!fc>>aN23V(k9_ZrhCJJ>uN)o$=j!cU|8P?auJAFQ`@-ksfr2W{PEv)g{5lexg&Nh&q$Cy9;l#+u62uin^H#2DGe0 zN7r$NrdDo(PMmE@+ilHsIG*%Z4=mjrFKOGd%%;u9^4efsKtSZSltKojWr-2f9eY)! zn{7ganYP}h(&IP}OVbRY7y(3<3}R$3sS(iE3D#anwWAuD*2jiXrY*=2M8H;MIf$wF z;kqh3YE7)LWfnN)w_N~4Eab$P($X@6hAnW*)t)(BjSh1!6$!74W8bWj2vL6G#;Lq|-RBUyR`yq&Uf{0U4EnF$8rTKM{baO=XU0 z(-WNk0P@EmW@|WOtURp(^owaOexiP2B$$eI!eVxZ+&>D)-crN>W8fw#Ps0qc+ciL1 zfPv&{07pU62+IHx5NQm+nH3#LT+A7)^gb8^LZoR2OA16rb?_2!2{iN^LFUz-MhTjc z;oxu+D%e8lB4EJHbk%{#%*{p-n7WjCW?Dqh8iDg4#|*maP}eFW%L1g<2(OKB6&`5_ zf(<4*#!>Rfu^0xFX`rQo2`~g?bNp)pm;%>ej@-2Sp0MA{=bF*2*eML zXRL^)N>>04u+*j+JPjy8ugY)$ate><1W56~0K|;IXs3=}fQ$lq2}uB$V+T6rpW_$_ zRmOD=Iv)?=6Y%MPuvv8tGDUL+3H*8t01IjebXEFl$Ql4i@SFe;nn)iQF;XiZ_}~F> z0J24M@#{Z403d=V$ER5N^f*bT0vHviKynp~zBr5JuECVVfYAhrHKgU4i5N~$2pd#I zWDbyGkwPb?6odhG?WH}%X5Efifv?cZ1kN*{{a3f$qo4zI+tvL zRM5519e^TbMF5a7!G5{6{@y#;=5~D|wS3#oUt-XKac^E`YtC+(6ReUX3VCKJ@XH(* z-Q3*G-lvw?>9#g1mfD8+kljL)1d<5=O#vtLj+uDnP>m(L{ zNTnbcHK9L-CDRYKco+9oVyp5be#b$uz$gq%=1P(xRJK5#n4h&U(4SE4Gp;@u_2gSH zgaajIfT@!i6CmR4TGhyGD_+y8NSdKTg-<4=%nvSkIUh*_7g*-b^3G{{S3nR*PcMV+EI2mVw5vrPtvH@xp}Ei8W)4c8Gp+)G~jbpuk~m8$|E=vtjdlcs4MMlsyGZ<#zA z?CiITuQ7^0G=%`%HiK&822h}@EPYnYh$eDAIKl3yiO}y|CmO6h3tsDbi?g*SSE^mv z9Eb|c#aOz62Cky8ahB!Mq^>60drj^%u#5|T%q#ke;n*YT)}RGv61pyEogq@BM>Reb-gzk=?0n}pYn`y?(VBua!NWYwaA^U zv*GcB7~k^ke)22bdsgj>%cA+xS*)*>l+=WoQR5iG+t#!5Kar(&`BbHoRdf8E-G!T* zfouzA<;l5ewHqT(({Ug+h6VwWCmh$@+^%c&e11oe*{a-pjwUc-8;!-$^e6$kvPq_XAeenR<&ByBL?Jon|`1}xO-Q`=}Uu2UsgaCod80m z51P2*cjdP)Gvf>Az+04X)lskemz&z{c2_TLx7O}%m|nMb%LOTrU{!{;H?IU}Xo=4S zm0f1KkEYvgzGdLeKf3OF_O1H5tbWq)Yc?-Cn~!DN&vDA26L1EAaubA`cJp# zBnNTkj~q*~SmP31Rdq`S2gvWN-WneD#TITXpMP%}) zCJ)c@HwC3jTaQi4>n7YZD(lmv0VyPjClyXxQeOkJYVN7xXNT-zH@lFF7gg>m-8zlc zW{ZXZI*ziSD2Y%B_=0hRt)1tG$M5+YJ0$mYr99>Z8rNQaIIr%qTQ=^LQT7VvC>=^4F3QOc=>j1 z?r3LwwOCK%wCsM;;BEfbVf)@a?B3isy=a5!Bkh>#v1C|NrEL=$lk>)u+veNzD@%XB z@A@2<-EPm7sO<0YIv2LAfweY4DZ5?4xSph~g@G5XZB!GY&}!w=9$%x~@LM(pP%Kwb{PEL(@9uM1I$zDM zm>Fe74A#{8knTWX=Kw<7bgqH$&lHlX$Mr6%+}y7UW5c+x-*md3S4OyrI#E~<0h@+f zB~oa5;|p%m$)wjY2xRwC%e*+2h(q*}ox3X5?g3v>?kz&dG60Nebg20?nR6eTF{|ggvW-4r3mVf=-G)*=ln4VOQ%%Nb zEV5!Te2vz5u>Lds1D)5(>y#0Ro0D|OG7{cAS3?(@v^;UWa4c`*DYcZRJWbl z(+zyQd`B$WyfhX}A%;U_og~ka+Jz_yn2wmW_SgH8`K9pv3>~*QmfK4|6Y;34Wr&+d^CQe| z`get9sijL-7O3@8AAnxc`CIMNLA%YlNVjH0n}+dF|})Zu2iNt$(`>_u4>h|;LUH( za_wtswl3bfcI$W7P0hVG8*y!k2W;tZ6KpL=Gec31no-J3C zb+$I3ucm^<@O<{c^D#B>Gmjy+vs$QHNyUBMX7lFAi(#6=S=(v0*8>#XT`I}wk1f`_ zY_k-2sHoMB-MUd#MDrZBy`8z6#5{jO<8OxECy*_>t9fh%w|7;wQ*8MWRn@eHB%diF zxY8R@qx?@7y}et@TA5bgird+@Y;QJ}6rpDdZ6(z*nu2h< z9qoqAR@hZ2Zw1s|;@q~1?Nlc3nMfW6L}F~5&j*jdZg}L2yuSskgKpKUR}sbQBHLb7 zM)HLTEG8H0r_qvI5|%li$ISJwa@Mu#m34f-g#2Xhn^qY_usWD& zwgW&?C|(&r4kswfEP1YFq#m&eK5a=h?dc4KLXsUWXDUg|uha`?mI7^L(00{?DKN@d z>b6RTfD{8$CL(aP!XSNitiDHr2@r&8sXCUXnu`kKYBeoHHVKm#V)sZ_w8f!{+#qOE zAdpyASf~+;cdShR08v@K1nWF&7%w8?(UvDnAEPSPGNvZGoGd@km1}6J>9I9ICO|8w zljbCVMisB+#}Sil?C;+#Z)dlA_oy^&ZQQwZg3|$QBe{{4GsN=V$u~bAsGCbuHQ@cF z?{00D=G(XTTTQqpM)Q_+lS!m$LqC56D!N0xcI0!~c}4FBv^TqdyRMFJhOpbB zZvNK&+beTv$?dKb4EC9qMf5h5d5J8hnd8*D-jdrpvue+Q<#yY2@;2+(TDx6fua?+->vH~Eq0E-?`r7h%Ok&SmZHtPI|GAi0$ZA;g&zi$>j%I}r#E&l)?=yqQf zy|KUNc`KGpzxTby((kRc;5IB!F5q0;B;Rp5ZGt9Rn{*v7-MinijkNy&7u-ivy!RK` ztHRgAu=TZwpP>;%1Vm7(h@dK}D1a4I00jU89(}g*%pol_DYd$hDprR}dDOw`twR_G zEUJvOsWojX6-n`803^raFm?+o#1?H!swXpA(m?2QJunT!fq)1;Y0^am)EWA#6R3;= zoIvKFCKPHPi2`c}IE(-;up&)lQa&)K9UH51QAjIgBSn+Wa=3cCZsS1 zLk&I>DV|sWSz|zQkShR!XW>8(7QTfkI#YA<$08BBH zDnSRt!N{JX4gl~KvLF#8_~u1q85HwwJm;xq2 zgXN(F9Ko#!I6=Zj>Lc-wi0NO?0E%j$>m;5MWvI#CQr4Ann6_)ZwDm&{XLlClBJ5>0gFF%g*g;0PPns!ExIq)3ebbQK@# zfL~#K?^U^L8s+h z%@0|@-WstBz<{DUjEe|@0q_xm1jdUI)^$?9E|Z&63>e8Rq@0-00{~Ma1oi8LNZ+gF zT1#iJZBjt@Y>a6?7 zpEoN^*cYGEwQkahqJlD@9aqGhbuCJGP+WEdkUy83%I4qYg0#8%%Jw;?v2so_*2yJi~&pLnr6JHpNOvp(Jr41NDydD)b#ln!yI6Xa^L`0KfszrYA8D4WrUEf-6K#W0|o$w8OS-n z!$}B+_oaGF5ikMjdKskC3~)kglsR}08YwVGPp2$Qfe!7}0INr+*#jg*^yxSf5eDnb z#F#9gnu&raMR7nyEOdZKBCYtq5#vltW`sM}C<)X?a1Bjh4w9z=Z$V-B5U$*$&2kJJ zQ0D~2B!3J&0v3g`?a~Ws1du1BSFDfcg)%3M5Y5|~rS2$N(NrBv1~n54-+rVSvdoiP$iXEh3P@faQy@ETG^XEIJzm;w}aoTH``_6C^A z5Z(k44Jb3$vDpKw@#Q5~WV;I*_oS-xjLorflOlQ_G zhDJK|79L<2%}9Q_NP`h4^29ghNR*!ur@9Z6lB5|RWdMOzohHA-6$KFQUC?|84LKQN zD+GB-11vNH1(AZeVAjBvB}s@`^92F5&t8~f$rbJ>2h$@sQhdbE>hl;Na8J-+ znG-`X^>}z;sGRl`u&`UVTV0;-QM+u~eQKuVwg4*+D7eg^79?j*n3$bQR%=5X-0+v| zvhH@I>IQAzu2#KH2@%{U9?dXU^b+k`%X zr~##5td|u8tPwQphM$!uGE8}LJ7|%v;>%nYP?oBA}~mD3;`5c0L6AbCh|7-UF*bc5AKL*s)0Kdfp}LWKf=Q9;O!dRpwpgIh=+INGx0RkeLFek?$Sj43+el-s92$2c^6C^+^&018M3`bn4haf*Qq{J%~ zBpov#8Y2xy^?a~^M!d!pNdyow)WafxO#VJNaK2yy+$M8Z)1JF-rIx4Gn9M z?Yk1Kl=t08g}CZJ-LlJyu~qb{7N&=`~EAXbe5 z7!|DLh5+2SPO_jdlR_bcQb6dl*9UME*L4CI0#tzvOqiewTP0ZhaMA)ryUQxm3{NEKMW89>PqNfPK_-?NfI=T zK<3%c!xH8(s0ppb;#t^(NGJg{k1xt%O?u8Vb!*MXv?0R*oeHo8kSH)5h^Yh!IoI>X zk#ylie#2k)Xd4o$u(9R}SV#o)lO=#sPvM991h=Uf*_E{bL7J-qz=8DQTmR1!X^BjJiw^K(ubCx}XJYXxXQ(!>B12K_`-DFT|ZCoDT+tQhl^ED*6e zs3HgfV08v0;%ju<;E+tQtEOa=pViTZpDLGtQa9&lA!|PK;nHo$>cz@x52Tj4IWn!#g<)qM+9}$VIYg+)zit8*3D6K#hhSios zuUt^Z+RGE`muPUI)`eTd!s<{MRxoe{sahaNE@8E*vg%@^pp&Q$hvR@8PBa}&D&`<- z0hk3LRFVdwPGLy=F@>vVuM$GmqGC>#V?Pi-TO9QYh{m^CMk3u@>V!z$_uG>t@&t$t!f zKP+bG`Jukh473950AdUU5*{iX2m+_6h{mZxjuJJ2P?BN+Z6%y6=5t9hClhp=NsEZ* zthT`nz`JTx1Q-uoqcDGlDOJuj{-q|M71Y5=VKW4()HE7r1PQ>ERusp0TT-9u(WfCm zdJN?c>eNSC;7(gzf`=2qoA2B(ENy#lm_w%L5#1bB=D0%2*xcPaOYqI~YfI36820U# z=V|>gaoIf88w@~@kiuI@=*lO|A_WFADwD^ssWJ-4AZB7{I(`@n3sSHIFq8O!^-R{X zFcO-x!<-2)Ohgfp%QH@qTm=a*%1Am${vgQyI0&_8D^R9BKlB{T%%6z|0ZM<%P~_z`!cYg%FY)4GIs(G18~Xdg+`6B&wkb93Lc zs~Ppn0Lmti1PY$A2U8tPiHra!EJXA@0+|5B!I%`l0unV9n!sr>Bk_!>7znd#xps+D z1EiYCp^v0^{IC`EAju;s8Du_DmqJfWG8&A3ju2A>W$~QA>r)iLlKc1v@}%|nepSJN zmQLr`uPNJ{-ofH;@w=gI+MzBjwz+MH8R>NgEKAdIWHQHO-oQG|2d%LW! zcJCRrTh1~!Z78zj129WlGl;#s`0X?E*1Wxr43S9wu7FSD@#ry3*iAqa5kUr@P$xW~ zP7>@T+c32V$@5l(%u#d?0w`kuKG8BFBz4a+4s_4?;E7Peuf9h$4KOuQtp}kHMCTy> z7(3Syyon}8bnu}v4}i}K6V#Ur38Wlq^9p&Qqdg){p;P&1jOT{}^NivJ1gWVev*DP@ zen&hwoi!6l_OAd;5=zZrm}*a1GY7*BRi}}TsRU(H1!h2ux^+04YGE?`%3g&+*RDs# zKq8+h!JZ_$Hf!Ew9iM;pmiQ-=li2cnJ^O&bEU~(=uRTOT)6{gusC0DV&?#A&4YTnun}rdW=hvhCIWiXX$~Fr2bwM!Jq^IJqb0C zYb1)EvjYeO0L+jFmP2(0D_nr-gTP;qSyTQZhvaL3Vph43NSHcI35pznir@f@)ao^) zO@Hw?MBTMnT7wh>=>|ckQv^r;cyczClrc4QXcZqA_=@NA!|(-FRR}`eRMVg}$i`!? z2<;6@C^Ur6P^_4lrFs~e;nlulJ;f=m;|A;(YaCZ2#j_E2h39!akx7WNcKdEN>=&ZC zU8XkOmXrSg7!@O(_QpR$I`YZsN{NiTB=pBVOTKXMv7W-1`YI08WuMKtw_;+pcoH~L5ytpXZE%}ixQis50kULv>A%(xhrC9xM02`ND+8x!$+1>G6y_d4#?JK>4*4j+P9SZPci=3dCqUy9{1<|(>>GO-ff+h z-g92cbGxQ3wB$Q`Q~u+%6L8fR_7m&cv`K9Rf|y)>8}4sN-01h+tyZa-?^>tf`=7UU zo82F(bo+j>&_~+c`jYn=}bw=O=kE2GP*+b~yBNt6@|10rg1==N2%+k7Vv zBbfp5FF%aqW3-KZ)n~9sRCK z-JOolmEt$nTwJxzcF!YeZ*AN%vGsNBpGyzZa7JSvwfR!!Q1&teG-c}`-_CH5#z+DO901{~rr zNbZ$_W}#sGI+YVlDalZxXCtTvk_U(%jAB`)-jBqL;e$%c86ej@%{)XJVvL@wM5d_} z&!idw2Owr^fN5dA#62KD@QCpS44Rmy@W2VfDAbWrGJ4a-GL;xXZE~VQl0QV5*B1FbN@;2=#a0Ok!&azOB=0Zt%A0!?CPBRR<@=S%=BgCG$f9Ed-N zt^gK9<~|gt>q)If0f~^HJz`E|nar6rz%KHQGcj7`dPwDK@X01@Q| zIv%2Gz}GS`51Ld$8+4!20?DcC9exAlfKoQfK@ciGGIFTQoLg?Mm1u!?f+}hxN$Kz; zli`KWVz>pTP$S{u1OPrg3C4-zI+LRtC?Jh0YGYM8W^*`WkUc7uGEH(33g1kgxXHK8 zsMbc!nG`M3wKE@yiKb+D;A<0+0&NikO-S$rRD35BYeO1e zAUz}E2S|t@gED>u;nlXq%DX^&Gyn|E4rVj>5kveE50(~IfedN3AdjYc8XYwhKltIzxPcY8{J;=r%_Gg0 zXCV`Wo6uMzKOK|_{5p}5q?z!;m)Zme;?PW|fv1Uy$X2-1nL=R?xPx{6jK3v9R5KKste^DJU*5jB@Krr54wO4qBN@UAJDryd7L16>NvyB$y zeOd`>+tk$Due5x2?V96k>@#XCiuRR)GgDfJRwkKLL99*(xh{B*I;~72lJ-}OVhZe1 z3d36ph{eoT)zJRLvH!5+ijKI z-=wC(Jy{@aD`i64)Ng?SSIU#w&Ayz zIMpj#iEn(?ZtWe{sP#TRnB;{NuS6NRCrPQc~m*f45LE3Zt zb=kA~yEjD^=H2ew)KrpO6)Iy%pruY1o(R9&zn-cT{>9sl_XECoTZ!m%e7@LQES6C2 zuG|0?^ERep#Hi~s4@_pSzOvl2PqDV~+-JO3+~2wUGY4*DZjmF;xwbt(!08{|Q*6DW z0hy9#6u0+m&XA9@!kHXQ!r zk3FNhCa^?CvB=ubqgXIPhMo_j#*by-v=Hn%8@2YsAAg zCxYJC+27*5&fxiy=GF1Fz;HLOZUx{yM!kEEJ4>65Ur>NxL5yj)>KCt>zc!i3 zTW;L-`>8+Q29)mavQK6?-S*3o-TNEIcGo$vYdg)CHNZbL$BmZg25T1&A9=SNbJ}vW z1Ocd4nA>-(Th)Z7&xqq|XLVk+eBGa)>U-1nlq`1FvwgG0+E=x=8$GR^syiWJvg5Y) z_7+PrX(ZfhY||B-dCre++kHJ(VmyBBp5^Ul#hp=ix^_DY2-~ac>M;J^+SnI2Hxz!Q zwkj9J&y;n?L^q~}3eF>5?k6+*llK~^cRUwrTK@oe=8 z&;I~3?O3@qBu+85piWu^Q3fcB(anIBGe(vM@om49DUEjZPruSD(tGexGc*du1 z_Rin8yAO*_$o6x#Ha)Gvvf8)5<@7b~cbd2XX5VuBjnQ{|y1BWMOWbyHO$8$!YMUEd zHRao?OY=N^uV>}I7Hy8t_P2Gszh`;KYTf$j>buR$k8$9eR@UdHA(fX>vw4nGn8!sn z(_UR!$GN)Y)|mL|C{S`+sB6gb zyG`xe{gt=dC9$-#<_G|H0BQt~PL?vNrb&$Ft~T4-&Q3>m`(gH*YlZETWss3_;BPyz zBS3PxN+ReGfUa24QmZv^^fPTrM#|Xm=%rL!RxAL@0E(K^FV7WUE6#%E^G1luHoQf( zfD#KZW?)QCM>zm|aP`vx3f?A3x7lem5pG6HoEm^U1`aSxa=d7ZoxQ1ISSe*#qzV}% z(>nhE3^L%mZS0m7!l8pYn3yU>YNlkL<$#=4dkdAlx6>rSjOj8-74X85D?JwkO7zVF z`BXuQ6CFvU3CjSQZ_M=VCMp3Y1wbS~ADm&8R3E3*06P3lKaL5=SwtbwAb4tw=3~Hk zPh22S*!U{SXH=<;IhthzXMvMt7Qmqu;)aF`8W|Z0BvgJ_W{E1O;5lh@tdbn(QIMX8 zI0Nv(0(4I!-dPIKBnmAipH@PL$1DW|N~W3+v;kKrHIggTU;*25!iUNT@dqsH;UAU( zJunjjL>6u@X8k(^eP9vR6QoB&Zka{{qFCWAkW{x|?o0GOco zX97TyVpuMJ37GuG0)?1?PZ89g8R-}W1rsDx{{RmOKY_q9z7yl~zy(BBm7c%p(r}>w zwCR;#)}x{PaKNMg03Y#803?+XDAlJ@40Z6vR!%aoF(3-kegd=q0G0-lj{q6Jx!di= ztCs;F!L+0`(nUU*^4G^0Ztv}FDYH7devf~sf9B{p`;A2j+aVrBLoWyVu2b=f zW5#ZEySt6YmXdkBk4)LvN$z>KAK(wCY(djk>N6yfEGha&TyeWz+MY_3Rm~Dedflxb z01X6#N%(+z3`uRyL&hRjkaOL!H*@)@m@jB)x2{O{;ARbf_d# zRYpuR1n2l;UAR<9W-xMZKR$G1-L<_}uZSLJRJOu^00yb*1}REyy$Q4Bs>X+$#wyH4*}ghw2rYbFY61TqgXp0^Qlafz<;qsJXfeKnfp)&51c=O=FS z5N@T$EXoiNub>hLbuc`+*F0fu-?--oO?r1lF!@=J-`|9}b-~gtfoNGUZCoLVER0W) zh%*^RSi#?wxzOvb)TFqx58vK)YtDg_)+JFY7VA9&L88Y(JTb{@wwuz=`kqs2wdG0h z{Gi77yQ|A(tyw;kTegat*ywXQSv@gNG*rw2am{<%RfNA&rkix;n<=Y*KGR%pxl6*; z)m!Ur#;cl21(#MPLo1AwMLZzmm+nNVQh5)wreV7Le&!Fm-7WH$jpw#(AtBP>x9PpY zZYU68)RUfL88)qLLB$+ezE|__F&*bJEm>>(?d`}G?r06CRkjT&4nfk*a95;b8(;jJ zz~0rbZe6;rTpHJu?mPRUmX&WdcIG67i7n$36Or-pk7sOzL}9*SoN?-R1p# z)zq=Lw`n%^8E#rJuhY2N3rFc7u3k8s@3!H5BRg%iNoE(%a_M7jb#}_z%ZkjtwbKh? z{ni%IzyuO4ASi+yi%xl1j%7JqGJTWx=DY%S)v0Z&HzFa+CT zW$8l)4k^vpzBMNAlDO2>e5WzF*lkyAY<}Z!d7Rr~rIji@Mh|; z>I;^Qwhmd<%N8MZAa5u!km^1-TTnMGmF`b-dH(=cc*>c^*TK(-xG?Hi4^dp^54aF1=p=_5?aD~cTb zYpLolxZ|6*ADQHSmad+A4^X|Z_Lpt5duzJcU)Q)~yL#5uP;4)38A@&5=#M+vxS{lt z+UW-#HL9l7a+$u??VW755^qKQPUP%P*Ri+RZT8Jumu|N5-tpJdySht5PTj?w8baC> zxQqgm@ykx1mDBB0S8a7?kKMNATdVqF8NIA=OK)jq2GZ@@%0=zL7DBMOsgAoV6K2+o zkQxZbXHdS@(zR;aTq8f}20L85?Y5P4M%v)^7O$;~zqYiVrKPlPUQjQ3XbKW7ubWYt zv;$jcscXJXrS z#H!3GIRN}X1HU(SYsn2J_{YcMWqWO*acj$|)SI_7!!r#fMY%Z!na7b^P1P%}I?Mk6 zQ-<5BvkfZfi=Nb43nNh=G4$GqSWHX`C9{`_#nDzKF`R4QV|8k|(e{OHf4B~{wybsB zxB<|ylB5y~Ts?6$=3B7%=lde;)vDZOEFkX-Z(mhZv1hn#3az3bEA%;hYmKj7W!R*e z%5epoa;m`F2*~Yi?bs?c79dTzF(Am2GMsU4S6ZcIIvrGeWowelaBrEO;}sUhiy^Nh zD>8r$wYfueRF5%%lw*T;{z`n$=~z1J_7p~>Wo^>Cv9+l~kj(%&P=qTQQp*FLU`7(^ z_o~`;l`kbdt){-L#-AKV>|D4I19B?5QrbFlTz2hQZ&qI`wCB6~{)ay0t+wK`1jpD~xXPv2 z+_rT>?wMI!8Z#fH7$f10w|47nIhEMRrtRvvp+jAR`)!`)$acDKUPkh;UC*m>vRBAX zf-GB@t?KDuVpJ6#a_U)j()dNVKGih0X^4(f2{726l;;t00(B|Bo z&o^)5@*La*yfr<)RnX^Z^%qFZgn}oaS;m)(SIrL`KXW=-)omvT$M+Ak1ghP1eBRM= zN=X1U!EotvW|2^F&1bgU&jY@%cd?)gz=t}VisE!z*QG}~naN1o$K#-q?>jxFup zRTy~soGp$L(4ZUGx>w9yMU|NMV~Q`%N{RxcaghJ9}nnx zUY}~V^4)*A`Wj=od&5(k%{nZ^`$v*l@Xd}wnu zM(2s6dEVf-_Y&B+P3!1Iqv|$*31AD|+&OKz3}R+YVz}(4-!hv@at{10p{4nbPi{8% zR`%ZAn}x61H#O_CxV(=h?%v^VEzMLShAIg-=-b)kgW3TL4K4hUj593sL?akWKUl=BAI3~Hcyr$=+>M*sp_3hmSMZc-H8*%-! zWkqQsYo0oGw(Vt{RWrtJZ&vL&&vB7#c$-OaMf(IJJKHxcXen~qkO3;n_YtR|5^>Q< zRfnp67?oDnpDlN-Be7d79xTN7^y6xJoKM>B{uiZ;F*l#x4g~xTc0}E=ata@#17JXEM zG5BKbx&AhdaUHDHY~A7MA`UX(0X9Qcv2k0~u+DF~Kk4%S0BnUYYa%fm*K+K?0KV5E zPy9`b#dav$+y4M?Y9>afso#wyz zJ-@xkaXTI7aw>1X+f#FP-HSV&?#kK)zSeD}qRk7GpJC{_UEY$fZ*i=>7Y^greNU>d zU%2{}iQsPwTYHYAi%)aU^_l~jf&TzcPe*|=Zmj2%2-2ct1aNo z`0s4HtC2$6PT%FOAOO4E+BKVVA}%BDO_|a>0fEyS)jKKBmwI;UY>qS7ZsWe8x4X_G zjz&t0x32E)smza0Xu3h9eN?U$wt2Fco%7&kTz{}UJ+K>+=l8p!uypKpmUha=P$f%W zH!eXU0r2UH`&DZ{(2jOy+-J0XiN=XMG31>|I{7`--N-GRt)%pAb%-F0UnM&bb2g0g zW5#iOQUv38-an2&p+anSb~eN>K{n7_VF#%=y%ZBM;!h-zpF(`ZoTv?I1Yp-CRkqR) zl>mTFrkEL(JxCvn;1r+*7)dl9Q$0lwU*d3qDP}p`y{o`?e#iZ*xwyTzDX>yr+TB>( zZJbnH+U`?L%Pc$rj}eUbcJ}vc$$X}4uWh$AnK}EB`&8{c#p{j5cTYXWSZ0y7zhh;; zTVRlZ(@S|#8{}-Bxj9w{Wqtpo2j>sKMvC^%eyRLcO4P4*z9=Cp4*S(wtHQN zAGEeC?RHx$DYx6$wgB?mwQMSh>d`E7IPOU#lF<Lc;M0qXMkff>+JD_PEwNx%bTzL}s0JyRnw(Bv=x zKtR)3q17I0nI02fm;hzLW(67`onX|FmS&Oizy%Uw1cBgVtPG41I0p!z8bBaTW2eRp zS1bY$0s&d6Gg+s=$)LahYm#Pj%mF_xnzF(w3f6M!X1S3WS1~bwASu8_T7r}_P$^Hx z0|7~b27e<^I!8eV#{d9W$4IEC6Q794f%3rs0b!@&T4*LdRg3}$R<5)k&&2$23S|9gJ^}?rKRhO-K-{J#p)g1U2{jOY0=*6z z@6?b>11nld5lD`vlh*(Z%qcaXiovPyjHLXq1mXbIBoJf4f`U(pFeK9e2wE~}hJa+j zQfdh%GtU45#6jprssWi4=^sqs95|i>A>_|NFb9apbu$M5f-E%2f=tjH`VWW${V+=! zvr0G(>eLRJ=DC6*KS-(1^1uoZ(=UCkL7x&uaKR-q#tDx!h>#3s zBzR6l;X5SrsiSRSid}UP@QLf=o)oW{ByvhfgAzU_r~YRN-Oe-?gm-dGgXL2Ij=eQv ztguKSl))#!8dRT!4k5cBCD<|y83q6(iOk6Abqq?K3Pj%Awl_Qd&hm_==7b|H7K8|s zB!eV$$41ggIpO<+dAXBtWp8j@zDfxIfvOHr2k|Ez3kVvY0`0feZB&1qNWlVu664gCtjH5e(jq=J!2mnznTU`8n!qGyloBDCw} z@nfiBQWR!L4|Zrt=~{LDGn`irO5j9yIZ#lX=%=Q6(-SfckZxY_(m`*klo8glW-!tb z0`1LNmNh0QXfl|rir`~JX1Pfd75GvoDT7QYkRe>YVCmEVkp)Jmq>fP zj|>spsF?!g#s!3!Iq4+%NfiK1E0M(sDR4x4kbkB~CZ|k-LD5+tjIgArA-&3xInt&i z)EOp5qtgm!z<46N(MuQAATiY-0y0??j-X>!mn;eCsTHq5GeM-0q-r!EYif#8pkYTX zWj!!TQs9c$$TXTs1waIes5B*FO!(p?(2Do71ZnUkh+qCx=IVHFw7N}v=5H!~= zpcwN>`C&^MU8EbA*f~}z0)k5e1Q`Ts0*a<9Q;JBE6~_*&tt=X+QII5pGLp2;lZx;V z#mmqD04WKgU`emgbI_ybo(9`;_<|TW2nSPFSD1Nq5%L0);tp6+2}vE;76j@oIm}R3 zAw|mx!%)UF7@4ez@{l5(LYjg>7?x7)7`V<%f&>C#h|J{5KLh!i3w z0M3e_15^IEX$wCxIllt3H4+*G6%jsNLI;@6FOkHsctkdG@ED*{K>|Zb40Oz_>HuOv zuzgi3K`(8jY5`3g&;^1ZvFdu@9L}1M?%dM|&`4t}41uWm` zrtrVjKnP;fE=P$4pk?wHrDVXCyO0zR$)px0*d&PkT1cpGgHsd)Tf=R+1YNQySfdeC zpQ;SWC*z29=GU}MC#jF`c$Tl0W=CpHOmuvK4r`F{zj=f)_8UqMZ1Xh{Y7HzArKaALr{aL3W=PtjqB!! zi4}7zg9rBkEsI4R8t<4mRSK#FO93Qm1FdlF^(f#ZtBi_Nx~Z218#!%E0M9`r7GIqP zDz=%HJ8BiOE&z4cC+SfTNCQwVN8^QSsmExVXpy(J31$F!$@M6}gOw&h01wX^wb~)m zq%aaoNC!j(EVUYmF(dh6T9p7w)C&1Zu_6hHMKJ_0Ig)ygn5yH8U^*G}1r4YHrbJ~C z1oR7#@WeV|R1?)}Z8SG@60aJT$lft8}OuRdk;v6d9O4J!?-K5P$`^PL)#x5Spl^lomR4 zoS@Jg5CXQkxF9eAS&x)0V?+$k#w&vWHm?gX#k@;tLJMkwDV%uM0OJIb>U4UFKsgpP z4WyM}Acj!1G6BX-#pURUmN3Ma^D8M*7HG%Klr40Vmq-}Wvhws81(*tzwj(JXVm_so znV8ED#0RWB$hkgb39JWzBpC&XG6TB$)W zU;!~eB$?He##pALV}{@%wWx0_uvjXNr~0J8(0Uo1F9E;>r_U@@k*1)~D4_&Pmht#u z_i+&GIj;YEU=P{0NY&XLw{^gND>@~^3qT8!2md#Ljp-UssRUC zBoU}D>0l0L0~$*}7-_l`+$uo*EDDguf{`U_Q}V&7T3|3uH42c`1j&l1mZc_oXG|^v zT8^uqpde;GQpA$NoikFa)^Zq|InNkfv8PL}}UNk8t#}$_1k1GvQq#atn1~MW)JQzI7B+00mJ{eg_97X9!*6 ztgOkX5pXQHX#_5;$tUU{nsxEPis67HgeKfNmh9il7Mpr9D(rhzyKHZ2^PdEHliG#Fo7j=)h3?|2}1232nDaz zf{9=0ep>V0XYx)oZNs0mVy*kR&oY>CjyG8s5J=a ze{r^Vcm0*zHm!ng+Ss=8&&KY>({`kMN2GD>`%(83eWxP&;pk)>7a?zy;dqWl*Zr;k z02i{|t!p=S=*4^h4?SyxaV2(_0yeEJ!@|elU5S%FDs&jk*i_7j1oYLGU(dq;3MNAt ziG!J7Ak*a-0HX}Ekr@d9RFRf>0e}S60t^u&@UO!>@BvKbXaos}pp5hBTmo|#)S}-w z&oA})3S-DCQ6T*I^TF7#8gmfG_?nc$!V%zw`~ z@tDNd=|zqKs1A`zNtwtHaM_zvbP%Wl3<7)wW3Py(=Y;U%iE3rO3`zkfr-wofAks|u zVD3W{c!LH(f<9CD_}~Ji<_FdAsK`kXUY{%&`2bq!1I`cUF(xZqD3k+i`X|cdk2Oq{ zk)O`FU`jj;uG)B#J8nTLqs=u2Is;Hg)7KA21oO4@hx?KuNs;<~XQWhNG@xHdCiI);*T{X?w`5M!o)jx$xN@GfWYC4#O2tVdX>F(ri45aimHP^!m)11%#m zbC4)0IF>oA;iM9T!T}OVlUhMFk>joYqcb@E?{r-iEKtnp%%B1R4T*&41(Y#H~iOkVa6n%;|wbX_tUFej^c- zK?lt-s8)LA@Qe~layI}Fre$iSh!ISLXZhij3#5uxNSP5H6EU7EnKc4Qky_k}(3z%0 z0pmR<0ZQ~};7f+*OrCaq*?S89;dcJtob9{!IG=F4CwFhSdn=#Xpc|_kuNofy+iB`& z=xz#|cLc*LGURdMy=T%oe^=?A*5y*%NymR_?f%yF{{a4z)V`mnwEBMTEVw5)vhaGC zhqnFSx%WG=wmjY4kNYQb?d`7_-rQBjTX(p=MSVlg1^{-9c z^zN?RE32wZ{U2{~t+;btQ|(iRUAYZ|TG}?&<*T=u*eftHkRDNpQxHk6JVh+&Y`6Y~ z?JPVRH@>?;xlO&~yKde0wve|i>SnoU1`V}?D$L=<&<+QjPW9+-# z-OmHQyX?<7crN3O-0!(xZqDH7d;DuM?s@LcV{ng9+G~xt+FKP>*0JRn{ma@OxV=ZA zT^8+=-`c86wW-J9q4|foy(j)RQu@ub{>9#V6~CiBW$iv{*4KGsZ)wQmd5v4%D1vnD z_qpELwE~iz!;>dgwFXegBgP=+2TImp;3O7V69y#IK5#;MQ$rOU4}@os zz%LSthyh7~FjTbsA}D?%!vG5?JXwyBBxlwKgbXZ|m5aaLE*b6jD#m zIG~@0#{h5_z_;W0<~4MWmJrfURwV(aS`5u5wfGD%VR#ilO$?DUoc{pR{4ft6GL(W? zgYW|=(tJEHgIut@3>h;Z&O(%|0!{(<@nSU2RDuYPvAO zB1-wQ0Ot}9Q=W72z%2x)9;1>vDX%(4j&{UEC0GC`afOO@V0w{Wk%6i5DcZ8%&P#*!~Q(U}% zJOf&aOiT%yN$|o6f{klfA1TZk&VrS|4bOlRog{5!41#tvX$5>Oyg3?I{36j~gK@r(sS&v1Y96Fmv={QPhLk(rV|6Ocb2h5-hJ zR$%9xSN{Mbgyou1s_FyGk|-u}&LGM7;93!E*}er+u5_QqzcGd{)SwLJBvYsZ!}uH_ z!kYgd^IUoFR$Z9dfFv_|0ijS5PQeAATs0P@UeMTxm z%m7FfKk?TD@EfXgU~~wEI*m?s8B?T+;hBvU0LfO7m|VPOV0G!90Eeh00g?fj%jcM! zf&O>^NEu5Upv4S|&sdRyTF^k~f;xdx43cSBG2@2YdW=Yq8iG1VF;Hoi5C{jFPkTK85JUg4OkrrrAXnSokC z{5~CH_+t5&5Qc;{WJEs7;1dc#$yqU-Ve6df%#{+2~ zk+#|l#SK3giHc+}LKX;bvXEd3)=!8vKQn-S1bdqxR;w~7#Cb>uq+rMpAB|E5rOpii zuZbN`&jj&e!Y#LWlmx}U#AX5TkWAMV&utcg1*dhuqkf?0HhV?j)# z7Sy#d%3Ut%zwJ4Ly*}FZ8`Ng8v-EC52R2o7+fo{m%GXFF%xWhCjl~U0?k>BkC%onk z2QP$q))t^j)AweYLFSh=dhw=Lxt;HGCus1c`Twd1i8GB=MZ))Qv;q2M{ z=Fv^-dURbD?LX~xTwKFj^9J`2F)b<{Mt1enS{vrmD23sTZv(qia3we#W-m`v>;z$~s)* zHXOfbZ&)h+uop5%IplqR#riba@(S}Gj+R5`wA6nr0#d<1^)oGzHw|m z*4jHvF%%9jDy@TYI-hY;*i;UJ8aE)7xF&+T1gg9c?MpO);YC zw`ij3aA#LbPb+OM;>XDM&vkZ0znWEy*1mS1eB7 zRQDg6tyH^taV;|u-FwCDHS4cylI{NX;297t<>fnXdAC&>jj~C5cFGHEOtb~1ai{#P zl)kSiYL-;y?fkq;bNhkpPUX_l_van7+%j8s+U^S2y=*fu3i`y0fC_^#*9~8%y(Kjt zfmOBX^yM}2Buo3Q!rmq8yDs(MZ(Fq9lUzKNs77)Mmn>xhf+L`uLcYS%*jW9|7WVFq zDE`JVyVz_l5&M37h}@(N2G;t-lxik~X4FA~H3*z&ogJr|QZD{$y3(^izG@lGa{{Xo%XU|7gxm5T`Zny6@ygjhs@qP2p*jrZ# zME&btv@^G)>Siq{JiyV1=ZJf@Q(k2vrqy>U(_UjZ;eP!7<9kx=q#eb!`qah!$AR~=w$ zzASEHR1rvG0X`Vl{#_wb*#7`PeKTqlc>Iov?XU9l?WW*aUgYfF>ft zgCp&JLiOadH=8}C>QoZ9Ht5rH%CU7{QyoS`$j6nY-E6sAH6O)T>?wT+Kf#dYdDQ=5KET>}>Zpc5JNf zZLZG!q~DFrv9@8QB<`(TR46E{GC0Hk0H^e-&yuZ9xiq%+<5M~#xH~i49y_ypM~LHX zUAwW`Y&KSQTxGYk`>tbuYSPAyj=)XL&D)J7uCNHC$;VT*XuB|Ry1VBvVx7<5Jl{LV z@*9p*`b6&fmC&migIVv2j26MZDXB zNp)dlFgl#nW7j(GR;6ogy@#LrxM+FKm(p(CcQ@3|iD~m^m>frL`?2>a?hfOe{{Z0s0B&yp^zK;g&J$1U zc} zNsEe4nF%aIhLKqq>8{+~F&-v6o41Qr*iVGu=$_c@t-YjFOD}E1%W7Bh9Z_*a(Y1)o zd?}8Fu&TA-aNBjI%cf1y#CF2jRSj;ju0RzvfLOx-7@nsZQnigZnKs^dnx zNOdauav%aCKv4t#032xc-LjSp-Q4o58K%>UDiET8BT)oIO#C256msD?K`WX}mu;~6 zU<&5~Ajvfu%`g(*n;Mt>zQ`#fNggyXV=0pu3aiIya$TS-6e%EyGDK2@8ioY)!QL$9 z&BPZQ78H44fgqf|PyqPnfE%)1$eV7+5BZQ(KpD)6iNOO(R!7aDsU5R`2ot1_5Fpp` z!y4|;kP={kd?{R`Jp6DJI23tQ1JuE%jLGXQ*uI!QIlFbBez2C^Ns zWi95Fl1xv+G|pH8AUG$@0Eqf>BRD6apUN--(;-Nys=%M%X_aJ*1gg0Kbtom@Q6@)} z0s+ZlB#M0S7A~nCT~joQ15#!>(BJ_6suDr!GLiA1rU36Li2?us#Xf!&z%C+zAW5u2 zgW?4IjNlnjAgMD?1MrLhR*~}}qI3LwZ~(Ir(5CH<9O@Gq>#{^W=ka~=>H0##@1bTn1 zdPV>$nGc43Kk~o;)O^lEDs(+fZ~;QU2su|ee5rs1CcR{s{{WAM01(m)#bc#ULGZu= zRORrgA%UiIt~X( zS{lhFW^CH@o!6X?oEiomIY|KeInY?ks zWbJNiWb&2dt$9`#adWhy29W|_AHpJhFr3UFPIB_sXz5=v`9T>Ha}h9LQlk>}gGAF! z@g>NFl)N7KpKlrG|S>%|>tA1pgQ3Brs zMZ}4FmRN;pm{lYz8J{pXx1@1sdpK$KKirA3u^Vemrca}(h=K_sG)xaF$LEapsan=J zojaDB_Y(F9Q){W{%+90$D0M=J%*0`BCadOiX35{O`<`6_+n^1(D{z8um@`@h@}7c8 z>58u$&PRDwQ`kJ0Jw)6qDumYHs+@?K9cvawAo{2F_Y~Ec7t~NB%Mfjn zI+Kh!-z$?;qUrFGu5J-;MwwAQ%>xa&{zF(2cLl`#- zCZ=y7WwNABhAK&zIb}HJw@~Xb^v;F3dvRLoMdj(ywG$~c}*l-}p%Ys$VqGXvf7n{`{(-M?@wtm)RJ)$XX%ET&vf zh@4{YTBg6s4Q;h{cY0XL2s>S+?n~LA>a0S%x-|G^d!AGnm9#Z$C4K2SqEk+pbZK zUFP>sZqDfOdy#DJiS?6H+toT$$P=h45due!F;%@{iH~k?*|%_$=OB#%yqAauG`SNVYSz7Qt90_z<31qj z>f=Uh?&I!#uM=+N*1pIKUe$4ldqAQ|)p%(pe^qq_`QTK0v$mr@ABgRDS~TO8e_qqh zpL{;$7xx>!3$`BS<9guPzjoV(+uB@%GbtwB#cI%lIQG9t^f$>}?xJ}cm}jhdhpX*Y zb~dxU#qeFnB=CK)+`aS4jn5@>al5~{y3CDnZrrwlbvjTt?bAfW!8NWumveuo==R(s zm&OkPx3PYz&fAX9zvucL^X!k?)9$yU_ZxP%v#_H6>>as#p>18X)^ux~H!m~lKnal) zjCdZmu6Nt}lBIlTd5ylAR!(tM(INpck5%e=&F$N3@h4W>%r%ZDqrTmHTW@1;jM<_(?d)7_p>6G}dxbU?6ZgBD zuyoyR+p>#rYDqd~xP;c_)4aQAQ*@mre!tQV!0oQuwYOHYxJ6(04Z{U%OLpJ;dRw_{ zD7LJk+g%6(z#&kYV_&ydZdd+H!rP5o6ASY9l3kf(_J2hTeI3KwVSrXu?=$AP>-yaBr7Q+Q4BiM9TnNG-Icbr?pZN+ zZ93ZzX?gA^LPxVD9j@mo@Hp*Oh{C}y>xay_X>fpX*?`>%g zg05_aP)bgRWgkjhBBembRT8ykt`@!TKNvZz<1I^)XQ$*OF)$glAShWX1))JK#7uP< zyEdi7nZC?JC|l6Urr9P0>M{qZL8&G+q5Ot0^K+}`Mm}z2<)%}Bo}vvT+aZazvY@H+ zfHQL^E|}@8$D1t@rM1E5#yfmF$d@-(?8chwxK~?%9^0~()EN0y068yQVY}4RX|BfN zemf1Tv2Df7_%7X1YTsS;E?co=h5$0P#uDQ|gKpS>5L`JoTygb1T@zH=hdh6$dpdSD znxnn3oDpqUyL7V~OcLb!X&|sDG|RAH2$41Gj$OK6dAq~qc#n=H-qofPmWzY!EiJz` zgi=*S&YQ<%BypAd-e3FbiKFI&S~K|PzC>$o;qH5uuMN9hv$$(z%YN9EHZFzMtn9M4*>jND&O9$y)V-(6XFdm* z>H0dlb3A7g@uzXEIWG66?)zN7e{MFVttHD=o!9~9*KD|DPg13$S6p!Jbz0LW5+(R?*9O}Uen1g ziknqc)yBQ1ithgB+nuX!?QSmZ4$|SdyIWgeZP9y|7_0vEpxsN>!;7NHok3ShfMA?;Q*M#XRi6I2e#1S5xoKIK z(I?E!sOs_$D`-fDF)U9^Z(Y7;=7gEgecIJI)XMm-8MfYYcI~?+;@r^JU78iN`YCWT zTk@aj=wlr}X0FkmRm1c=e^I)fVzDZIJPheBY;2+;KH}c1P8rVGU6SKOF;c9akm(Xn zfUY{1Bv7e9dkJpiTuKdBEW)HkL7$EeWD9D}(9|Lw>&JC; zrkj?pGKdP7HLxej;6IVAG*L(4j(c76a>fptbli`bxh|V74}EdN`e|oq*Hu+4Gg@b5 zg#p8}04q=dla+DPT61?JNA~LG%_&*=8v}~=^5d!8@3%{_+A6=VyT11}cm2z1jok-bc)l>Jimd@_mufsjSJr2d&lf-Hx=7=H!r%kV)Op{b;qOIccHketP~HZ z4I@mq#N(yckwVbscHFylbIP^vGp^0{i`_4Fx!u1R$8C9jb9Hp8UgNeKd)r-!+Mre! zuA|wpXN|JV!&ai8i6ODy()8P#?~;{m_v!tP9;?(kZi-c$IMDSE*IQ#w%a?`U0tv99MgJNH@EiiRV>(1X+b)fj1lZTC!=jvZ`7q{I(9zO z)%x#S>N=Opv*g?E;&;af#&G?&#@gY#Z;9hOe}>zE>G3=^($>RdSwL00cGlfcZf`IE zHOrcu=1x4-cBx9mQb~3m64tfc-M3?jd$WM#cfH%r@A(bB=HByl$X~mD=IY!Q^92PM z&{|tc0;wXH@qC+~de?j#J2!7zZLUpVxc2`5V{dt#$DzaR?r+@(n&rD<-p;^Qudlwi z1&e4$KpFlR>ZL5ywZl`1+12AydUn^cye}FPan9=Gud^HNv9WgH*rQ|??dzIvZgkWD zp%7zw?4;(|Vs^EbFy!1kcN4{NXtwz7FOK7Fs2WpgwA2?C!10=NLFq*Rhm)n2s#lYj&a&;VJ|VhMs{ z`3wLkVW`QkLPlK(1`b~g0WeWYv6C=J1kjl1O@4R^oTu0ed9onMl0{5LOA(d=K~|9r z2Be5HN@PiqmH@=(LW%PcO2HsWoa#JI0k=7NiveYFu5&-entpf$1y~%3h_6WaMJi4J zD_W~fYnbUZgYnM*6xvHEGCVv$)M=;kzy)dsbcyTqjOIY3nZN+B1lFX0NfSdfp*1mp z1!u@JGJ}`|P*Nf@9}MsS9;6U_-ecvFMT4FJz@>~wP}4bz2nIS=0D+px0)BHQbIyu? z(+CPIBzcJ|Kl)(wsFO2*c?C^IrUYu$q+|f5dDd%y1T0DLiOMw8pXZhUfMukQEh3cs zWaWT(1e00IF&RZEfN)S{&SEGeMD;Qb41k*3DiS0p5`PdgBMt?Ci@0r=sIyrRZtNHOy{<<#H_1&Q+zC8B%*KM$S( z6)-2^UkSnjivS{nX4<4DH z96l2C9tO>G_?aFD{xZWs`iR7stoT=_{#c7;B(;!WGY}4OF$1T@w2V}fA`@BYJh9OA z5DhZG!RNphaw2m%PEspO%>Mwc5_7?bWv>t*2|hWB=1IyY18HgixJe<5)I!Y609cN( zG{mo}Sk^K&8C8fLT9OROo}hdy*0`mSzSY<@s4KlFG94qw!ePb`WqND3yVzlZR}K;2_3RF-k)gE9p8(0I*og!Cm|x;DFO_eiQ+ zfK*Vi5TJNTYT?y3@u=2}%KLk6n@%8HG}Z-3nPvo-F)~X=I_T``xwR2~+ZECY5KIwB zKR=WKim($=={`R^{615GF^8Pb!UxRFFvcdW9(JaYQCy&jrEm*@50KvaHhioN%ZdV2 z%Bjtxug}K=>_Hfl3cGZ(5=~_4J|<{RdEn3>hjGLi$i+nEJts4TmJ&mEAhl!z6*&V0 zF&UCD(h&;f!|`aW^^ku$&s+__^wf&iBR2YTks?X{0AQ2>Ci2!FaT>k);8c-tM z_a`)c#MG~#1lEei6Asa8bTmmyCOO) znoP(2Q(BBRJhhz&uX2-F4FuPyfDI}j^y`Tk66=^I6p#!=%mEW4AttzWZD5z2kRIS! zf_W6Ih7TrP-DjnQl1o%EAu2n_eycE2LWY731TZi_lTAR31nS859atDOa%pZf`Dzq`a|iRB z3AG$qOB#{ciwTNA1c1?6O$a2Bo+{Us14>33CK_pVK*hI1*Zaj1@7ez{_2d12BOlOcm4R z8Y|_1xMFhjWJ{$OX=WsWQnXSK$*xARH27c~Hi#EqRRgma6abMDK~oh02o#LE;0`(s z%K|{swO|7YPc45=sUzoxOm-9)TOhJ(EG9#JOhEw2KcYV@B9<^ga=MpGh-DzLnSg7m zX$Rvt1BeB{p)AHAiZ*fP2g1KGg(Cr;3k^^Qk~I(_nq<~T=YxoF5tx9|Aksw525hFf zi8){l=zwe0s1?#=wqT6NHB*9L%v>jc-OH*J#I%iGYQl!hk@{p)t`=l-15Q8zq5<=1 zZ!i*aV9-<Vm;c#WExUK0^#-assIfELcVU)vReZjg#46j4qUKz6WW~CtPLow;`iW9mbMqQOnKjOs3M1VXuc+5-F{$+c6A(#* zQ>Ahv22d6~=LkyMy<$9oHL|*`?rk|GrpvCDv_K}kaW1WR$!hK**+xmi_tzoBsM+$C z&n2|5+D+SjUDnwsHG~kmu$^bkJ#mKTPPw_0a3yG#ZO%KC*>f99dyYSGYjb7t2-AAb zxFK($3ih051VHh}HLGOi+;TNlhUQCy+$8}1k1v)PS^*gtFk>N8jM9c&S5$;c)%8AvVdP{<6IU z`SdAasex6HAVWrV#;co(QQ|z#Nvm)zGk_I|$S|+e1Zsg?If0H_GNu|q5Hu_alK{#3 zPh2^LERpqPLpK967!eWyQ$z4So*T*m;kZvUtcsk0`RR(*De=ZUmJ~64Qvfo8uMEV= zI*1AkoW(MXZ5@Lc*Q_>}%*xV0EzpCIfFq_3-~>CkA*3p@tg(>u24n*PW~TrSvw~4o zw1w4GpQxCr0$9*YQU(;b(pUn@%1&j1>dW-8f?@;#GaWE1K040;8)j)BlG=nushZ3K zFj)BEfa*{XbkKb|qSPs%)mW(`#%YZ09O-IE%AeH3pa4*6 z6B!Ja0mh3t;tDtl0{){UvHt+l7of?BiTUBgYB50|5>is2L4rh(B+L<9z8F9|ZMA0s zL9GXu#KeyQ9ykD2v_;TM(WM+iEcdZ zOp_FoGm(K27;;E{vDd0+${>6IGFbeioF`P&F}FSfhq@g>3;|QC!dkE*p-46BiM4AU z0^l_63xY!v1WQJeYNA?1f-u@|1vI%}cG9zk3dU+hpiBk=WE|wjOgE}0fMtOz<|T*< zWIW&jx=$+b`X@JJ1%#wD~V9#EeMJ5l13G4z$dvWz2Baj#`#%2kL1jZuD&Bb&UMp5O!1iFMZpjnbn{V=C9hNdOz zKh#@5`tG3lC(P_*^)RM@Y8Y0sP+QX@gs-a_il7FCix9IRpH)K=X^J2TRAQk)SuN^Q z({s^UfSLf$Krp}NZ~&Ie8=-*}Y~oY^XmtV(pXY#SJ3MMq-fOWNI5BEIMkj1`AK#J5(N2V1^$%{1hUp-{IH%>3Bn1U}^YjNRSSoWocpLxw(UN{&pwReTi$l|v8+3s<7xBN}rLrF*Dw|6$; z*%^?iq7GQwscr7OYM1B>m2TRYlx$D@K3#I9ae;rJut2B-FNftlFbTD<0cM}+(EQ}k z;12bnS(!DT4F3Qu11LxSJ%0f)(*Ofp#z5A8gy1DM>YCIBl3_^_2qtI;$EAOk12<~7 zF#iA%AeQopJqP^195Q(0Bbpv{0|%rZ48iF#aIx|RpMYUo>YD!mOy^AV%nuv|@>+bk zLE9lZb%Qfeo>^va66)5tHTQgL+4B93&RcMnwtd6<9nmN1vC8e=Zm4teHQ=&xoNcn_ znQ_#q=2pUudkvPKRWkrWlaN1Edd4vd(zdQgvCqSH-J&Aao<@{IC?%h-L_yR7EQ}3Tl%-EC7;PXgHrg`fHVBh!my_@PR7B znPHF(b2Ax{Qa>2P)pFtFaGRbY5U?ge2jWSkLC8{ZLRCsTffW@eF(72Mtmh;FfS{HI z15Qm@%7$_P5->q2R*SeVDS_i1I>uzhP64K#fk8cd55{saT2l$PFM@?Ih$Ifmp2uxUS%eqQi@{Td8oG^3>hm$((X0~hnqSLRf*3({4pyI4ORJ^ zK(rJ9kyAe|p#C_Ze^xaV5VVZlO%>S82M zkIVAG0Om2MaKImg5s``U7(~sV)1VWl%toxF4wdUl9=L0<6x=CeSD-IXG#c~=F+C@y z5slimgdo9m%Jt3+#cMgp!ZQp3GxbP`KMxMGIHa)H(C^eK9cBeantU*78km26Y+HNT z{Qaa-_bu`Fw^mjpo7->i+kq7-$uzDnZN;OsIa@BA2K6~E3x?#D=C$7On>*#jbvs&6 z@+${Y*AaCVX_B-?O6SNKMM_W#R**W)X^E;yx5U$cB({+)q@2EBR8Da?aF`9tH`AE- zkx0sN0LB{z`fb zt$CdqU-Ybe%u`UR_*l*W6A?;G5l_b@XC#~^zY^98 zDtgER@`=rSaMM$r0vF6d1V*AoMsXvdoDW=veo= zV(P*K8iGJFAiy#y_+r)>oHeedp6;FyU$=EiF;yh_Q~+6lgrx$>l14gfWZ@L0@%I-)AttBcVlsC<(roMYZsD5ox)u65R{Kl zgHM(}4czJX6`H;*oI&pUcUG*|DVSF+!P(wfd)m&}wW5d98j4`tFw9F8=`2Wd8uO`5w0Yzx%Pqd%f6PKRva% zYiGFS3tHc7Exg?AuK3t!ZdZ&3Po=lNbo$$Qg4UR0=zf!|*!3Qcoo`I}w(P&vHQdj} zdcK!)qv|cw?=Ll6e@4Dgc7JH|@4njTzoj>JobC74$&EYJ0$o&@7WWD@4~`z?I~ERU zYe)WuZ1Vah3C=`-D?no~Cm1XRpENh|kX=G#tVl8ltkdI`cqb)VwM!a;4r)Z!YHKDb zlzw<-VXLf@5L5sp&`-u-0XR&mye^4NX!jFaVh#R06{)46#Np3>_hdnndRPKN+Yne=I283R(SGEQWf zz!>23{lH*M*H9o42gan5Mi`1;D2j%d8Ni>UeCvP%(rF}s1#%>H%P~F~;1EGT5Oato zPMqXPoj}(B!UiZz#U_KT0g4KE;0X#ufiV4gi|hI5K3?ln3y@F7YcA@R8HRVj!okoC%)1*+GsUQM+Kx2kOP~jC6AROT2JjS#z3>sh& zKnnhn2|j2U)@uf9fPLi}f%Nr=UXe!6%Rk2e+iy@bsq+Hg5kEPt+qWy#^94=`96N00oo}{Xzkn z!1-aBv9dGiT(Z)92+!q!U=&~J%iubk$K!xn!(rFzO(BwWiL!1CmKm=+h#8WPj z(lFA-xe5FR{UBu4VtiP50rSD#z+x0RK{NT+_*V^Cr2ql6C_pkm=|4W5FxB61LI~NQ zF-k{?`K%B!#YZ)AENC+J{uQrGq?o5kj5mZPq-m{C$f1gXPmEwqw3wlwKW-=pnGz3E z@)e~p$C0zP6cHw%c-CYI7-E)1J5?k=%P~y<02=v@CR1=2BAuZo2m-!f-Dx0<;%t@pRvTdeb75XuEnbbtvI1Vb3g1mW7%wqBrX?pxYEH*}|7 z&chQ$9*AHdKs6ecnF9m!!fw2H2-Mu?+t&%Zklb~>RVq;e#<@}n(i!4p0#2OpWjU)f zTa74x2-5uT+J_l+7xtS`YzAZft7Ua9NesvhNtt8R;+Edq!!@q*Pc52Po%>VW*$?|* zQ6d5W;grc)*3yK?gPi;^ow{XQsLM6`w4AjDq~*Tb`=4v-Xxc5`Hl+%#8KNcGQrv=! zWBfDf$Cy?4%-`zm;a&GQ+_pXZ$L>cp9 ze%|a&k`;Mg5})+_OVy8d`|oLO*LSnx_o&D%oweR4(ei`lKl>}zJu)=I5G99(CDA=r zOZ!!=)3Vox=v~LX`?4(m0J`>%6S?$le%{+#xxMvv;^RpPYkT|4cP(jY8m2mobM957 zr7eGL1!SFNd2^wQ@44S4RZGDh3&25wZhU{Rqh_!Id(s()h<-+iQgtM5ZD$CK_ZKHu$`Zdy*`?u$=% zaxOFLi?+8Onwvx>l1T(kIj^zQyv{g(Ul_sPO}(Y&wcM@`!&3&|eUbgX?*`xftG@fU zk1u-I-+t@6IStSjwab3huW=x&<_4(>Yl!~YVMDyK3APw{LK7@oGa!l0^tJOf|E3=1s%V9Idx`b#9ZV$g-dD_3c~O z0e#f&yL+_-i{9tB;DtdUg*c*MJQC9cP+`5RG@bP?nZvDBl>Y!v(}4>2_~+~tM|)oD za=VomEvi}_#ceKKF1oMZ2)s$QQAI*A4T-kTGL>)WDpD)UdcJLcC?j#7#4Y=NZXcA}HtyEn{{W9#y>D}}7MNVg8EUiRj6U7et4lOnN~&twXIu6UvEJSG zw>h@r{k;DGe!1KBlWT1UBYNv2Zmcw1-PpH$vlqTvZav9&bJ1X9v!Uqe_nzxsf9z|y z)c*jp$)Y>IwEe3sYSx{y=^!a$qtsDU8U?XeKt5!c%N}u7xUP?n?09#%DqqxY4ZpRv zR^O?34@S^dzjEs(q_l_*roVNUO_U%>%=E@i%B{=^S@9-uy|1&ga?9~sTYIBsbaES; zZrck^q>y$SBcpN3ZV56R`2<%Sw%@L5vEFE^-lnJb-|m;$Kei4!_UFENo80ez?)KmO z>g;|Uw*0Spa`&A}*|)j1Y0aM9;w~^AXBO?K@ggzdy1u(-rcceye#y_w@*O8dyVTc} zD6a?o7w&jz@3-9Nz5f7oT!o#Fes8%R%J%1x-f8WRWcvlTn~rn2iMqpVIV)RG+umO7 zDygBUAH5dEVq`;rR`tY)!*3J=Kbin zI|H$-`d4-y*l>G`XSjLGY9`q3-cxQvS=6L!+ie(JIWZHBx^GRhvfk=)zkdz{ZuRNE zv$s{t`s0uEI`?II?anu8*%WlGH)Ko_HZg~ACUF;8>cqzT)Os~UZP5iPEas+xoA`w z(re?3RI^jXocr6=pSL)K&av%o!@019+t_;|ZLw8V2h-K5L1Lt>*pf=f5KS?4+pov3k zWdgZDXc~xI^R6$>nn^BS(1zSga%>%+6>d-zT>t?fQ0W9n1R9vHNyS!kJ-F~PZXTvp zwAcyK0I$;uK?~HgAE+EKhdIkK4ZhPtl6nAO0%JOYXk>K29IkuIt&O-fP{N8(kJU5% zS(p%T6s+bRh1Sm8zywVJY^0CkCbYpL=2Ht&Vr|^8kfC!TNnk4iM0CRh-z=hH+Vd*~ z2S_!Dp_!TSI7V^!4=T&)3qR6Mb@r7FPG9(7oQ~FM!q9U{snsxBITV3I&>05| zrjx@QP_Pb?YY`v$iT)Twr547JRa6j8sUU&j)aL>zhFIcE30jIon!plAjGP3!LxD9w z0$}uysv??+q?3SYx4vCP~a- z08xxgd1uQNC-CS5U;>|04T@o7neY>k z6vvIVuRdp!&u#6~Zxm1}S}iSHkAV>~X$PiwjdJqJwVJ}gKGu>L=_-KG+H1el9N*mfXovpMDwbPL@}1z)8f>rA%mxyz@XCOXOQr z$g|ua!Slt!4Q8=8jk{qk-|AlVA@@M#tEiUTD9>?l69Abc0NyniHry|t?oFk~WDz}a z=-*3h7H;k}86>bZ5`0MOjHYV)CNcRM){CC0XhC->Y&)?_cLLgVT=b~bZO9qRe6h~k zO0B#<*_|r2YSmf2K)Zic;vY~KER(53$E0B{C~1}*MlITJoK>&OIU=QZ8(A&lMe z5OrihEw{GGXeywi zCWasa4M8Gv264f^yw$l=(O~lZHp}E($;-?6Xj-pw=D>S4F0P=A&u}w;aav1yzG4`I z^qix^9ItzpRdnq-YqQN{?7TaEMT>vj4SL;+VQgH3Z~Mg*T~G`Jqyuq*C(WKRw&y!q zHf^`Esb>4M?=0Kia^0&=wl1SG7Z%pqTMW7mtD3{e=bu z(X5ysHQg=f zwWIsZvA9`FTt`b6^+-1TMx6u(kTQ{sZ`QelnoILK_IfJMHm!Did?Ntmw|i~Ws=nO$ z3^GIAXkVh{K-+H;W^x%}TYGNt5zKC@YPnKtj%M-^7OjN6b<)Tx?QE*iYSI;nD@|XX zIk&efWee+Pe$8<&=`9z3b~cG&N36(~jn+XBr0E9Yq`A24z)YP-5nabbu{i$5H+1H0 zPjW20mhgtPvH|X0bxR2BblxT6+S_YqPJ_2|6wW6S_Zx(?6@H#)+7BnMXJKq@w;HW% z*GaRjOC#z!2x$K2>LhfC#qRDpwOYR_Gf6kh*O{8TncOO_&hFOL>rb?sjMhsfwz!XS z^IvoUX5#9pG6Y6gim!FBLdES2J>vMY8iE(gl7USt*tb)2epfsvL0wCj}o7}p*!N>M_lic8$ zt2ypX_Nvx{-G?o5+iIJ7P!A(8k^+YE_~M=1<+WeXy}hSrqk~^>Iby18pG}SSaV!{% zYz(6o6aB3x%{fIYjAmaq1A6Q(dAjh2`j|f<%^Noy%dNJ%>B~ErDzaHL$Y8N5CLybZ z9QNf}w0AAJQfhAS_a}|*?lX7E@;lVo>}=b1yMFfNZBavOTTbn+>uC@G)tn4;Y;>31 zvf0~HxnsxmU0pVI?Q68FRrsD~`=|E@+#ccXZ*aY*b92Y=qUGC1dS2)5_x4?-t@?V( zAaO!-VPA$l!=dzkpQEbX>Joda=8@^$Z>#ThDeQFk+j_ODPk~_e=h^;Go!r`Sv%h=y z7d*x7+-rvCs0zbrW&wbSX#+DD?CL#AwQj2lI2?Oj9oL@8!~UnIe$9QjI@q&w_M5v# z-=%dgTd{8Cty(()$^6 zjy!8$+ACYRV$IRFI}+RLyQ|OWTHD^e>5G9%olR{uuaL5k0mq5l-L~?3X}qIrTB}HT zJJ+nQmPyXtyO?k_)U3;6B?WnYur5IU6(-jk}3bTB%4{nj?wNd)hfW7Ca2UYqq!;ljoFHQeBml5v5WBk1`6@xb3ezwA`k@ z1B%zK8twl8U(C5#*qdcRx=A{uJwlQ^-2)qq<0hE3MOT-ckoT3ie{$f60<$wJTWDQs zq#rCuR*LE)FAQm2$x%4|hBM7*S-CFX_F0$`b;-8v9!rErn0+-+NXDxVFAqX4rDuTN zfck}_pg5^`EQApynTUc($WpkMR@N|{vM0gXWp)vdmAw!h0+!Y3fX-Qf)=LsRthpRI z#Zyq`e-mG}pPtbqZPlwyX_;WJtD|g=B(26!YG9CAdV!uW>Ncx=w-JYfZJX{@r1gon zfgkpcMBJB9G!nn}2?I`>jUU?*U=dM{U-*{goA^JD!tJ?Ss$-9E{i{o0c|6j(MTUl3 zdSp`Si6#2~033F0Y`v<=(XBf^W;TCw>cnyW!@xK8zp@zvYGtG|+yY1$s7ZiwjB2z> zJ{ix+Ma4CMKnR+9TTdsnw2;oIF?pxRMxk9A;@h=v44oN;e;Rjk)3v&r<`E4)NHElnZZ zox;m*H|O^kn*HHw_SWGSFS_Yg3%CG!Zb{5g)B}$N)bBdg+ReLmp24xOvt6|mOOBcB zG)HpxZM~=M({kIJHj6tswM&B9xlwtn+jDN=W+8m_U_3G6FLallU9;l6PcPH-i|T~_ zI2u!%?-RPZZYKGj%iFk3#cfwk-C3Lawk?x#!m9(QH8K$u$0er8r1%~|a&4rosx;p< z-uE^^O^d4mAw%1Cwrm@Oh8B^78Ci)GGT4gZDNTPOZGF2@yDa|Zt>rn*?aQ|=SU0x9 z__=cC&h^ph?#%k0mg!g@R^wax3=(8zo-Uh7IEcQS=t-7Tv>5$yr=G*f9MXvVc@9u5fwRY{Tc3S4;T-{W*bjzS`G0{P#K#4WS zdfTmB)gCtPbMVLZ8!MZe`j*|4^oOW5+6tE%e3ur}=(qi_+Ke4djcZD{wX`|+H&qua z;*F8R_U_i$P0joER^8AU-Oc+Yl1cRx+Ag+{m_$I&Jay8l&aM3)uYu#Y`h{#H+!uYt z{l1^u?Uu;2NK1a0Tg$4^({0hdr7TZQxafJu1CMQ5_EyYEi?i=`SM6BZ+-sIi!b#V5 z;d`#$V4$5r&Qp-a7QO262}#zrUgK74%lesi!?*WbiZ17G4`r0CwUa zyv__9K7Gg8#7@=QSVqv{I|X+eblvYiZDlNrYkPCLdv?;-?aVKxjaz`JI!ef3XmQoI zwO(0iEPh|qr*Cg*ms8dB{T)2bOf%9SXgD#?L+V)FFA2ci z+u!6jF{bd_@;mWlZMgpc+ueixpHk^*^8f}s=Sk?ATd1}>7w&q$SL^$mmE`G{D(&O) zJq+#M+wJbr;}ePPjvr;h?8UowuKv!-uJ3*602cQty^q{-8-~oa#x?1WWZT)>+NxV> z5$pHd-QBl7?VGWA5@dLIczBY`tJ4Q}04yAzXz+aA`p+TBZC`bE z#*^ut&DGl8^x9DFHtIrd3Ii32XE?_DG_&T9FrD30Eg6zovu|%;yC!jZORq!9c8;z!ph3S_@UD(pcB1 z_<}kEKb8Rk%p@@tB!Sl>(ELx102F!60Ei^XpQ^N;xBwkl(CQ{28DdE>5Hkln0Rtlynjzm;j={H3pIlP@MAk-~kB*j(%e!p#K2VPaFkGjTC}zdErb+>LAxCjLrc^ z5~bmfS?i-OoJ7ZAlKo8KQ=@CL&AVfsYMxA=%fD*zyE7F7k@`;0<02^|yttJ4G zGJc+tBmNEv9b8&Ll^|#Iuhc=Dvgjkn3Ul%un|K7Yig{p>JxCrI!jpz1qr7eINc>GB z_@AB(6q1lbk|<2%W30!Cq+(l)14?^=Ee0pYq-UI*=M?~yfLdY>kV%LIvXW2n5L}6 z(?n8WAQJSFf{iSh)@V3 zOwDr43H3`1t%SQ9`Fl0lxI!oQ9j6;z+%M{AO^5KPs) zG7;3krYS7qH zl>)IDpZFdaKuNa2loK`l>pA6E#UhlofiB%!XwKvSqGbLwsm?|R`G%SpKKFF@?!Crh z05GCr0H#Brj65pO5f;{H{AviV#P!P%5<q zV3JU{5U$eNi0{w_rSk?<^1bJ0xK$8k*&SpTTjwn0` zEZT)iwvrg1F_|7!sTx&D`Az^Mvs9f$gb+bGhm`dq1R4CWcfX`{Ux6Li(UcMh6;J?~ zf<;6CI%k5-Hrmj9U}4D_5h7R>tP&wiWC@z$BpwLm$cYY1NT|)IC#d>x;z=4T0=bx> zF;fIil?DN%$5Dngqa)n8tSZU{Mq_!5aFNZ8Gx27&5{G(5dKyB1{hq2u=P2 zMO{fzY%0tJkwZUG0!bx*jskdux7}F{e8tuEH3SF{C;M#`f+Dy^k0jfB)MKPGv6JU; zsueNbt;L&rkuRxBP~1i$LXRsOV!EAT zNj)&Rdvt;4fp6Mxcl;jj_dI^)^|u;Tn%UK6;1GQ~=v2+3v}2!zagDZ{@FSYjH8&4# z_jbpYRIvJX+t@7j&B;eAAimwm4D9~^q-HV8yR_+kNYvW4Raw-^MbJW{TzLeDWCB!( zhB7Dx2geHP5KQ6dJ!apPq<|mh8%S@dT6~N|3@Wz#yb!c)a2~aA8=}lq`5`|(;@_!1PV(K0BIkN0k;fsA3&fah9W$jO%9xZ08+S%zbjk` zA9o6+i6n*8dVvy2@dr=mhxa0>@nQM{s9r)9&W4~XMu@2D0iO&s`I2i%8)@mF@|akw z2t5hPB-1tkV#G9zrJ1BM&_zTVNP$Af3y2S>Br#n~rHK+D6jDtnO!)M};s68ZC5bvf z15b?RM8sh^-~yJNM_WWek_1IG%;n*p6mVpBxdSzmNk5JN z4d=>PU;uM9XcdwG)N5acC8 zA&#$s0+THsBx6wxmJGmZY=vq`r{qN8aRJ4{60RnmXy%fw*)2RWW2q)HM!Kui=xf%)|!loY@Xx2a7()K!EQ9UvI-634)2gC8LP zsU=y-00;r*4GDk-MxTZc4M24sOBggz>I9IcfNCW9q;$$~nokUBGd+MKRZL4e9Vg%p zq6-lKj4=+Xtj3bE%o%}$rX@;}2$?ctrVNHSivTeyW(JWWWFOSP)_(rbRV?v>*I1FC2hsf@CtO62{^a0OSFaSrjy(#Jn^d zO3<#1%EX5f3mBLrF{nCYr{{{(Q0@inogr;#$DR==xJ>E&TS zC5iFMv6SEn*;z`^AoZ>FIqOU&T3t)K+|IBAyW^tQ<0F<9`NpiT)- z#Lst98kS|1fI3zi!>(WQ!)dH`8NoqVux&s9MFBbG*D--;*MLq3rK&$H^6)gK03+W) zxUqY0bV^>ea?2?Z<-ClBW<(uC96G-;?Gtan!M(S0Z?(3(d53Nzd&%*41ePk>ZSBIS zI_dPBMp)B!C;sdTt#aVmkVUoe8oE%-ca zs$POOg2#vx13AtCm_2X|*WTeb?Y7;&&9B$PcNW6-wT($@cHgzU3YgRxZb2Rx-)7Ne zPTY9-_#D@1VPQ4Hx$vlWBIF)ykeMdCUn02#WZcK!Ka9tRUYO4W+O~O5fI4D?R2+bjl=xN-8Au^W0=dcYii!-U3&e?5%2NQ5GbVb8 zB+!rI1_I;q8HrLg5+*)G{-HAhF-frF9nv)G;ha#DBk?%^ai*&sprJAa>qQf&v$11k#^SV z)7reOKki#~Wgrp>Un%LAO5=3vxn5f-M*Dl)l(ly#;@{lnJ{Mtz<&N29(qiE++oM?}ZaacC1q2&~Ou>^KJaPHT+_G9{M$c|lt7*KNi@SShZ+7>$w!KTgxeuz^ zzovHAG_xz)R#ps`B1r2HXByHHZjUV#+_hAp{-&?{eD9t2u^#GQm%P z%7<{P+x+ugju*O3blE$5&**Llom+dAqKtl->@Qrt#_#_CN$M=0Pq_}W!q`#&0NOn} z-Cm9NwtwdBrT2EzR{sFHuQ~q!HWeM9ksQS%sNK~(^l0BIl*6*&NW zFachmiU1C%8OA_QPPhP238Bf14J7$|GX6LKAf(7NB>8}d1b(CQ0{|r3jv#|H5fqs* zGa!>eT35pWcL^=@6^?-X!Kgi8;11$}5n6Pleq=^pjDvs_W_tuy6oWBBNU0>!Cnz~# z$7lptupk06kU%g&5J$#*aDyyKZ=}hZ8ct{7nGt|O>e5f?m?Js(LHPV|3^2ff0tF;| z`WT*{o&XFonaxNBWYpybGLN1R@b%Q7r1&*5KLeR0#sQ??$VMb(J!qn6Oq?+}&=t%D z2Dy*vIoHE8fD&!O9MWqs)PM{~>ST~4;Yi(D)B*@5O(_RD#X$Jsk}Qgmms&x~TfItFj6v*-FAi+H*y>P|cgNW-|R7d__JOg+WFl(62 zVxA-ZRKOuY9zO{*pW#u2H3HPs4~fiWNfReL0hR}jn1DpZI+^%R7>7l&K&XfYq|SMt z2#hH$QM5Kh8tDYY5Ncz@z&H~o)oTs{4g@I%KpivAVh$8DMS7%{7!Oco(nNwhD;-DW zf*ASg7-Rqs=@fy`L|5W4K>3i&nve(wr{f?WjWEo(<3TD#NSKl)zdsuEz$kIRP_vN$ z4Ej%i8Rvnx9ct~Sg6Jkp^_ZOh0P{E`u16BY{{WAk0z}frgjAEJCP2&PGQbet1vFS? z^Hwy}14_ZBemFH7!iTO##LOQtB%G_ziRlaTz)r3OZvsck4@jxQ2i_X_Ot7Uyj|z3d zc^w}sm!R&YBmip1@C5WHrY0Gxy>tmwOGpE#Jz_wh@xz_~ls8~qDIm~I39NMa&IBu_ z*MQJiG9aJGQhyrZnWW`LqmAVd1Ow&()(=_}l`xh~Efr00V>QkzCOVwYiJ**8j&&7Y z3jz;_r$`?oGlbNaODgIUI4hBoC}XTwtuT^hTJ>qABVyV5giufc9XgN44oFmON(a(n zbx0@RWPGD6zdRCy?bxEMC{O`3tkOCUo*6AQsH&hyrltf_;xp+=VKLQaIECpNS11%Q zl*3R|;FMR}w{X+|f2hz936MlinD|!=hNB!q0wA%GA_QeZNX|N8YH3%=+W@#ajEesN zNm5rTSH=bfp*DVJ8jX+vG?6kX)OAuTPmUQQs-&PWAg)VaAHu(uCyA>1K0_b?O&WZ^ zS4tZE@kS*Cn9eC34Cf&IHR)UcHrB;f2@{y3Wi&qnfN~*1RRu|m{LKO=X;Xl6k+o4d znp2@BW}_$+>4Xi66oIJaQPMhij)wsC&YxCD6HK##pNTZYJlmOQ62_lu z57Y%R)AbyHCSxpBn%6KpBt^ThLJJT&W+di%f!Fz9n#Xz)>_xuk6K>%oB$N7xgFP!s z1Je|;r2%WZ+ty6V!x;vGKrsXu)Bq=@9JQclK z7!hFI_Fmo0n+i`!Kth@c3PcimlUxe#j)4X%yY}m4e3I4_l03{%RvJkwq^SaFi(9E+ zD~$0m4ezx4ZRRDmcA6AXt%jf{K=j2tq|Ia;OSdz^j|`8R+Hf!)N7!Byad5kA6JD1Z zv;Z`?A(S?aL+Z+;c;cJp#}4yPy=ag1HP@#dK@E&l-8 zPS)Tki0VZEmIzdVq%Dw22WP22!x`ISX+B(hBJ0$0sZwCvhuU`aZa<@L_Mm}Lm}eI$ zsltRQ5RRrXNd|1=rScp$1wCg>6IWGb0DBE6^l&cPt+if*8U<$I8R};llq3bl^y>8iH~3Q54rGSKdu!cDB~bY0SyRecN7F_{rG9#}nGgXN*fDljVp{{&n%phj52U3VAK) zn_P9E6iGg5>5IPR-mT>rDz~l~f_I;CaXq=i?)$6UKH=c_4%^}v*4#fKySK#l#~taC zSQp$nKP$)#yv)F`qT|Q!^&5M2dz;QF@drlM#rJRa_LSK1=k5dilJ`e-9$U0N*Y zAMN`IcWudg(cF7sV{>zDRJ(h&c3Yi0elpyGZQr^HD+O1sJxkO*Zd<0)jlCCZ{)e)3 zK8tIAxxbqyrv;5!!rs$+748qb+~((+;J<&nP5$kNb$i|J3Eu83UEDjh>#N&4ZRh^? zxVQGC`fNY2rUdE7i`wY=-nQ#^dTFxaKfmsI3-5H@8v8VdZr_&!(GJA+{{Y(WVQqfL zvbgQXdV7VtOSXA_{{ZKGJ?}2}NdDlryiHcPou#r!OB+8;m-QTb7ROJs)A@GSo$7e4 z-m?3?XP=LVHn#`aeBX3$TYJyl-fjp*7Qc0E#gTJZi(7qP+67i%0jR+(G{-`tz1NTR zIr*tX?Q2bu)m@$KcGqFIwr$(AigyO`C!iYeP+{3Fs0>?9Vu0ls-j#f-I5@4mvfJ14 zIxn}oQq8+|!fkC?`gG_*#E{yH10>pJB5U-Mj*9J7DdKV3(&s$J+~N2rsJAMr0%`;@ z6IO;jWPSq__UX$Dh)Rw!XWVxRQN;o*jXg$xsEpb?GQ{$!^6(+JQjG6m#=u`B!)Fm% zkVJx50hHrj3Np#7Rar7^w#O|>MEP{b&Z3{o4Xn*{NF}Gti}v4ap>pzq6@HPC{ds@S z5`>+nw7S~c0s_K-pqk`Kig;nMUs8RmA51AA)!`fp%_>U2WT2P^m+5&XM(8oy505O4z`Vt@*P%6LzW+R}2O#s3|qI&QbNeiuD z<(&W$LlHTX{O1g*oGuR|nqUW0A^J{zXTVTk1w2a8=LR7O2DJ_U095$Ke;guhR@^NI zQ5V!CDJBIc=RgjBh8zbbGpL0L0IKB?QU+%@uUNt}vzI7KY?lP3L2A;nx#v@W zO0BF5aflG2VU$y*Ul2OsmsHcp3c!-YtP7BOnaC4bMgqBz@MA?`)EStAoQwgkQ@}(B zkrSP3GhV$;0hK;bYX$^@L=Ke`fCL1A9~1M)#$HiTfQl?R4k_ScF+pGauofT`r8>XF z3AUkAKm5AjC{Ga(0H?-t@W2Irk>l2A0Pv3-03#_e4WjsHs#a9$KCTAfBIyb& zm;{)X{Y*ay!d8oN@qDvDQQ9_Rh$IOZy#^IFL zNKpn%>T=T{ReW)j+Pj+YI^jAfz`J))lhBh$VoTjU-}r?44Tg9hIdx;4^OK zovpV>FKnBwlS-B#uAkJfaFg<;&2JxaJ4Rn|pqpq4u)S@@ME?MCYmpEm68AYgtLkqb z9iy(>x1GN%N8mtv;?dkFIov`6)txRZIa5!h)-i`SC7P?mo9*q-E)>V--b8)CxR$N4 zqBYQU4=_{&TVi_2Bjt?WnI+iG`CVI$Tz(My4H$2j+$-O$#Xe;BZDyhW02cfWVjN=(ALkZW$rm*CPRV=1JfDx{ISWuy|;`f z8mT;wO|`ko<+a)S{w4v)^E-Q6paZ?NTP4Pq^=zscfZ>YNMKqm6W5?Tau3D6jFR`-T z+^t*eF+2Q~)3m?3zj!UXhskE!YrE;e7LE3ucC9di0_r+(&u44V+Wd6wJE`{TdhI3V zje9f0wV3wfxzQ5UyHB)RCfgfsOx&G1UCC4Gh6ZAMK+7EOeb>t2I64n2ztC zwAaU{xVw3)SPO35=+&qxB!`dwi1=d;bllq~O=%T~gkk&s@3~-J+gf)HZV0!$E$Onu z5^Wb6ZdWjb5HrUGw{sbk{zqQdPt4Wr9INy3ES9+|*UjD4+mI~ji%eeqjZB5gt3AS? zg{YO(FqQeOHaFZ#i9!UiWWi^d;upsPzk#w{kVPa1g_4{^GS1Wf;!U$LcyMXi%Yckha!&OM9EQZCq8h zw*570ifM7DP;EL%cLFs*P%?vxtK6b)uQ>fk+_u|>)<~PHd)>z)ZuRZ8t;g-GBelTx zjik8XsPa?$>zhIer2Z#Em5kwi<)HJ7Hg-|+lNMUbz6GfG_S0r2)Cp}K~qDCw&dn=S1PSy zyiRWJepC0myW6!7Z8qSg?YKHc+xE#)%&HYlAgQ4~7_GP3XsDW1Y}I^+DY&;coZ7dk z%2bB|3l`L39IYyItVSl>*0w&JNiS;-G)AuE`Auc7xnUQXZj!~7RI4xwf(NG=j+tY9 z$ITSmZR6wPw6(OTqT0r@z}K9QJ7Uhenu?>CP&KHyut-T}rn#z#GmR*vDc~pe>sXb| z!@TEDc0KFu{>j*1-0!!kZSGjpXK0L0=aAhkwqTo7ON>gi0bLMT8ZtnMMojZO+M1~!{(Y(NclP?X(n zTmV^!H8g>bci8DVUWaK`pHyYNerKcgJ!ezb?oIKxGYduE-fw?u{g2)9JFSzorMB`e z+iR*#va$}A(P_Oh8N94Ul4*|}*7b?EoGeH6J34-vwesC#Q`YZge%_MC!*6@`RvvA7 z%FQjycFL7YA#E@k)B*_<%N`!P+nbj2TjR6jUq6>mG1`5t*>?(9y=5)! zuUk@7T)BSx*tfa1w$Zk>?%NhE0d3goQd?VA1{+)Zmgd@t@A2SD<&QqCcKm#fg6;0r zy|orC+!oldYhmr&{^h-wrZj4|q$a1(Nh$=4=N)@A+^ttUSTaZo}&K%eVCJ-YmU10Hu`q!FXJaaB2Sxf#T)sVmdj?tSF38;0J@ARQV0T` zS_mR**ByH{+`YfuQB#|J?I-1J*vNKUW|&J`g$mlONiAuvIIERnLpO&^ch0U#oUir`0pzok_CTw%fD%UZ32* zDqUcVZI`-fLn7Fy>R`N0dJK1}?mBZ?v%AN${ZAg<6Ln1_xQ(`-QH{-71+alYKAOI$ z4AbRStxi#lR$o22lFIPU_BX13Z+jftQ9m>txccXPD)* zu4!nev>Mq^ocRVXxH?%Cm5Va1vHGo*(%P7L zjFC+78@7D2Tz^i&_R~$K(_aum)pp3V;chLP&8<R^g%_}f`apbo55{iF|Z=_0h zbz*~UX+s9Ntg?+vAlY3o#%g+F#_sOY*MEEJj7Eok*G;(zQDqu)o9=DS*zR}Daqexl zjeF9&W$oGZ@A@pQw78^dTP`UI44=;)CflmEcX``i5#V|5o2T2dTS-Nm&xdKw+|PCH zA9Htcb58E_TePOE8jVF~s)Xv*vF-rq|!C7cEoM zz|{Ptu)AUOs2Hdfuq?y(U=`Qao_!vlf>4X~g1t&AxX!8o!$E z3*om3yB2m=95ZdVHqGE|Ern~A&7BLP+n3How=HfyQ&@6*y50q^p%;z2 zOqVT^x0Q*l*(8Z0Hl;DQEY=atxobM*WA^Yh_cyzHms-~4&D%!N(Cw_dWMw$S(kijSqnT$uqalX}EQ?pMm;!G`h zO``e6Y~Ou#66!apNx!x}qxyP`vsf_dg`{{6nC+)NmwKER+*OwFyA7Sk@mpRmY`1rt ziw?KUTTRJxbs|6l)9TeHqJq&+mrmZy#lOVyJNy3tapMdNoYHPm=c3K67fXatmc0pq zZLR2$A}D%zR~y>ah@UEYEfI>0r1RPxox5)en@e)t(rue|?CH9fDJX1PRnUq~WRVew z@D^U%-tK-{^K7^aT9`Cgye*rXwp~SZZISCk81L!5 zJF4o}`*n5O{{X4s9wV#uE{~$KtFpDb7Jn1auE6^Z_TRVPWxnrz;pF?zeYIO{cZuV6 z*0?^|+-_}YD{|()+;X>J!7KyYM~sF&lcw|@n{6k)-LAh0@Zx&+Q|rA>^<6filzpGn z?Ct}B;5$oVyjN=Qd}nX$RRaFoi`y>S)sHA^_eb|{H7Z!w9&2lFZ))7MNh8Bch-W{D03DF@NL4cz-Mb z-@tRsvy>R0gmkB0AC3V`=op$z$5TBr@reHbTmp7kTtiX_B8&1eM4DDBmJunc>QfjX zNPz}ttenrs482##pupBOQY(;_uUUcd!ZLMhP|yWd5(HL;MsNp@TmyDe*g?i%Hgy6F z*E;n-mI7cMNvS16hm!BWkQP5F|xp!uh%~|yTtL;+IM2lV38gR&0BfLWi6&wVe-bMT{qY)elt#_;0`^-7V}S-ib9i5jWQ;1f^r}^#G1j7e;=M0 z>e3KAOd91em&_iRLT@+{K{L>1L4i}1XADxFgKT3|eLx5ljKyG+TIYlz6}+Rw(9_E@ zY0%G(01`nbD2)C>2nLf}191ugkVACqs)AsV2RfSI5Zg43G$T;{b0(=sIDV={w)j7@a3<{(I0@M>8SreG41j+vZs&D`$t6zlBvzsl@3z_VyAafg9uQJ6hvOvl$C&0|39UYJ64;jE;0Z_| zLC>vdW3P>HB9V^sJJlcibzuSx!%+rmrYLFC0__otHOM~$Aje90Kof#k5bj)&0MaOC z3r9jAflM@@L??N#=UV)MB)~WuD?%m9fYM?PO-`K%!V_h__1OeU%?OBXP%Ba9%>G!d z1*sC_3Yr2bNPtPmVKy=i%d;Y+fM=~~MIgb9D4j%Gt`#*Uw9RC~l50a*lhdSPySM=n z?o7x7{&^4LqS(61s06N#N#{#UN@h#VG z>Mx{~(r9GXppYhJ3H-3YjMqt$M0r3_{UFX{k&wXfv&9ZLq9x0POo=9y$`3$tol%K} z!vmH@d!sT4U?c^A%Krcy>n1wjNRkUZ%|aj`f^#Ohz#ea$_+o&DSRGK>OnD@;GZJK} znXY~qA*IYTh8^N$GaR(25C|Q99}G;5%0wHF5(bkXunZ2RCVql`sBEw#Nfz_@04xK5 zNd#shR6L)ljO1YAkPw>Ws1=6O(3t@L0P(Ou1;#+qFw<*5Nldacnp06}ipP~uYEZG9 zcuB&S@?%;@5;mg{7EeP25NJq|Lrg7om?mI)mu z50A?X79+4_t})hEHUYIMT2zPv0QEd%K*-=4mix%g%&Z&AKvM3&5`9mUX$l5o!{?8+KoUkNhHj}MM;SIu$zA%8e%d8lLU%LEDV4SSWqo+Hf2N^ z)B3+rf-4}+YvEiPhJajnl{y)K`f6oNm;+X+)8m0_+z(7@MVq0Lf3~KDO9+^uO(4jB z9K>PZ8l46jMQxE1H8lZ=Y7jGD4xX=IBM2kOMn>GkQl%OFbX8BojHO*A0s*7v*vR6 z3N#x!Re(BL+m|OyjS@_n$qPA}XM#!PV?>6`mNbnlA%QRi*Hnn1nF9!+pv<NSJ` zrY==xAQ+F+;qb*(d4?n1xQ^P92~<*9brMyC7l1$kPe4o@YsjW^GEG}=xC=a!CHAn& z*6pgwTneJmV#veIS%FQi5$TGasXxLGa+BV3XS#DhZWSW=xZ zz?o%|3OAk<4L}yDS@Rl(7$H4S0w+mXRY3-zg$+;^bqFeaJa8nEg`xrRps65`R7e`8 zXevy>mYQdVq5zHnmNv?~FX$uy?NdgR>Htmv5Yavd zECLM)kYa$D1RpVgCXq4t&KhlG1N9}KsnMX56@6lrlQo)PkPx(mm5oJ29K;Ek12SdQ%`@n4ky#y)K1!|?5NtqxFv%%lM2ONzN zs8U9vLlGnhj;bm_={NvVN|g+w$sx2WQqfq)Z z>Jnr`n1SMED==^<0lQ?dQXfk*Xjz?OQHe7O!~yXbr{=&0LN~{#)JbTL76`c7(hQ?Ff28YqTmFYb<_wYoOJ$JKt*rvFgDb}4JD3I zCpfQ~DLEdPNxfVGc*vp@0B1_D(9$R-NP22DrE|r8p{_?B;qx}E#KOT)z<{N5ntZUF z;s6bB7>YA#3Lus6A*)ILSXX?gBrQa#gA%OssKA0G0>H)iNqEDrYbe<>v1W*&^G@`9KASQ>f*p za*;@`2dPQaUn?CXT z*9E5P&Iq{) zMy!EX&*6;iJU)F9Y+x zPv70QRIPT~!L#V&n;IHmA zAk*c5X)35e$p<|nPeNh+(IL!Cz$_ zt*xi*Zs;KY0CQn+w#`|m{l2)XrCT___U+3xc!tc(Oi8cINfjCVF$F7Vu)m<>ObG-5 zN`Og|S@<8v04FwUv5N&fgz50=GagW5sGz`AoK>}|7f>HioXKG(ndB)1_}~QQsqqU{ zKmZxepH(v_p_~GvcC4|*W*UhHsUTJ;GOzK#CgJxjLONIq9KbXmGIG!P;2n~(hBjCM z5=GA_w;bd~?Q|Z9}VOdyzRdBA%4Y z!O8_ZDHxKgFE3E4EBJ}eKj(n4K%|i%6I#iq@)(M&u#P>Vu~q~qG4(+`WBGp^SAP&` zaakzp(j*TF{Ey-YI7#9rOz7qI;G#yUgV0A(2jmRK97cwTC4?Z(l#YT$Pfa;=#J{Ok z;{>#-xt6*CeM2sj^s%0V_z){vpUVToGH;tKjG!|98f)S4uZAfSfYL)klR!SIlL6mfIJQwe75EeCcEsQ+fIMKc!|?%Z_MpE zJ*pM~jgC`q>Re#IR-anguZ=Ob?rNC|7M+IHG3fb-6B11IGeH=~iJ=-G$HYYlC-B1o zS2&8WIs8YDOaKr@VFVI-5`3c~XTt}G38kO`k%Iu|)AEsk2Q`q|RsjZphzGTgXH{fU-lT3ipO=?7*nO6`36DA0N zY9w?74wd*|&`m2SdI{qo{uu$00wb;gtQe5xD( zBpDw9di?O5#5E9TmSy4L4g&;MqD^xL8Soz+K{Y0lMJF>pGJG(@4?!BaXEUBg1d;HG z!a_+`LAPR9Nb?eU#VbHtAVA9$prE3GO$j|RBvk(ZJQB4;JUQak}ImZa$!+fna0#@=@}DWmmitPp5%7p?6;P=eT9;DTQ?ViBnH22 zUT#`102Xp2coB|oQ}phi)cQMgo9SgZeT?qtI=gh;O1f{CkK$k(o0d5%f4j1pMcud; zlHveen9B-CVg(5JMm}%#PfXqP{;PAQ-c35&jwMdNf%@k|*3+rjSF2M7J-^vl-0ZZa zsnD#q6JCi@Ayire%b3p|HMmJv3yIw=yy|m*x!sSn-|&0SM$6v0=|8AR7d<;8rj-)( zbEXX3RL!WbKtP!!h{`jjdGyCQ0jL72Lo#wTBl#RC8napruwrOL7Bf-_H8Dt_ z6vG#JO1g~ZBm+u#!2rRIxK9PqD`kjCGp0eEA+j(8beR;xA?gye6CiXZ1eiT@q z)k581MQMNl)F8+PN%GAk$&hO?hYMaJ9!*j6%$}bh3Cft3imjT^S`kPFdVKOTTE-d+ zYWzTnV=eUO6A{;?NH_@>&GFJm3o-~G&0q+w0gF@NPKP47Ps;!X7^#W{h|B$F083g5 zD_VR$6M%YzC}=)E!oP+P)*P)$B#}}nU&Hgy0>D|jY9T&9o?piRyg;EOj}i$Zu23ic z030z2ic}F;UcNLGj43Hq^0&aM%un*4$E4wt+$cUZjMPw{3Z9q&3Jz5N0FaNK5ag(W zNEv1$txwOU0FJ`CO-5P&0InD~)Is1gq?*Mm{AU0Q6{pRG1v;Lj#t=k?tqdtEly!>a zW|4&j*3MyQRlp2oQ6Gei>T7`yacDOZK{SE%(zT)SIHNxjs0_wq#Kr&{IN zM8pgs&O3!hkY+>}F%Rx|;e z!4NafEAa4)G>EmDls0-+znA`aqd(Mi2wgz*k)D4XswWf14N^+H%TO53U{I4k$|v|? zqAc6g6V{QQN9v|?NH_^)W-B$2eiK^f1YjPjc#9F`=q4vW&j2+J7KKDX@UQ%*tl$NV zj%qq)Do2OSrWq=x^@rrygMlL151t1*3CcZWKK@m7&g1U4E$E7+~rU2kpvZM(T zVrc@RAXmo<5Y^gpxQncvQQ&EoKu<{r1R|B}+m68*i4z4#A~hV$RA45}#&`y*vKakF zKNA(gmTIY4o*|zRpURZW2&UT45wZlCQf7pV>ye*<#c(oeZ4C--%7C##Omvbn>r5oa zYI$L30S0A_VznR$@bS+K&dJVo1c{`04}|9+PfRfi7=Tm>Pyhxq@t+g;VL@EZBY*); zqe=p%Nj??v5;E|^CIVHc9Sl(BGs=)NzzZ$~YkF6yJ`(_umQha}B;>o%S3!d-G^x|m zDgOXZ95XRG9N0bb7O;m-W&{s5-IqJ$jHyc&&*-SKn-l_GO}|T zL7&9*6u^P0DB2)N5Fj5D@dWtbkcFoJJud+iIggG<<6f1;b2x!Q8GC*?k}DMgd{0mG z!{%a!hP?&pNi>0(%CSQ}IGML-4K~i%I!exFTDAC(95rrS4JmqLj@)v9A$007kjuiO zIX!V))!`zBwUQ(8HrPl(tVjn)rE{SS2{Z7)&bz{Y$AJRp4Q!H14+bDa<^Y_qbIw>t zVFK@N*>GaokZW3j29qFyK&Bkdfd#hrYgltzLor3s`IB>Z3miyh6Vu#WNh$e|ei8-1RUbu21)pM}+##n8ZGt(M@ z$Z97gHKbwlJy1ag@3)&q{{ZV{AqWHeX_#pRWoSt?>xWyc^J+M@wUXU)+ii=04%rt} z2X?fs!K9M}tqB?8U)4IeEn3r@{CqOqbK34b+Pe!3B!Eq&lEleiO7+F7q@Yi7?P^DF zX?V9Fe#s$AX)d6a292oc>J3lSV-w8Sx$PQ^pJ%vxa__XUYS>@yohqod^%ACZfP&i% zQ`6&#cT2=-_lPkbU$*;0w>FQ-ZVty|u{RB;f2itu&Dy0ehB!0X zHabq1qS;rpbM|rn07I@lxBE!oyIW<)_cy=Xj}6G*wQAk|H`6=>%pQ-ciYut`q?@)ZNYi;AZ`kg)g;oKeD=RP*A7=YaXK8N1 zzq8kTvX)|!v24jDm;m=nxt&6%JW`^C_U2dgGTgeQem)@S{?+W37VRy|NC&7K*ko5{ zD@OCik{rM>^npW;s%^wwEk9G9`>%)6{u#UYZr59A0Ynkxnv({B6vX*~sLK~!xx-FV zFthB?*}QiL04k~iNCA>GF!? z#2bWWTP`#y&;TF_)I@nkK#I4pk zr95!c)VY@usBvb`(}*NFYa0Pv`#tJTzTwn#QnBRR94^ zQ%LaZQ(AslM63o>C_jLRAC3gdPDM}@iTFs3QZoa`A%;;Q21Qp?kELdQObp49gvh>w zz%f}Ov;gVoYcn)6feMZ3z)?{Z($FA^#cNsv{{WsDX+x0J6c844i2hU1npP=*V~12| z0YtzA(P$?=v4BmavMSpuD(uF9G5GYFQnbJdV>*ils#wlPqykM$e@Hk65m3QH4+ATg z&OoHj033mt0%yXc0ANp!5tUMSVAkM?05JlzF`wdo7-jMxf+~qkGxz{!#0am30ji~; zLJcZFAY=$)2%iC*U>Kf_y=dS=1|}D&VN%1c0YV+FURm(?P63Eu38qjW4-TIU1g74A zDy(THRwh0bss8|;0+UZDa1be$e<2-y7z0fOFv1LwYoA|+Mo7Q{N{^5e;3?sNQ2~^h#Zu?( zE}ojIpoWG5hP40*B0B#7JYd_Lo7T;!d;(R~3v5*WrIYdbG~!&yKH^S+AxsjdB?M}i z*Ox{9cz>x5TK@pI1cPlu0j5JQ(^&*{Cow+^Ynov=ukK5%=@K@8!MXtsw+fO(O=udl z5scG}@hR0}GyyIztfjy%Z80E&04stNlTje&)Z$z7ca<09?j*Ir>Iw5B+m!&55JebJ z23!*YQNvjqQWWk{nzt@$)sdhv^pO;+8|TYr4YstHxPi*Z{}3LRXKqzTL^GxEfJ)}nh3 zud`PzcYa^gj(4o9xASVew^WiVAww8FNfC^#xeZJ68m*;ij8+CO+_!S(k#Sj`(>XN) z+0`$ffHcB+w=WX5m8)56$v-kN-Fc|MhqfF>V1gFvu<(H=;eoeSm5rX=T~q%6B*-7S zdtjSje__~ZX$WoHa92!yN)PeIKXIzImzrVtPvmUqo7W7Bx!qbRe@)a|mkVmPprb=U z)RX09w$ctQ-8oa360N642(WMY9jWwm+;Bir#`U1~gem$7K2|1#wpixf-P^={eiB~Z z)$-nxgA?R=f)?uD7VV3uN?N#X+jc5pRW72k!vRPJOk;}M&qsvO+p)6e8mIC#{rk80 z{{UN%yUM3iu)e8%+YRUTAJPDp+t_pp%&RMy3~|Y8JI^Fx_V=D&Yj10Av2JFbn8}B8eAT6~ zxJ{Pv(|2y~s;urU*xRB;tHVnI_S}et)KnUbXS=wfXx#n=`#VV(; zL^qdPP$-)a2@5&@01WXC)>W7JG8|gaW4oSVHg>M7YfHCU^J)Yu!>N?=lc^+9DnO<< z?Yqh4ZRg|gG_Kb*qF2K;r#0L*?pxF)=+a=kJb+PLG&H~_OhBw-C%ac8?oR3pY4qMz7d<9awBA`PQJ4jdPC&2cINxJ!RYljE`|5J; zZ&f&79pACXe(-zs$98?2`#rn1^PasoHavB*rIE&$ap!$A(f4}I z#cQQrnt1U%AE|oQ*G*ML4}Y`6^vS_XW4b-e?i-x1G}rf6ws(+TPH61ABFQV}9=6_Zw$)TM&ay z;|o@#q!|nwO!Ua(!F9cLTAMVj{o`K@oqaz_>26k*J~DdY?7y*RXlx+k$_sXFUblYj zg|}wK+rRgk{lKb1y@t}LAcsE;diPb;J>=foj#>WzUyl>MwDU!l4@~{9_OoxYvtVD_ zvD<@eGFaK#KDOPE-4=lQj^fS2+JvbAr#x^`SD%?mZD+jEwy7WFr|>%0wmTuNSld~= zmO$JScKz$SU;7q;7OYt#Of}+*2V5{{la>dw&f&IT?$^_y&^@=>mUe&HwQtn@x+A#U zfXV4;RJH^XV@!f*f2wiix=o#`%C2sgA019z-Pg-GQ=zl?{sV3Zy2~cZ7j4b4E9QkD zDb=ok09a}OW3rt+KD3jv0A3K47^@9FVo%knn?C?>;m2wkx~-uovtxQ2SFHMVs2+;5c{Kn6!HFv$ z#}d=-?lqK~t#sA=$k$@p07j=8&CN$s3s;-Up@m>L{Ika{+T@mu1M4UXS~zh z%gx`tV|#CIth-@m-S0?Uw#Lo9vobNV+LGH`y>ZyEB)iDO-*a-(tMoOY*|SZ$wI5pJ zS0B^k2H5e4jAen-6{Ne%oVe*tu@fA#w%803r)yv!>?ah9bI7c-pOV^I{HN#;W;p=Tlm8 zT#~k%_uAv%xp0O8Ta&g*Zw`BG@k^yY3Km1tsI-y*AHZ+lp{ zSsK7rwjRq|xCvkbKi0}XF$8tS$wGav;|D(CbW>eFLr-&;cN1vc?0Od?XTP<)MZ%0flq+#}Vmp3U>t3> zm8Y8q7Q@D*{vU1VIACqE?k$v6V%IL(w#+0nf)$zx0L*pAlGxf#($kLf$L`&7TRBG7 z*ljj^e%SAwEm>=q5f=G-OLIyPvKY%fk_@(?{IS;dX}bZ$gNJy?bQ>_#%$6%j6`pSfjz1Y6g`M-Nj}))!Y%8p~ptYP1JQymt{BlFPXvB zb^RYjR<|seCvsS`wb^X;yk{S@+VT8$%Gk59 zz%FU3c*x>{#-=D| z`m~RLlP3t4CPpl3KkA>4;amVE$j?+%O*IM(>(X$?T(}Ui z6j3yjTGoIckIw+12(jVUu0yN>U>P~`Tqc>006KOwW!W!gTwL901Xon)?g3E_~DW%UlUkh3eif1q0Is7(;qWA_Lr_nLNRJ#0yQG#1R@5~>3P9^5urucCmIE*@H|bL> zNT|z5IrJ4KKMVj-D!KtP&_j7a5lQ$>Ja7OE#%dyLw%%;Exf223d%5!&3mHL}v#f&}U3cxsUNH zfLeqmNae@Bnb_@-DgRqDOw4GPmF$8pZ-OWXlF`*HBxaew4AK= ziWr0}R-lpt0oEi&Vy6c)Q36kh1+tA`L$bI;n8UYIM+H zm`6adFl3P#sfyxklC&Z;!y6Z6fl(Twu`)9w#%B^bG!VIP^tPSS-WId+AP^E$d?a=^Fhf=Qqe)_yg{(pLgX zuBglm;&Y*(ImBm7HpED^1~5Db zGf-p@K?ANOFTg}Aw+ZT08qQ~=nI0fSj+mezy9~+9_`w3Ea?1&iLM_*jV1f$FlNlVc zq{a&7$V|7~yi7sqUX=KeQXo=rz=H2xQ36QPD*{QLqAQ*hj|hnO7NLR2#CXq*2+J*e@hvUSTD8J)bu5kl4c zrM`8#XU4Gb2W5`F}jtxv=pEp_Y(BV4%>0VF6U0F(7nW@bsuWz!8I5UyM; zqzDiRkYt7;go8bB!bq&pB*~Bq64D6*O9Bp`De=z$$c=O21VNds(8Nd;#LH?p0Tu2W zo>*mPtO*bRCVBy?au_3sOJpazS5gGB%)0_e8L5&OABe@(OMwt>-(03lDHBvW4Cx1` z!@MUQz?7`&K=s%eI$(`OSowisLoFl;13rT+XCOA)h0KX07NXE7rl>iej(Bo8frEV& zStN#;lh(c~N|TrRU{$nZMm3bk=WwhcOqqkJiBkX*YFL3w>rv;ciX zkaWgMOAO6M4F{K2xQsU8bZJnnqNEA(0}UQx2`XxQFvsFDE~b+DfL$I&Bg?8t`b@MR zj6lI6hTr|6Ez~|FopMA#B7~aE85OQrLrH2!c9Q9tjU)y&fjVjz{bvmYoDG(Gc}J#T zbq*p-MGFB_&>S|FJOTEu!Y$VznlTcx41p)WWUPPF2va0->;YH+0!fcHrehV%K=8{5 zGZ+$eFX{(PNrO^k0A%R{^Unyil05$aL2S=~5tRXn0O1mzMrTy02k8?M2lW=3s)no% zxHQNtj5CXrQo5EPsLx2q7^zOQrdXwb^4kny+(k~PDo&CD0BS&(6hFrTK-yU1M!4#% zeA2pulTxEBgby+3I^l*t0hYQ@s7VEouoWJ5)LbebC_t)G~C1bUt}xL8+t-Ktu{#kYc&v3})+%VPu68g5e6fZUGIb0Vg^{U>G2) zDw4pchGw>_!^Fe+e9L`lwn6MKbPV?oMvn4zUU z7+?Sp-%OF_P{hL0ndVtWRg3^Q*C;}Hbp~@Zi4i~gPfP$RFn|gZI$YFwiBTn_%un;c z9pe`Wxpe~v3RnXGs3u6MnWmiZ0R5zfEJBEore;~=Sd7Y;_)Z!EM1_H+JfujF3gkdh z@gEvt=mQd_>mL<366 zAd@qSj%_snR$!JO!EGWlIcTZ!f_`y{@c^SUq(Cr8%jHRu4gd&Hd?ZaOLC;M<8DTp^ zj?e+v200kjqvaHmASpOt5GJ~gn9@O+ig^AQasr!>LY)c#KS1bD>-{2`c;QbD057PH zxGI0r2@?S^(H)S*KF6GGN_FiJ!{@#y9}&xMX0a ztOP_(pn4KKfOQjx9$sJz&LEvkG@mFZ%xVZSL@^moSX@A-P-;wr29Q((2ca=qeDJ_< z2)1Anr%bBm7D)(3W5!2JH&m4I02DD`$N&m+U`n=10E%HY1M>yL8br=+RwZjgB=r38 zJ^&4-3P}h_3_^%zP#jTAoSVZ80(*;YAyf#F4XPStq=BnRImwgq!im%fM)Fw@);|)SNG1(TwEh@5t5(wO{KY!>4=tv51OS1Q&Y`DHU@dZvqXXQmc8W?1r&uyr zJxN@?IfBp70L?%$zw{G@YdkfeF`%VM1TkqaJfcAv8bXRw7c!)zlO43W1ZAi8AfOKM4$^4tJR00e@h&_DVNARN93 zwxvXAfgqfW$QoqRtc*=zS%Z0(sMVh={)r;sIhO*Y^(vtJF-f~OJQxxc&9H?@)FsqA z0k2(iZ_>vhBBK#@)07g^z;JF4?f?{q3JI4ir&Lct8J~tSR=4~Wm(1=InknLRw(zfd5NOrr|QQU)&>y!5Z_?%4!B z+TuBZnMM#8DepA!#M&)gzOx~Txc-ihxZn@xz8=cnYh}^gu z{{XSdZ3WAIf6%LX*!)gEHoCPfdMy*s{S#rm&YPJ;;hRp-sSrO7kw7Oi80L64O)LC| zY4RpB%=G-m5u_wkc>W!03ILNs6*&oy9*}SVkVqg>X)_UChDA(Z z02|6jo5YhEpi)3Ng*|WpK!cIaw8+hR{BRS@qE`^}q09{W&q=@z$qo97l{Bc&smtJJ z0J-Y%k@a9(#B}S@B+Sg=3cS&X9r}nSHAO_k^dY_<^TEW=A0t_NZE^PdZtCG4)7pL` zyEzoMXo9Qzed!y!ML{A|`h*yY<9+0%Sv^oDmhHK|hLic`O`N)Nf*=YUrYbRxhPkd= zloytjlhjkoSsfx~xC5TO;u2bQPn3|lrb&=QWg`IHd4&^EtEmP_)C@=C6M$Uti)t98 zWWZ-Xg<`UNFb|o2QZK7hB-GAOAPV>xpUVK6mCapP>XS@_#Rtned_@n20xNo}Hs>rL zNSUmh%_P_PP667s7o~@XA~VgDHV(|DQ7O$oP-)o ze-bOmYzft+Hj@BOaqjPn_Xx$3A|UGu%s3 z{{X`7$05Y=e1MHR&O2$j1Q5gfmQ=8u^o9g}7;08O#SV=${zc+s0AOZv=t!WU$}r^7 zCYD@_CrAW!BArPBW+Y{R8kG+~M@WzLpr4$a9wfT?VxbPEB={VMPPCDLu_={g7&IMv zQ{jVIC38k~D9DQVO+Srer}4ti0fTT5wf$XW1N`Q2l+JZB+}GqoWne~vU>WfQb^d=m z20#}i#d3;JpNLt{0N|xCG6TysH5I0+#2*X-9@L`PQIiUl@HxQgrZD&paBG$S0N8t> zHva(abN#Lb<{)|R@jH|03vrni?-`#AbT2l`C?&|2Bwl^fGR2=eqAu(656VkQoO(rdQNpU z%j1FvDQAe@X{iv>-JggV4#J#A6*zm6nSz zE~6xY6C@FxGl`&|&k6#3yvSBF5i31EFO4agz=tytqY#XUI!KUf1I9ldm=MJB%E?wKL$08Em=hG_!n$ABz_urxa0L$r@sC3m|cWpjs;=6oLZual0Exp?8 zZ#BtiUzvB`?O$r+QC%!_-AY#Rrn2-cZ01PE;=M&8Bk6oUzsF(vLVU_)HTs(0xONcj zWQ}U(Txtt%QnAtzMI0WPiNrm|?G0ek9aeK=n>T!~H|+Pg90#~vt*Y(*3v_oJw;rXJ z{riC2lAOl}xfCsLdA6d-(zgPUk;k-qQ`Rl%KB-Gx+x{i|yNPKH;m2xuOz}Ri>Gbt3 ziq*1TcB#5I!S;O5YQ4DcUN60SW4HT{wm0j)*k9x9^Zm2B1bUmECh(ol6S@HZ0P}Aj zbTx~}YNczB-c{>#x2c`Gr44p)XXBUKy*D1)P}6fgr&RXmEpL<9TDfV7R<<1rRDqM) zxCrvxw9*g2V=LAirGjm2MhuA*<>mhXNFc!jug4k5Dy`@as4z_z^v9d=iW+5xEg4J* z0suc(!1;`s@R3RBfNi!4(18F3ktFqs20jM>l9vb#Bm)E*nTYcENr@sx0kqZ`K$VP% zgEJIaj~W0@0R`&Emm)kSAX1Z_0D(NFPDH4Wm}xN+6Y#(ytM!j51bnhNfHU#H0!fV| z(gvVNJ!A;*lk>uYotwZxT|ky&T7RU9;fN?Ps-(>Tks3)A69Ps7#3>MxK#2{NB6FCY zk$^=k%o=B$h&fMDTmT-ZpcBv;>P&pe>wpC(MINK1Wn9OBp{5Tj(T%593|n^sh$6B~ z08B}xXkwU6NmR0`auGSUQ(DjAOgMsD%z{ZGf=*-u&_O@L0JQ`#IRbtSog|MQxB#Q7 zhD1pu0XcY*L_}fE8t(|=7|p2D1_;VxM^Q)^l9SiK5($dKR0^6>q+yaMHK>^D1Zf0P zd=3Ed6p`SC*kGHkx(XbrWbiyVd}pyOG%&v6DB%!1cOmH1l+kO zk(|R3(>Tv4!x!pM1H{ORu!G|V00c|}T!fL~U*ZlB=NMrB00TekTKsUu`iTHZBmtcG zR)&5D0E#t{6``-?(z8qeB7i(d1Q{kyc^}6B(}y7*gb;K1Qbt0v7)!jXH2$6lRBtpv zAId&{I39sV=0lEh&#%Wg!bR?2Y6VZnrhklLj6u~VBO*irL8ddBU;*`Iim9D3@{0Jz zCJj~818}MFh&ksU@G#J>(;FWq5!Co+@y`s*MJ8YfP$bNQT&Q~Z-~_{;!^SHg_+T7> zKB(wHAl9?-Kk0x&iW};u{DfDg6MPLTSM_iWpbW=cjDeLw{4kL2(@Fq|ti;nUkxYhD z{BX!wej>vxc=*?+r9X}b*cDAaZUsAPf(3K%%tdSAo&=zG zva-OM4}dx6)Oc6pfp@iP51LC1j9(5)8!W;Y=C%3(Ft(6gtLT zK0g}xoG}Xmq)?pAdQem6ggi%KLIoOrAJ6$<&jI;g)ggL{AVD%9K&3i(3SmPjUa3Mr zlO_V`IiCX{#873|42IKqPzjoSB#x*32Z@X_MOx-eQim{Ouf}iFWpW!3^cw{!-qC6D> zDri1+>);Lrs9C2}xS%wCG!&$h;%1m+K$=5&hM1%fVWd)N6!F5I1-iH9S_7FXXlO=6 zXG0M={#axR8=)Q$dKt<_ae!+$3s06LS2LXFnKcIljn%D2w6x4X>m&1w1cbKa(taYD zcz6PO;LxO#Hs>0q!#R7HGAt^jkV5Ir-V zV>(tmK#Z8+2`l#gQt>0K=RGO@m?WreP9TnL9KZy0o`b+-0XT9YJt~9JVh>86kDCO6 zUYR0vpMui4iO!LNKxo;KP-_6sU&jMzAqZ_G1E2tN8B#NznPBc4<<)97ZLV5+k^rt_ zJRRh}%m=Ut6b&RAjESy5K{#!;C~HBZwNv^;0t|s#8lM0#+iwgq0okM)M8OB8B+Q(F z!mKBey(Ta)+clxmXfgm~-7A@shV150urdDJq?UyQd^%Jb5mQ>>b69xb!905EfTK|{ zRRdJ@s53K)=UwtB6mdvQlwTSN6O_<_{{WUJo$xD@w6^cA?DlNidsfExcrBMZTO}sd zuqW2uUtyzZVL+13XfZQ5cpoltlbE~f-d;A<>-=AB+u8SbF=3kB+m>!MzRck7D`+db z-Ya^%-tNn1Zqd_7rZT?z+EB9BcX4ZJwdT@(XBd0S?~h>nMZ-UT``h0;J)^4K9Cgk8 z%RjxpbuBgV#r9uqSu#uwC@rI1AjvrKeP3O*wYSZ>;`}@D@!)p!ogVK{-qzBVxb}R1 zW5lnxf4^UJ{p#a6J~P{+ciE3=ZYfRYa&GVG@1E_p%=V46+*@sYZr^!qf-G4FaNZ(u z>b+mAZ*>;?baBEL$NHYr(Rx14-G1is^Tw}%r+u3HS?`|yv9#sh-t*fo!rk5%`7ZS5 zw)d|4huz4;UEJL5{x@_@?WLW{w2ju}8O|_tzL~$jcfGvYq+)(GHQ)6uuA0AZW9v^Z zU3(8f`%j4MKWX^k+8)sMzT0np<&$rf=C7h|xlUI3mAk#?IkjKjZ+91*7Hd}75m@+R z&28*#Y;7&QwE344#P9FhcQtR6*xkMDe>vQ{`+V0weBZk3XHTen*2PMtg>`FI?dX3j zMy!eJic2}rWmgwNPw2E@$5C9@8 zpHT+^Dy`)bkO=|+2mUAX!_XIK@K}>Ur{OxY9#Ifyt^-vOjR%Ss1U0xMP(@;9d`ZAf zULr@4O8_YVjG)W{0P$!UU>mYpj@$akD<4EOiW-iho;V4*pApCsNs-oob?SU${csgs z0CNO3uOkQ&YflIfLx6IYqp%>6Qch7MNX*7`zzL_Iq(Yr=%hXh#!|^x(QRV@GDj8&g z2#=KIfC?ZDB#DqKBQR)0<~&XS41+5)Q56CSJ{6HugHTRX@D+)otcrdE!|}jpR+e)D zB9$gUnFmz-2_hiOsbFbzo^K=2tri2QH>Sr{=HNXYnnJ{Sa= zWfIze3nQ27n36!y`Q~3D$B5)(M?4BPp2iI0alF z$nej{r^M4SfNMgeRzWe46DI&QC_n^eMRNHM<}ee=%8ArSfg>tH{CokxC59xe2jT#) zh&fE)E)xoJ={+zEs)?)#lQB`?J`;ciKZud>{{Wv{04M~5;4A+CI^Y7S@%jE0zyQ`q zhswVi&xcG!oLLN2>r+wEuzGxjFq4_=0uK9-wXxE-2D{7wTSG9cBt6>7A&;5qj&1$= zZK#y(+;#NbE%)rP6fp~z@A5l>_n%PI#d|&qL*jBehr%=(Sqy4A^}@ijhEozvwj}ASlCV{P5Hrm9;GB&$m8L#C z1`_U{QJ@f5vn6B#L@^y2m|gwigtd7Y^`h#zQFBsUQv!^Hi69zzMkP77aZR?lW-2zf zS_voUxKsY0O}>`TAR@S#VCz^(YS-d6&OK|gK?Ga4r&I!Tn{hSr(->OKZam`HsK7gbAZ4vt_RfTF1+fI(9~ zJahB5`M8~x+pM}hQbL=mmq7r8)oSCM;9OXCX!=bngxcnnpy^&}_vk=3fw^Q94Bnmi zQar}qr6Giw))f9&%GUEkI_RGxYgGhk32E+-wuQaTx75;A)XE(uWPoZw@y0e$UT49Z zYS$bPuWqf|HpEuke4j?nS-52JN@D2wP&|x`2TC zS;T?_vbZ1`(2Qk!*4M0ICz9*7>q}POQ`6)?zsN0^3h_6uTXczsda5-2DX7r?SdY0~ zwJpX?6)f7FV_($9?(+6WrZ*(5N+;?WIusWw!j#w@j6shEY`@wt7* z+V10h`!J}Rcd*wPbplf2fWa*g00N<>rZTPRFOkibi0iJ~NpnSKCLzpnoVBF4dg!-r zX=}_Eceq+yX@$9@+;MS1kgcRlW18FB)$?6>S8r^cyBm8A#eS#QYu-Rzx~X$}Ww^!M zy~~z&8-H6??#Ldcy-Q>@s}|iFX0y}`abA|YPT26`yU!y{`qRr-%?b^F&huMq8#}vO zJEV8k;xC=8%QnOLTG+P83b&?YGWlb~;vVf)d0xHdn{Ll@nJ+1%_ua+~`+xHqE zpGLuRZvC>RB~~tmU!{QpPfT*B7)uMg2YaWNn$8P#{nsPBcNcBi*b59m8;hpVLvdsq zw!_^a0W%e^#NzC?U)GgZ$HW=V-Ey+oX>qu>YU{r#w`2~$4XP1rTW~6uFKA-Lg(Lz8 zhA_6*+Ou}Djy<0eZ?|Oflh9(t{jqkve(vFotp!<)SMR*@$yH%X^DVtU(tOPo*GEmp+>= zmKRW!CpuFYJ1g2$!bX+DHFrC^O|6!(w=Ws< zRa)AEqzahmao0ran!La2YWaC*Q=U7ox-HlngE)P)MxpBgfO8^DB(M1PLdlu{3+e)=+vG{y&J#%ksd#c@5-EP;j?L8RwSJ=N% zw!6RDJ3DBzcIZG=T^I+sZ(5C4Z6!{UWEzZm->7wuZv3v(D;>w1+UfZ#HcOdl*pFSk znf5&Gw7YT3Yj1h%f44AeK~3EQ_qN%YR^n<53LsE{j1n>H_v#(f=54o(opoHV5B;XU zzuP(sNykdt?NH}a8HVBF4cox* z&9*yrk$Ul9Zi|+H3=Wo1lLF7kcjQJtIvrq8G)O~N2F$6TiodfpXvQuEj{K@DIDkW5P_Ubu_y zOXRMTsOie5n=glnW!>*py;io0!qNt`2=x6n3=}&%3i^skB7PZSFS|U>vC6dZ@$5RO zNJ%;7Y{561+TYynJugzil)nC<@`nWzLd`XP1^0Ok+#)wwZ4n2%5N{Ks#noKNr*D1;Yi1X^$XUt<*r-N@%bKaqOaU@xZ)Oj z4PD7@3A=Hv?yXq0`*ut3d4O~*r7zn=9($VF2`gDSz{dqE2`P+cx4hqW??$mWgGzTk z^3|=T=VYsE(X_4U?bTxXo8)>Mi*T;@nB1)nS>vj^RkqwDxmV_Ivwhxvdp8gDIqSN2 z*LL^s@$S0s?wv#3y0&j6g=V&kwcD`_5!&k?P>4QlBgYo#;nK-N;%fI5pEX=Tt2vF> zea`mY((_rjWt!6M1A32c>XB~Z+w_%f+*Z(Kgg~Y_trfIWLY=Ukztq;;*74Tyv~KCS zVM;HktPQZiTSLhNGchAFR1k5|Dk17eG|X@{Up3q}iam!-J5X+|%X-PVe0oP$qU;5$ zM#-HZLmgE(j(0H_7UHX?HMKCE*7-L!i)`JHN*j*Xn?>7;L|tU+w$|2l5$4BM*4;j& z<_{UYxoWOO^s>=+ZEoqcuE(xaD=D-KG6~d2s7jl`nz`2+J&HdxW%2Jh{`U!7Oy9R} ztGlP}?B2HbEZe-7K>f{`a4sdZ0ayER48+EoW4mgWOzFxNK%8CMNl`54uI*yY!dam zo2~Bp`+m=DW!Q!afTJzhrL;q+x$v$lXKvQ>S*=Um-BAlH>Yl^wPU!C*S7+J2-1fI2 zz2rF!!P?wyx9!IvzO%Gd7kNF_==ytIj}x-C%J-V>z=CTmYvlGeH+qZxt%|p2@%S8@ z`~5ddxA(W64^6$2`xWfo!%JM(xqIQ>9mMRryWO$I-D`cD$8SZ!bQ{U&)yK1dYfwj8U?(V|X){1XgPF_c zpYXsm<5G$#)L>7-4MsyDFb!}6auVg7v_TP-a`CDDSP62q6u;?%GnPl=QZNlwM=&+W zn3~9`&-1~lPtB(Rbrfh^hDLK4nsqn@!XLv4jMjdkCUY`KiTU6qEauI@m#&A5xa7@Aoic%oZc+X7m2mnYb zKso*y;jsu<=6_dA*g>Sl2sFR~%+$e%%9SJIpW`?N1i=U6)1@=OOysEtAbudnjWVrH z0F(<5EBFe}=a=Dt7}GbIK~|G6RDTY!KgS49uvI@DM1xL~B;`tjhTP?VI)RlMS&0)_ ziJ8?jlh9!Rt*C+KplXp%$cexL7>E^F%4&Sa#{eOQB(Vff)XI7Vf+k19rW4f-_X1m@ zk1!y4V3H5@QV0A_7@?sx9)bZ7MI?L-$siiUj7^(bY7jPEnB}AZOCF?-gDT;tA%O{2 zZ!srG5^4Zy)@w`>5CJ4f$w84HRYgdyP(~QioGn3Xhd7~}qCfGITnK8jfDOe022&)H zQ!_c|U(X4mxnnJqZb^_Pl*q}>Nb$pgI)Gfzk|+!>5p6CJH8S7@?BW+Jqve*!Bb3aZt3(1`<5 z22jARdPI2AU7bk7zK|WVAjK!}`1~V0E=+5X8r4QIKn*jWi1DQk z8@ywPEa!nj=q5-p@{i1!Bw_PHo-9Hepb-!Wh$cE^G0?~3h;6s!!wDK|lO(__D<4$Q zg&9nYXq#VFU|IT*(TOA}nIM`SK&>MnKscK$2y9)clOL!G<}!d!#~Hy;G|i|Js6nMp za~bsV{{W^K)*OwH1m!&ll4d%bjt=skbHHq{B0M^gSn4EFKMuH3A(GbfBzWi2qO_6o z!oW3{;xcY9K2s!vT-U5g>78Q@Hnc6)tc`H9sbcFYL}`-DDnXYIGL_SI?ZVSiOi)2HJ~O{7+GpMGx}8#6Kb=0I~&7 zjc4#D6WliB#QA;ZyM+OTN=TS3KzhX|6rp2)PZJ!wa(pC!MCDHpo-Hc8p%AWI@vg54 znKAG)AIlK*9)vrWAnB4K0WsI(mSgaYC=mwb*f4X_GJ_&alhjE0;+7nN37(Np9+j`e z5_6^o=Oc(ATzL&70nw&TW;CCP6Y|9I2Frcxqfk&_2#_HE0P$T0M-TN83Ew#;Dl42$ zY(^=r7SLp8IRMg5a&sRIGz?mi7-^;D7kL5hNhXUk^)WFr34xiB9}FC=X`m3;oV5~5 z9Y9F~#%8@Sb;U!870fA-8Tp6P2l|`z&*wOsDNqD9XJW@ma3@GKmB=23oqTZ|uSKYa z($41f##FNKpv!4tZ%cuZ12PBYjcW-dIe;s5#_lZH^__w!RxseHJwl;0J{ZZ$)TFT{ zHusbQOu~>nrlpLS0L3RPOaTe^3TniO6gs3x5hgQ&Pg-K3#PAUnuP(VIVM!UVWtqrF zn5h%ua0C%e$p_3t8CL?LdO(N-{znQ%MtA5O>HG{A!QC`gf}NDRsV zb&zwZpC1e)ghPAEVL>nD1gw={0HM_}5Pz7(*A@cVe*MM_K{`|dx<;Y}VhJz_#Dqe5 zXok+j>L6&~m>xJa#}Jvy&}H1K$SX90 zV3N>7A2h<{G@M(iN^%(^y8$7gLntcE8b~C9RMI8CFe!mHv;qlHQdtc7eJUqG2x6xn`CZT+z@Bm^5H)h}F0cSGA%9WQ03;ch0MEk}YbNK3 zDMA1cXF;ZF%RXV_On?}WUyuhrq-F4Kgv~^s;e^L6A*Nymtsub^3<)8O77AcebHahj zB9>6j7g__L2tG>CFzX^e3_O!4jKxoqK7s&w^D$}ukUZM6J{Wl_6W3Lt7La_G3uzTn zO$j5)CV@s%J~(7TSVJV0U;QOUv*m45MrM%=2gv2q0MjF|^D!`Dph|)RkZ97N2Gd@+ z1oaisj)0VjG6^Ad9O7V>ft-P!cm$K5klVQ;Lo(1S=nE5CYRoK(k@;XQT7*ypfWQL2 zW*TUuh)@7EVgZ9At`S2F1Zp~yOARUj3JXYoq<}yf3^7&`X(WMavM4MiN~pQ|W(k0z zJl~CS!U#ibShti&3^a_ikVua)pE6YZbH&v+FyI{U56aaNM3TS_WI_5}SVpSM{#Yu~ zbHL9lO-6*0%P97UC4q7u={j`5gs6i(ac=7_vnmZ$r^IgT{Uunwl60hjq{oqrkRW75 z0WfQfiME6~AY~zA%K#m7A5bVMs0wFH&J$83;S3@3F$946k|iYQNpQSHJf`{Mc@*94tzJeYOqWv$ z=(Izv#ZtmmvY5vmtohnY%kh%taX=pV9j*^K+hvs#bN-OmkD-Ja6lSC zAg#RS2!dc7utLL(gz(@=w|4HN1%ORN5fs&^h(k)j$YgN4K$c6fV5F+FOE3>P%#YH4 zj9>s3+60@7T#9PcQ(Zs+34@gGloCtCvjYi>P}j|7U%u4%c!UtftzK%12PH0m;!?~ zlBJ0uWDo(!z*1-epN1NhpaJ`W9T1Q1vY1uK&T&fTjCT~U%=C~IrXmGAp@fQ_k&C0|%D^PMLPHAdbplKPVkyx0 z#zVsg5pb3&5FoK)o?-!zD0~KTN6QBZKtD7!P{o;|2?R7jtt3qaBNCjc;8SU!Dy4>@ zFXsv*1SUqQ0wf6C{`hX)*ybmT`?MX?T!w^w4#h?Y1T4EbRwS&P3vUb@yR*jFxLvZ7cizk0D=nC4M0iN zHSsvtlCU@h*xV%PQ~S~LwIq=Y0GUWT8E!5@GMODSy< zX)GsEh@B>CqCXkH02jEd2xIh-)SX0Ez!C-s0rhck0%e;(6cJHa_|%@G39rCSw4|p^ zBKH3r#X3^u++I zNd)Fj02;Vx!^&V!jC>E}fC%Yv$kmdQr9q*QkrO$JQ#>8!cJk43=svfg)QJRuKr}H1 zod-jOF?WZ8a6_H;pK>6fEVHU5;3%HS} zngIomK@&M;mM6S!l~r%Jz&OoYA8@;uW2v-r96uk!2bZyv_3f1=V@8? z!JH|teE$GrVOuh%QJ5gsO!VoL_~SEnlhk@dND_bP6g8S0j0^@gubY(x>IvxtWtjt^ zC;GqF0eq^hI_n^}j1o!CA_s}v}kCJr54YRtD1l{zyH_Rnx{_J0**f-Z5dyy9+`1z0x6boQat)n#fiSAXs_ zw1HM=n&X2#Jw(=iAHynQV=}m!$l#Kooij?Ggnt}9B2COaR-n&Zr>Hr80=P~71q&d2 zC~`DEpG*KC$oQC#hyFNdLWwK^@frMoGBdy{Hk6<)6QzJENfAB-8bvU>_?cPCo+JuZ3^`gUtk!N>e_O(wH?3No(a?;F0>g!nui)jP0qe+W!D9It~IrIz@g{ z)+jUSi8P4u5oCiv)m-urO(11V@Y-08z$y!M8e>mG0I@$QJtL+h8cjnKP{=e5(mgB+;J`R) zXUhKo9Yc{;pAU$dKpz>x?jJ}ogwKO8w}HH@HfuK|LD83YM305Sz~6wa7yJ>))b z@rVV`lO)J7A3mUunf&l1o6dyUSyM5B)4R4vr&>fwC&wxn#*qTDPgb-rj&qI|t&&ot z)Cj1VB0e#T+qeG!f+o|+z~6SgkN)fJ*6WhBZ%*&F`R)t2tX}#a%IrA>YuX$sI-1iF z(nfgJ`*q!?CgpjlWf9t*ALKf2+h%Q9=8uG8{C?u^CAGI=>LK1++u3IT`C8lCR#!sA z>bG%QQj?s=OnwLM-*4N}eMbC={{X|jYuztTk@}any;XJH9TngEm06O>zT4QleXMS@ zu}M37VnZ{m5`4o;>2C~rVtlsqYx(0B|^MuOYI!tzlP7*_O{NRmLy!yPMiJ4IKUx44d4*=IuU_IK`9^V^>D9?o-{w719e+pXU>*t@;W zz_zxX)2T-x+v>L&MZK4D?Z&G}um<>(jL57C{?C*LMeUvNev@>KG0}&|9{GBI zjkRB-o{t!nIM>A9maf~rsdY%wQdLO=iKR#}kc@LQ))=30QYZSLg^+p*3<4+<8RXr3 zD**feH~>-?P|6Nsy;e0xNGI^X0%40GuFB->*1W=JPNUVY|L=M(=c`IIlJxb1X&#IdK zSQ#M#W+G?^r{hS=6!VY_l4W9~(vUoQXZ*1v7p7eVfjNx6AjSX#%%)95lK_||CX#3b zVWbm;g4D3zP$It>`9>CgLz>4KD3DZjC#dQS6CGe+79+e#cqGsm`l3X}eIS#71qc41 zM@baxP-K&U3a4K*o`cBoZ2(VF5 zBB0G_0MBpG@Nj1r#M%lNAJt z5NQIWlYjz%K0pu!W2F!JUFlpu!(` zlQU1@PmUM}C}v>PRLHDI8BPHO0LY;7n5XcjQ-oF?qDM&l>rao&3^7Lt5<1OAV=9s1 z{{RO7pmRt7wQ4+QDfwb&Flwr~d6!@n&odNUiKTxWQJ7kYjH!@68pS5H!U>1qCZfWz zLTLuH@Hip{?Cq#ZNHO|g&)_l?kHZEBS<&eXHC<9bKZHldl%^9MQe%-675;gDpu#m! zQCW%TatFjy0Gdn&MS@}gk__iegyGAQU2DtU0)S>{DVI-<2ZCsorbEy?7{!16p_E{j zU)!jjn*3|va{1Fd62X`e|rCP{Tw*W@TrO?rNFS-{){YOSvUbga}? zU}ZW?e8|rPkCjh+icxx!4I&7WB7cSnWja;%l@S0L{{WA|rwdY&3 z4H@4=2p|s$rD{jwaLmIB36nn#fXvnfDTLe_QmWd>ECkY#LD!~zI^m)$l)$RGrc7lA zsGszv2H)|+Bmgbsq8VjfzkW8_O^3c(G*AGKA z=C(jpB6Pv0&SG+}LTeas3e9LbsUulX3{T?(5++C@1}C_*lU&SfBA6awRn-QvNX*g+ zAI}ZS6;&;yis->%C;&66elko5Cku&j749RdPfnQ?HG|N6emJ8UVicUj52SU26lKC1 z?cfH3K_EyI)?oMp*8t^l6x!7iI;;`%%f)aBJiwlaXDg8MjDZ4wOw2YBX(?%FF!q2Y zKolYfpTe|}UYK$Z0vm8EGeI=cI_00^fKo4~rUsB^B)}vC9}-B<0NhM)5ZR*BI?%`! zG>(zi3QFZs4?&}7O%`gjpU!iE2Ru?_G?svybu=&!K?Xhm;7rToH)zK@w?qNdVK-E=TIRBDFmdmBdxy?+s|sQY`d$z zw|h@wHZ97}HTpJ8_@uja^^&c`AOk>aVewovBO((HR7Yc=276Qa2v7`Yw?zNq~ zl~G>9$39xOdp|QbuV;Hpx8wGQO-wU>e3*;kvhuBTKhaCE9Hi zfEWQvWJ!~m28KouOukpZyjt3U018rKhcogdc;F^`3%!dWKoJB9uYjd~7zYh0d`ZJ^ zs)7wBd=FWi=3@X$Y?hV+fU*n$k;|+}8O9k@oXH_=>Jl3)hF_mr;0D!kz;!JXCrL0z zgjOQ4)2a0LKXf;So7y{*i!ErZ|Yk03@9tpKH5tSS%K#@Ra-Z^_^uRF)BtS9Jf7DYv z01Evgbprxsdeb6kZ~<9nYS|d1{Hi7}0D#71$!HXx{A2lGBE5kH0Gg99Kqz&kPFjIggL>`TjTn zLmofzU*m|hNXu^j0Fh0QWkaiTr&^?HTVo}Aqw%7g^UEB2``>Lk*HgQr=T=Ca;d?Au#>m4$>{_M2&qEgHU}S0E(TD^Zl< zYNhLe?lo1NQF}I&E|p)T09et6S(uq4rUN>*+w2}yfmtMoV<3|h27Ca(R~YUMS<$2c zAeJO9eo;?}I6qN3%+7;_kw|b9v!tKtTF^)JXNAm`x-t@a@ELc8D_tz?MsPI2C8zqj zVjFWj3aw{dNc)R{O94J~Mrf{;1O_wui316^&jHq!jOak!-O{OYN|g+Mj zp6(K|Zx8h}+ohXzYsxU&hxHtU+iPz*H5>5Mn7>iL$72S(K$oGo$smh1bbTSaw*wRJ6`6%tLy^0h~a%$%{! zZN`*06>z?6=%&?OlXBX5@FD)-3s#j#3b$@8?O6$hAQke31|zN#e5rS{tL@p{wX6)i z{aRHYQM@ZBOKMxXNNUuC6!;87zF|DV{Y`6BxM2+5-J%4#Nr$@Dt+6^v`o31kOooW? zj7_&Hp}yEgl%s~1Vr92`zgAn?euaA`*et_E;S1|D8tN;SIk$IHR;qZF^6ok|wz9E@ zsc7GFE28baEX{h`I8+*#GF%E2*Hi{I@cCmWZVOhwbE|7&&nra84ZVAJKXGWglD3lb z++bC&`IQiir9`iWSXQ(?dcGO#lKDB8D~|&i+;gwEYnwJwj&5GJxd07IpsQ{5T%}|{ zVV*di<*#Q~hd(o_y*jE_*W<9X?s@|>2~vhJI5?P}$yN4Bq1>Z3}P>7YSSUJ zS5*-ZVBv+e7nR{%gL#NxW(7_-=F`n~?N|GDo=sM? ztWiT+<39|ubDh<<+6}tdcW1Oy(e)nXn@?n+7f#~U%{pCTAR3B{@b@=%s+Mv_*43QO zC*$O44ttjd>EGUMo%3)NU)tHXbx;Ck@1&}44Fr%Fi6z{qLxn&pb7*4Hadw)poI_xE1}p8~ggz6RUv{{Y)B$N?(y7Qdrfo#uC~Xh1%UaQ z033ozis$2wMwVHo<6OCdb22xyof%cc98c~CxVw8>o$Zl+&EHDq3)y)d3U;)nE8Bmo`>q5w<_H?O{~QCe^Wtrmuc=fo%Y>to4cEv%dK_y z4eCACd!z+HP`XOE6UNZgrc@4femj3^@x5wbU#*_&)q zR`!a+*GOhUWTYti{qCR7-=BZppU><4d_A9!XZ~2;k$l~Wsc=ob0_76tNzdu)$99`@ z`G-_*|IJ5rudmuk`95Xr7ub08KfvQ7k^f9t`)L8@ePu3ps+4(Gv(3->W}fDRap||2 zW@WVdJq-Khysq1r{DJ+qY~SmX*5{crpG>X3uJ{equZPK$razLs$_Hc{^1E}k;x~VP z5YB}ihee+3t9^J+g}v+lF5T*RVz+L?)%D)W$DYXmH_~wzn^xfSpD6LKy|l}R{xg#& zA7-wuU7F#G)2l#=pk&)(z2 z$ZwCtQt4T*+JaV>R*C9?uAdVSc5dSmJb`KcjWR~>R*(GcKG}=cCls6n%VZLA;e8(E zJR9#@4>zeTUdFpy;Uvd`f^&(53Ul7oSOnON&SZ%-_E#^^+u*e_E~IHy4_QNJB+A!% zb$ymDj@OjmuJ~t)J<8w6I1jkU>G3y+!{Y#T?WM*va=Q#&-rWQ%WZOk#D^)~?;h^93 z5AnY~ufaYV+4Nw(_98g2G(Xv$qv*c=BbAG)K>N_n`cdu5K9#>2%5^Gjstqm->Y=Io zDN9|9vzY?CzRqSg>2Bh56^9iRT5koPTqk)Yoo-*4ZYvD2bv`NM{hQ@yRUs<%EfdXb zKI-|h@La0*YnQO!2cxF6Q84@>bbwk_ByuB%=jHy36Se)qj%y>kuhE#jHJhG3MBCL$5A z&yN}nezIXql^q;Gw2<56O}kw5!d)@F=P@2XSo~t#GO=2HVKpV+Nkpx)z}NNl(gTe< zr1j`ArhT^6KmRJ!A)CTLJ{4sh6W_SGK4e^iUp>)j9>U&#>SewtR@+40kaKY80OVf( zS!>9H8nL@5Xll^*J((I(m+0Skm2+x&71`4R`j4UpZrTm)pa;aUjG)iPcwZT@y^?xr zRA1m^gcNswA|3h&ZRoWV=Vo@FgR~u5W1P{Aa^Il@Dl{;>fBuf6}R_1LP~Tou zdcgWdte7t*$KBE)eC^$^g4ZI!>P_q0W-=}C+WOaX`?c3$x&48*pSs-cK6UzddW-+4 zZ1n2hHBTUBwn~umTOYqqMqxh_z*u}TwjonRX?4=*VB6&85YeIjFn(ax zJ8Kl@*<}38*S5D$M68O~Hl#%5VPP_03Y(zj8!K z-TrO{_4wGnV(S#O67i6gJPkUuSk$Ds-u>Y1+q99OEGu91&uWT*t56PJ8rnp&cVr6- zU|a=9{=^L$gSLo|6zyTHdm?&P7Y}K6eEOzj5>OHAYj*pb-_|-RTf5#aL=VY+CfAt> zzIr>z65mBr7aLV2F4sD+^=0#ES1#>8n$|E>`_ul9$1K$^l_i{3uX=b5G@N6(Yy3S->{xqBEeeoc& zQ#gI$TK(MLp{L^C+2wyn^;`iw$54#x>1m;Syo5x`=IiQ>qe7ogeFCiPMH|u9m~^H>FV= z$GnMU{vGkMZ2d6!BKN`W9ToP9%J74A&+6M^rc>Xz027uB2OO{9Z7CNlgp>N&wlF@H z7Iwv#a5f7C2m`Z0WaHEj_9`#=Eg&eZr=<}9b@P0vZ#8EFV4s0z02(5>fO!Kz5QU^P zfF_HTTB6bnH9}@~>y**MdT?E6sOlF zJYGtY3Ra}CPfa0Ccd(U26!yk&CAp^$5P_=_G3W5e@hwiV9Jp7)d42*)QGhB+H^jLc z?&f|8Es{((Lbh`|E5|v@b6w>RK?Ql7Dkdb|%i>uaU;SjwuqYAFtC>{fBExTSs_{e7 znP-ZULTAi?CmCuGbY4?Qek#?~5IuMvw8@}!#Czqyg_AF(rgXUm040^K3%0LuxERq; zcPTFF_BrAJfUZNj3eOvK0m*SpH(7=t+_+&jWCpIsOlGB6{?IeaT=auzOR1F?Ikl6( z9!$+!5rt!Z(J-4vLA-rAM@}b};!k7*Jkr<0soS#~MBV41`%@9MtZG~{NSBt;K|(xG zT*BG9kOwkUolCuxI?S<91}4QlBsM@djJTpn23T8rJPar_@Ni935lK|6wA7yM4(dqW z8bz-&wtF_{(pbxw@99BRsQi;llLDsaLU+ayj{M2UHVPejb95)C!?BAs2&+hm=c@< zRJ;kO^)k*9tEbQU#bbcP&W5}9qfWjZx1_(5%Hy*Gqnbv^sIXAH0X znCT3W7usl>fBcH5M6*zg=0(j8HzJK>Y9w+nGf~f`Big#~tq|@LYZQM)2rk{Y$TO+9 z60!$SbBO^(vPMpU=jppPkPQHoB3CNfz2-V-Xq!kni3CLYs4XwykS}3SE?s*|sM{GH z#7c8MTa5I#`4L~KO1P^!N@dp|y(J-zeeXT2C;`FJ^As>@sEQCMO;c%@a>BJAn?FXH zo@!bzmX4EJ6duT%qF(pwW~kF7)4b*qy=n85_?igdac0c0q9&&?($~R7>!?yzA+K0< z8$2|aNQey`7x+s@h$^szA6;8UwmTNMF;CJwe2+F9b2e~H{!X%W#3$h*md;48941sU zww-WB1qkx28ucp!4Y6eu!1b82Ygt%9vB{p+z_o+Aa2~C271zx7zl>8 zJX8($D`2m9Ya`Z8rdM?|61hOU05b!QpxlpqH1hBldk%trp-ckJ2PtP zM&4HDYTpNR4>`;}#xP{)27WAc9kDf*w=hU)5!pT)9*7V7yw&EJm_`9wc46N^wu8w( z1XmPJT#~WmOC2+7w?8Io{L(NJE@YtuBlKX&3`f!KMv3HuB4{LecefL;s%%{m>S}JK zM#4mH-Ti>*9~Lob=g~wIC<$iWWEx+aXqRc#XvPc|n*RZy$hSk<&yR7_ArQK+`36-& z^LpY59wX?!fYO!2OwGw61;6H(B%#!sC+eZGq>@tl_~u&1L_9WK^SuIOQ4Vul_c z5_=j6mZJ5g>YX zTXz7>=Wjs(9j$TcBTNMswfuIij+Nk+ss}gKYm*FC$j{p8J4G9BR|#$fl3WCiD2P@o zoewPmpat!)i%C(h(^UX?%r-pj@f}NfX)biKo-*5jsSKVtO(M$#Gq3@|OUg(6P1Z=V zO#Jjn^UqhYFF5!~QkxCAY*vN=+B;g)^twpQ%2UJXDXfB+Ndlv)5N~5@poBO( zs_xL7AqMY;^h+o8y;$daC63e2oiPv|@RYKHMQfuMqs22B%xmXfy~6s@#~`L zg#gtkyCPk(6%vvGMgXl&Mm<4UV1ye%O%G!*JVK01+ZioZq;Luz;_SQ$6lCYv1fTP> z81bC7EGt1oq=tQOPo9FOn*_8Y9%m&r%q>_}kq4z!W0zo>V$#BzoQO1k&yN!I&f5SfYV|5I`Yc*^h4@&J zg*K>Up=KU1ys}a|8efs@jK%8$O$TK?DhX^(i@!8jFmjY2)8QrUH~$We5Z0q_`0c!C9DLc)go zwLtrg_xtSrHi`LZv>~}f%~9uEZDIbUnUbhuU&jo4nJ+#5{T;v`{x~BcfF>@+{UEJDcwSGDsYJ)0T*F z^T{DDo z{Dcn)+=DC#L|u>oDsACn2gp|K7>;IVjOn>V$#)zn=^KJ6WU>Ic34$EZS_2Eo8~rPm z=>n6WAwYw5%S%o9jo!3KLuyct9D`jkvo|-j(oZjb3*mg$q}j@Om*;BlA{xZusN>g< zYH+qj%qZGTG^Fkb)ub5{S9$#u5X>%}_8ViQ$%n-!Y6Ez@(pJ@B;R9j#I8y_ybYPY% zZ$m*0Gkq7yGc9z$2=!q35rI1lVl%X4n7SA(Y&qMS>0LKdXy-LS1BAqYwZgoU#Fryd zH{}VgC0849$KpYhScVB>F`OFU)oE!$=8B1LF9tYq@NLMk41KltP0A^GAYaZi( z-Fh#QNia=i=lK;l=gVOSSPv2*#NbFa8E_Fz5?7ox(DAYq{AlBnEf+k4;iSd#!+$oX zkPDdgF;mSmh_S}YV`?9>90~f1$oMq;D=UJCReC6>1i5FTAy0<2=zqO@3f%VK;ae?o z?I69(kmQc6t{$e*)Xy?plVZ+)yZ~z?NzJ>H9{t1;3JYBaHB493LVzHX>1+!`Y{@{9 zO5SKG#{iJ}(>@w4%@e7ap~*bwa}#3VQNf`@D$iz<@fJo0AXh8!6YeB#7%bg?-i7&ZeZ5;`O^5d=+bL5HWg+3{@@!Yi-C^sH(YV0Z=uSPsio zEKGaG>R;+HGFqw^>xdv^nso+~Q99Z$7EZYCdjv0CF+zA~jQ`}ZBomj@cAM{enU%#| zn58$Wq!D%-lvr9FRW2?VgC0^A8?ZlvQ7;&wMwua{YNm8tSDJ(jO}Dr7He{2_3@mfd z+~}tCI+zd~*9aK=C>`(eqLf;iR%-GEA2}6;s_~R8z-tw@0@1;OH5XXj+-oJcgdHv0 z3%!6jKegh*JQ_%q!z(RI0SyWRh3{oi%y`hkcOr0RS(%PzgI7VO4!fg5lpfXA`tdcOik5uf3c;i zYVbfZ+{zUJ3Q|rfr6~pQ^T#MWwAMFl3>(v-H?&m;UJ8-ZYNB%O-uh+LYg{M1OZw~z z0E?2O9qDx^(pjY5o0ULQYkS@eyfrb!P!P;Q$~UGuo^uEB{jUuN{P_xIl)KFVAs(w< zWx}ng7L^n(LF57&7O2Aq!_ zY<6_nelW1Ezx`15qd2zvw+!Q#8(!yNdqjvH{^awGI3a#c^HzKYb!6S~?eh|3g36at zf${V{tHO*w{Z4)^s)ddd5+8$j#*VRz_|DK+gJ!h=ThZMHf=N0gid6VCaoz=6e8U&# zWEw5C6yA+hRG+j9;koza8T207(A;v(gXI1+dUctYv(#K zylJ(F2aE&UJeB}=6tf9 zB)n}P_&+igHP5;h&D1FpzeNN~f<fi^g>yP5Rk78SOMS z|DeQw9E!m+;mZLrbhOT8XEn{kq6#C8*pA9wod|WJRf&$hu-%uU*wv?EGfTBV6|21l z>-UY1+{`T;LiNOd8Z>p6nYHderc}_4WpPy^8=Ir{YD3k8#7ie|l?)%e+(Eigns7>7 zo^v1z`=!!+_(XYBNZ=YnK*BG7TThxH(~CNe$YkL~eB$lbYA80vw21RfBZ;JUktZ{G z>izow-%q3%V>`$KY)pZdL+@x{aW6J^1Uj*+tR68}h`pmb7it+Pi`j z(p;gbD7)f)U%Oql-09>o#pv?PUtiYEosWIrt^keeUVm~tA?(@)UlO!+l`Wvmw3Mc` zh4I&pAi*4H<`$8j$~8L+EDEGrGTSlRvz(_q(Bh4vl`Km-#wjS9iF~C$WQleju0&EP zYw2hTh?z+8?f}c07#=&1Smh&>*~BYk2#8yWt(xo zIX!CPzpw(~CxLgZNKDgi;>JyfkzlHP-dx@K_fy5VXg4O0p-$-LGtFL zV*oA25{~jxEH9SMm_sseGS9Nm3kmyKGaCRQa7f3fM7nbdC-KxGz;`XYvb@`R-Oslc zBCP${dMnYf$2rEAG5Lk$;*dhw(6ciZNo<2Fj}G?yJjti3d>0Z{r-Re1#5CKp&hN^- z-g;%vOz>c|xCjR{vLOY^8j+XrgA6{MIc!o-d;9CXdmgCt%4)prV#?g=(e3HP-88Ym zmVdVEH;4iiByVHC5`o~RK3pO?0y^k#b)}-`r@Cu^~Y?&vyn7^e>I$TE;p_9iu0%Y zd8S%hvgWFc;Lx|~ivGvFKAXAEfBx+V|JkO`?rwZF`?{v;-_q0Ijmui3;_iQZf4#)p ztgU~E^9u7)V-Xp9=J-acVRoPQAuGgAGvTuAwO?#|e~Cu+ocwu% z{{wJEdivR|`ZoBAO^K~DJ*pRR=XuY3shEDm^sTq?eY0!F2W`Euyx!sx@0zu+umpLj zMLQ9dCHv0Dp)#B2!JKoEA7p;n?AYsl`9YC*Sd4lXoI`zb^9pQMHujVwt*c>U3XexY zoWI${G^|~T#}x(7WOn4f?m0Jz;5#a!JgB~U`rq4vrQLqN$gc4p;xh;KVUE8ZES870 zJ9oW*v9jD*N7lNx6E!4O zqZO38@kk8F0|7&&4jbV><2W7Z;`s{d@Y1UbJeh`8qoUjvbyO`KSWd|ZKeFe3?Lbf% z(QwWVNgka=C3Y~SOE!cQ>88e5y8PkV0n|P+O^uG9Hojty9}qv~$rDs}^CG$aDnf`% zRx#0L+O%8=3V|@`=RDFZ_1Gzx?LO_Mr(IlVegz0^kvKR2e^NxC*Z1r1FDRt|*yJk~ zTncD@&Or1JtAHuc1{a+{#6W85hy(T4QZ(7-V>-FWBSQNUl*Ac-lYm0tqqJP0Kyo1n zEr0<)O z%>sNs^D83C=`6}XFHtyN(u6|N1=X=Tm4>_|5Q!IU_)IneL;Ob%m{PM)npbx{>j$OJ z$<(rUU`_b*0#jQ!eqNO#q>V z73MHp#exd0{9yA47r}r6mfA0vxO6q9LBh8H0SMKY^OSbSEncNKfMNc3daR*l!#pds zr{(QGW{9CBt)?h2YByUgT$d7<1rAzp$Ux-NLJukFJ$D_Z$u0h zpAHE+@*)6z4{(m-q*XnvV}JJb^75t&0>$m@kTRr52h{~ko&@o>=0_GHYM1F}MyP3E zu>}CRjY$hNlN|C`=+w3pX~4(Wu*2>5X9lX^Y4iopO}KL06-d!PT-{2sND<`#fd)4y z$gx9#d1rEb7M+-(h&ms7wA|r65RM~q0dqq3;Q-VS`zRW(6F=eQtd!nl0hAgbxXo&G z`5i+ugo**4)$4!Bjrd!U#L6Dwehkg=9f>8o#%VXk0ML|@L@vhg7RmFdQVS1o#dE&g zwV2-NW)Zb|Fy=l~#CsRvO#3*6$HQUm9SMrZDU)}!I~=y=yEvqV)X7vtM&2u?ahTt8 zm>bvF%>m$P-vT(OM#BTIxAaImLRz{hJY(!dTtRK;Q@e>0UhEH5j2K-?aI!sPl1*S%pt)(hbDK4c+~cZiqFEH1m=&bH5Vk~fY zJbY0gZ(7t1jLM+Sw^)=%iMwRnoTL+p@y@DY$pM#54LLKsk^IxJHgDF2G|Rs_l#WRw zs01n++R{IWiggqUMRI;xs=*i`(p)ln zMuVz|{$td=As9AQ_o0EPqJStwA*5pc#r<+j6yzwH>NQGNl}>7a(s;bywKAS~t70D! zWtS%|U1Kl8vy*LuHWA?d^jzuO8z*<=K>uy|5A6smmu68+8J{BoA|f(3D>&sl>fx<-+`wgvo~MG zHa>Kooa7vaH2n{7s+}}D5wQPuE-!pi4ln!P{vdPnlF z)r4=HtWQrBTlcUuO=EBfi^P|6?eRr%qyFL&6O37T5k+<#Hh~2H1VQMdNyZx=??D^rx&y6tG z|30kuySG34+Wz@`;}?zT*x$_`ns(q<8`ed^^yH;_Rm|VMJ!jdRimc239xj`Szxo?y z`ZrAW!RwcH;1%`Rcy>+5=KuU1zd=&zlJJ-H*G+BGXnLVCOIhdlh;O2OAYF`M^` z?0IsX{E4af<)E+cm*CsK%{1pRF2SkoeW%s|a&}H9pMM=<-&qHXee5tow|T%Lb%_K^ zsr|Bj+`r<#hP`f7G~M3{67cyY-QVl8Fgo8yU&Yy-s)LN zc3%4Bu=L2LEHh?Xen&;CcNm}%Af+zEO{u!&Zjhd}!^bsiOBr{z0eELcsUwLqnja&# zcvLuw-rCQ-$M3nck~2Q@%SJ2Cu;N~p7p%nuZ*r?tESR&Q0Tx*IudAMhp{JuNz`SPy zAj@%?b&J7>wePzk4sK~sTemlFx|?h|6kS-)CqmXwlyRy_(`0)(H%{-FISN&_q}K57 z{%aw}nM858=)cfUatgxdKQ`L`Hdf#!#3``*5Y0?xh*w75J#u(#titr zZT(NzPzA6|_-4v$jBkGvu4+u5ub9DdkRF%V7c=6j8X|SoGhBd3M{G&99(8s5b4F4o zNJ9;)J1_rxxk#8~I58$>KgT{-YXBOp4z{}EO(FPQd{*!fuSkw?#;HW8I z`~=*f1rz|X7~eGas-Uv70!Ln9$2}uQO{6enj|z7iFf6tz3V{-2VMqo%+!Lx{!)?~6 z5M5fcC?5~-q7yTcJaQl`m)L3Hcs(!uJhD60{cBeo+2cl+ah_LNx4Q5Z0I>RR`Q)T2 z8Za6MF@c@Y9^F*qt|V)unnzetvyrro%vKEYZ`l3^$fgx4^8Ozn1&nDG_TZKG{3aZb zAWI~d!aaqgt#mQM&dCxcGAMUb+VGU#i;y=l6@&&F9wAQN8zb)(0I5{r3;juv^8q3d z>N)~O{BuQki+_!bG)l!j8wzNO_AD@;RE?l^-?bqk@z8(ahPiz&H9&-3K5FgW2i~x&}WVE*XcNj zB2Ps+OX1jVnolzv z8B{tVzD@dX;_4EK9^2SVRv&Wc4>Jd`eer6}Jx)zu|MVp1ORrC4XUUFZUtBlF-OW3f zz3+i(Qyai?A`d6;N&(&YuQ)0v7Wfwpq0Hu*qOmpk_Sk*0 zwN6q*Mz_Muh`Vq;As-_2jIP*LqP)SgY+DI6DIIZLY}LvuUB zdq(gq5F;E+{ISdvDQ}L8`=MXcnm!m6jtpWi>CV8U?Uy4#afQD~gNCh18YzFOKzWbk z!j+1d?&rRnrJcLp!QTIk5RHO0*5*kKg2)aVRCgb&E@>r5SGo_To!aF(`@bs#Wt7g# z%Ei~^$0TKczsi#~9kLN1s{8uwVU;;mrD;8)vjS0vzllYSil5?NR&bE})H?|%3vRy8 zd6sK&DZvBA@UODu5;NZ&aJr`7b$bPU=Q(XwAxfL_Xj~QZKcW`Yk$+K_srS7zsnyj;6Tcm+;=g@%ZJtciowyv< z=h}7CE6j7R_446Cqf`OQ?S@)E6q0G{Y-YXU6S`fkoejKG19qlypG^(D95Yz`3+pOQ zSpV(!P7Mvx{<~t)?GJ6J9K|McC)NX|L%oPmDI%wRT9Ma#UmkloE`^kglJf=x`}*8z zyaT)==>*-7TMHQ5aA6^40I(znjzV|Nc7x(ZN)~1cY5nqH4I^BDMX-)%Jeb~$`@4TC|c@?wOj1SA1 zyvXDGRcD3QH|p3zmLgs%tv5?mlrg{mk&)Z?NO+?^Wa0CLt8E6o^mP&Dqy>H5nlgUuDP3HCc zzW$#EY+AO6jYv`EOV}>Uhn}Z2d!t(Qb?~(J8#qK$KKsHz0YXv!#u{f@!-9E#{U3bZ{JmYon77^>HX_%HH&|H z{K>VT6c7BD6XzDidx-s!`dH*owjJT#;`au^_vxwdPlS9 z5g2#B7na|6b)MR|bgtDH4CNRtg7UAOiT7>h$glV}$b&Wm1A~XxeHv%_7p8S=x=+WU zjlz+C3?&dI`C|-UWJF%Bsnu$CRBW|&iFF6XeHQCsP0TThdXiomTO0I82M_bJ`eml+ z=XTp!U!?1^p)iwC?z@saVB7woruLDfcGcU__wfzSbau;xPv3it{JRaOtTSD5WPk9Z ztEbQI^X~oEAIu-z|DNgpvvgCTb3?eEx%ZEh7_Y7eFX!XMKiZE!i&g9xE%<+&OXW&W zwOsOff-f4)oiZL%3cfqplha-Pov{5>)%Pj?&X1?dr=bTvzE@9pqs@P#|CIqDBy(I9 zq3#u8Mem>Q3wd52Z$tzhZT9(${_!n(H{Jj2HauBqy^wF_Wb3p^uf?Lh?*R%-sRI=s z$SKH7mB4?=4l(0Z`^!n}{rJ>M^zv`f?g>-Zy2sk7ub}dH*Q4$Q(bnhO!QVL?eWiDJ z0t!Rt%)L)Tnl_%f?}bFm1n41#2#! zYDIIzLzjSKO+jqGIturn7C-i}_33{y2F4Sj$PXgDJv*n`J9Upe9U>1j#frt3yHGw`oA1miYn|5DUnPfO%oi9$?O^=n(?R)AHMi~ydmo>Q z9RF+f&W^&W?W#wcC>OEWeINP{kN*cKfF?UqXFK_1JjsR$w?NpRo(Rx!654g*_IetN zIpeI`I=t3#;853o)im<18t?-z`Yr+P-IU(tl+SZY94}=~MDgd?2{B9M0j#!T44V^x z;*afD3_QYJA=s?8X~f^|JnOAZXJ=M2lpZS2S~pkcuu!03&+gM^cC^%La;^}z8h0Ex zUD-4{wD(#D^a+^NV^v3`gM%GCUa)w^{PAJD=8E2TUSiMe8`{`@@#RViI4xC?wTuXo z?5FHM_#JoZgrU#YYjVC+ttjeVwu0>~%D(3jDAmy7MH3i>h`vzovth4qGu_;s%O=X^vf^ zSGpk5Zyj@EoDV{i??3sX^sSHbk6CAYbM~9;;cm1VmheIij4o6Q0Lu}d)yamL>fM3l zwSb%Y(qo&8*iJUHjJj#{D((YSF@>E7iIm^&G`7xP1BF-2t11EmmD$WDsF`axAD@a) zPmYz@nsWFjXPFxJe<;jl|53ck)48*C(fk|x_9=81+4=s>hCz)J$wE&FJ6~9{Sinw1 zz$n*>9lNHhiAq6 z>G8U``~0ty*S~Gj%Po2;Rl!v_^DY0J<%^B*-(#MOq0c*ya>!+lpG*Y*X~cWKsye6} z`POd#4IwDuyORe=a_#r*+YcCO&&vG6$=g2CWs_WCAok#MulOI~d95}Z$u*T^HRTMb zT+z~#kQ4d(j*zdR5u;)=KXM5SWix$K*3)S9>TX!*`*g!fEpSzu|Hq{cD>pWo^3G0+ z+ZpSbAEG^dp5hE$5uaxkQE4^ri)y+V-L}FUv3wD>{=1?}S=Ff<7afGw?*~d{HDQ?% zzLtAkGL>RA>ozS-VxN0y8XNnat~f{&KqQ%lag9L-r`fw-{$qNao164cJ?oTw=6Pq= zk3V)FPQF|Bg-)^s&#dRN&YiOOl04S>j|^*pmsqFGF1W-Lf4(ucs+E2z(Ro+YvF_0p z8TQWlU&lIU=?Blkk~QCZ{X^6n?dBG8)JsW0z9$P!bVi>R+q!>qp|VZ9><(6agGXNN zpZGF)ck!SkAJIscRc;`eptqu6|cs{Q(yX}NS}bu$0@(> zksGW93E5jdh5RY@;KY^<1(|8enc7fluWig1NQU7C7ry?)%Z^Z8Wq=)07CVCdgJ-rs2Iwv#ANCj$B-6j@d} zLQhV*9vO<+>6d+R4C8u!68Sb_?H3ns=j!*6_q^@bf1eNaiS;-3Pra);X}Vw%{n5pk ze(!=U`HgSRqRqS6??zSrf0(L$`ipaY)7~HOM?BDWVGqD5B<%lbSHeL!hPHc9aph>Wu1mB}qjPPb52leZ*kk0@p5; zG$X_exR;|kJ}a;jE_91rws_s;2H{8Kb2>sJ>h^d%|K;@=&VuX#7#~%xiUi`)m~@_s z{{gsPPVWBO8`-Z3O|41HlvF^tOHWFE6xz`jSA)X#fd6bGEJUlCq}lTS2WXctgx~Ux ztN=yMA=A-d3r~!D3G>3sae$B$OXC&NeX3onlMvUt2 zP0ygXG;kypi`>fgZOh=hR6&|uhO)x{0btzv-zZJ#2#NQk9mrRLn9LR@UUq(6*t>_w zlO+N$N`|J&IJioB1J zCB-LD|9lESn)fI6i?Pa)a7*&mqyH;ilFcA;e1rK zHZw>-eji(CS|YB&7($wuN2@5tFCU+t?bpy#-XdqQ>Q5}Q$OEDJXQE-8^UN=Y@x{>B z=|npKs3JZp?-2i$lA)lf%w-wvM79^mRYxJTPiGiy+>jyj8$pR{6r%MIvWiM7&>wMe z(lBxYDv?NovTHsz`A{&@(_0z_VJ@XoIneR^Fjbh2{9XzY*dyu9s>3{yFeR77!X8XB zD5*`0Dz2Dlcrq04$D+?8hlkVIgK4-VXv4$(E8TNU(2K@7U>jU%Oc6|{I9lU~`IVx( z2xhfrv^0lEr+_5`QBtyQgny5$8vCase4jdjk?hsPKKj0Z@kw=X97 zOjY~Uef!9JJD8JRM7y}!)ZT1YMqTX4;%59}$4?ezm8NWR1hZWH)bq zo|mlm0fnLz9fSJRu!M?&yl8i@r$RgFdr^<>BTAQqM)W^{VcPG-1=*OlUmGY$ARxrt zAF8X76`A6pYKaloCT0Z4fdyrsRA7*)qiwK#q^0$2e0>9cl$Xs@r4wbr09d&gptHIO zgtNuyrAfuJc4$J0w8oKs2nL&GgmtdT4H}T&pxk;)>j^if&r(Q5DZo?gbV?2r{|8v$ zl~+?h4QCmM@Vgi~WMaqX-9m%rNF{BvgAl7hgdFglI`7yeq2P8rcS!-BODI7{$ssmp^`C1a67dfT*aw3&R|(saJ>&R5(H$dA97<)S%9fK-!S z4(}KK9A=XsB*{L`)TU+q4^Z*!Y7X#l>mHEBK!lE*bnp9O>-;~;blB`i>3-O&9gh4HPI!CNtPZvc>Rtb|@E%u})=RRF$(B_{zL6`dGUU$V)fGaIt%=X<16GQ=0*aI zbqqDG;;ZrFA;)1Puu(|YH=41PR65$sgN{7q(@;MZFg;*URP*EFAsu%cwGGH-UK5}R zQ)mEWgU_ZwT^{kj*=ZH(v~naBNF+Ptqv-Odx4q6J8Mmd0%*Q<)AmV9WZwHdfxt0Bv z!Y9?l6lgYL>dgZ>fSkz6W=4kZaNORHhvc7{Q zB^y9Sk_J&aE<0g3kC7H<;VqD=CsFwkETYKrS%fV0_+InTMHIOtU*c@-Hw=e-q0#J% z2_|D&1|82oS1hoe{rtsO7uCF02g!-s`38;3<$ks6w>oP?+bD92vr>B zTv}8kjtLYe&X{=PGDwCegQQB-3Jm4d2h=1?5DS*XdYj>T;U zVa*`4YC3v(!Xvk5SZUyYj$Ud*tW1)ZqC*G-fanA4?C*%Ir58{FP!5KDMkHoXsl1S= zaWK_>AP6APUD61MoTb45Mkog(VzhEGpYPoVyeb7hPyTkPN6J?R9Oh094as3aCd8dj z=|KvAlO(Ft4aOR&@GYAYY zC_h9$#|FyBV1RxLxxj(PcA1(=TB(A3+%K}NrcmKXX-dvgq7j~*Lq6?t*f8z*K!_JG zz1W1>59e(R(&{nf8_%w#0mN6&b_^JKa(7)>fNM=VN+omuI|`ZsmH z(85+z3p2_$f|15_S6EIjEN|(k?FJO78O&#C!pM3>Tbh?=I$Z-EhA5@s@aok@WElvu zdW}3)SB~&Vn0HqhRU6!MiH5t5B|kbDIg-WG!SZa&RJSLOhQ4mTh*cxs>tl2xQTCr0 zx{~drwP^;M_uKU^P*P$BhxT<4QX>RTLC5uc;OJ=kNT&OYSAs~BRFX)O0_srLfJZhs zWKV7CVgC$yrdPx}0RE_>(KH+gH-92eT7XxYz!7W0rJ!e?J^ro!Fs)(ec9&hwH>pEa zA2)bseZUA1i7IakCqF5kZI!;a{Q_9>zF4V9r|747dX~)bk$LBZM zH|7U&WU#lX(hyw6`_S7~DTA_Oxb2|4NgEd4_k=Z+Cl5KwL#aWdaq#?q0KAQ+$2X{z z11;$@?!-H2x*?ZDvO4XitHWfBHod6WXqB)#ua&y;3kSgH{=e+1H){#>fa!EdGJ25& z00p=&e0)O|?E>Zw(sk9a+5)Mi^|HUsUfSm&%TY9zE0Unu@++LwM$;}(@TG&P>bBvk zbXYHQY;g>X$T~Jj-8B*CHK2o4(oEEd0|?qYUI3~B@)41K@qn7DcoY=5mIOF0r89kk zLpxt(L&F=vSVTzUs*K!dqYhjLlS0?)L2a(p#WRB|zFjo0-8N4M9X5 zL>mb+dZRC=%w#DaJye%RRFw=$q{=laj7J7AzkY7e&b%v=4S1XBGwg*RbI~iHvl>;Q zEfJZG2g~c|c$yc^U~EmLa{0SE*St31YC>0NANh_D2fXYbX&r3R;Y+ik>TWX7F@vH} zHq?Y=T4#DFk#zL=EmRPL@!ckC={3Qbke15LH#nRD=MMSRfSG`3n8_VK=2{&ff{o3= zOO3|!yWwa!AkR`+x1d`-77R%8jG-W|3a?}|7^;9=DD(#mV%-+d6*1X7lq#sSkDIi! zF;{#dUyve@)f65=J2)QKP;gJFR}3Nv z<}kU?4mEip5ZQoS)Z#Fa=!xZSnb@qdJWVOla}%00H$W^@c##v}8n@vEC$EUTsCkw) zT3Q1v0HnDLR#`;W5Xn1Z>5btSKtf(YPBfJbjr=#TYtSLSh4;uy8>|7JwImQKekP+s zOcOU=CaVS3`bec6TaDT==VY{xs>%`ZSaL&)FHNy+Q7x8hXNbcELD428r^@ON5Mh*Nc)Gi z{r>~(oSaIY%slND4=dQ&IFgj|J@plft|EK0_709?lpJgPu~Z-E=gB!E)_Kw_{BIO* z1k=QOaw62Q(j_;};NYH)c@2CoJsOymM&T3)85wK>1=euu zZ7V`EsPH1y3G!u4(qado1@!#F zBc2R+)HPHl0%EM5r1V3=k;xPxr)Wmm6jUDL@Wxiy%Y-kr6aD-f6#dsyrCq`LQ>?~{ zc492HGHclXjw^4!ZEC!VcT3xnKdhC+%(0wvNM;>j%?Ok7vi!t1@4`$j7*Pj`+4)t) zxLhIz7XhEoK+@LK?bE}l$@ZvLGBQ+w^XQu`{@+1M0??}sGk&t)FQ(XCR!giptiAU zd~1U3jXx2N z0GEsflIdp!SH~|iIE+I6IJ&H?Yuvr;vB^%>p({M;e}7^UQ`x29yR{ln%`>_*PkQ5Q zwz&2~RWGEw+^Lq@;r>)}EWbp02Yc-g`n*XUeXEk(lxJjt!|lRqk<_Z;wF`uN;ypuE zJ^%d7Y{+#4GjvVMQbSkJCGxBL7V=qow##)QJjygJ5*fOc@m~rfi6m)!RBp1%{{iDb z9KTK!%Z}qKHtM8>Fh`n(f^$Ffu2Y0$GV-NPU=mxz{wE?2PViGm*8=7 z*1u5Ww4kNlNue+*W&o%${4ovAaq<+wYwlfu;zoGW zZSw9X-Yz6g#NRg|*?qscFR9NSmM#OD+}knRTtgXYHsFe7hq$870!U3sSFhQ*iJDBd3IJ*h z>MU|FLc>tNIY5jm{aOH2q{s)X=N>*0hiyJ$g!KzhU0z_KrDCh9AW#xX#%)R&f%j0k zW1j4uQCU$ea@&qKaP3ArZbxoys*mda@`?DIYe-3_qedIJvTIalLIW@&8cj*aDFQmy z2V7=uJ>`(11r0<~{U@##U||&kfIu}l3Fsy!2mJAED8{05!%>$FFuho2dU%h79Pv3? ziBA#5ZC+8N{U&;kiH{#1m|A5N7%Q0R3J9$ApW*o7IeL=oJU|Qs5D%D0Gm-o}VBiGY z^8P=x0`EWpB$ZetY?f4d~mgT!4 zev$f`QTG1;{2b*j@!Ojh8*P61xwCB)V#SrMyof<=gc+*P41Qhje{Z#A>bn)==10AI zYt-vnzLS2>KTPs=cu9v+M`ETW(`^`>VZ`-N|Qx z?_h;i#hy0q=(f+BvtmL20CM0rP3x&xK7ny2Mn6RMSFc;5>er|5+B!|$*qOY-4|AJAd+AYx|?z9^CE)blY>Ad-nG~wX?Ogy}h-4cDWuWaEX77<}5HL z)U$HStB31RkJ#*+no8w=7(Xkzb%e7S{>Mo1yX4+&t!`}M6sDCpo5e#{+Pfa0RXX4KlKu3 zMJxCW0~;?55C&o*E6|cjkbH0ejU?s(1my=RLCO!nU{S|F1txP~2_R{a5#dlPinlNL zfb^I!vQ1A`CQm>{U&|62fItvqQI^y{R#c>s1YnSeA6Ah{Ele4i>q$Lu0Fa_g)QHXm z$3qd80O2siZBr6Ne;+K6Yw*L<=71t~X&*@)B9KJZCYV6nf)o%05C||yp&&&^N?;sf zSVciHOiX^Lo}!;kWB6bc6cu7*P}e$|bS5i+3ZN29g^YoMI!BBVmIs$087gV!2ce1+ z;ns%>CB9u0$PA&x#b_%utwc=^#|(f&7$Qg`;3Adjo&gkC!19P7O({MfF@OPS25Y8< zzYc)q5GI%aAmOH&0B#Q`4tP8NieU ztn48M3{dChtbgT(ObIYWW=?(+lzcD%g@;p4fM(zH#b*EuHIhb?AOa)6PfP$LurL55 znn)u*hf+xSU;?DcfPOt`;Zqf^04hl|VkAf%BO^Zp7y@6&AT;!$Co1MDO(#4eqC5vR zQXoW=K~j28!vqhRq!N}PzkusC`1HbP(w1&yqQ(d&4u2u>_}~Wc=MVM-HA$|Vv(NrO z;O^o|aQVN)a88<6Gg0!00+WTrxqP$SQm`QBG?>b{k?_N61zS4>5@W|APv%WyrV)Gr z^JZcV0r`0T2LUQ)A{7%g`9xQySSNsTspfi)4B*y9Yf=ED90hQahyMVwXnuc~z#t6x zcyzDwz%d{WzmLZNgAo+VBh>!@;g$db1cTI{8qec`Se+{}CY3!1%7FBY629+S3s6YV0vd1iSZvi0GpPDnn&>HKMuL!6$LP+Q7~e$ zOui8#43?BX#9-=T0|^s3SK(1J1XC5JhEnbIEDse@v^ix$O(vg+!s2Msb;ke@3Y_2y zes!Uy22S3;AcV94K={Ou;AaTefGi384E|s9!$y0Fwcsj{KqN;%KNuA8!g`fhbxt7( zq!`jkkaY-|nrB%9>in+ zsUl}8Wigc35^JyECV>DEK~XgzoZ#WfJgF$)CY-^LAc-^)Q5nZv@P`E3=@8(sF zov2VjHt6IUDZ+NGIOpR+oiBGULydjJ@7w%_&w1Yd^Y@1f#&+KeZszfL+uQWu{l4w1 z8+DjA?%q+#ZmlVUcJX4-HK({OYLv69^rev+#BxT;qLA`zmnuPjk)f>czg2Z;_q#3w+VS}?yPJ# zdw|#bpLc2tTDP?+VHiO$AoxA5m#gdd{^s&)YvU)IzfrT$Y{g@r3VvOm9jBun-g_nO zhqBj?JF^$NufDf-#l6pb_YJk=`DVE69PRsOV9Dt5dl{mwwH}xiW;piFo71{plV+_X z?;LeKbEx$#{-<@SX1%{3k+-&72Xgmz=5LM9AI0Bg{@XGA=IjV*-R^#nAkh#i^fGbR zHr&Hd(aX8I>XhZr&*Dyt?Qd*0oMpR9V`f>j4L5Erwq>~Ss##T0fhK0O5g4tySC!5T zUF_RRbUGWi`$dx4O@+3~sLbf9s_l_x1T!#Mz_y~;hely--N#irBWH2lzP3$}*28Nd zWLj+r(82=&8hZ7wTy#+_7u2*fR!vJYy_XIUkL|+H`GB0^bgW3yDTLg->Pne?rdPAr zDG{eg9s^B3>ZC!yCt0^EFLt&mAShx;2dQK56d&`#2C`o5>_i9$Pzus|p8~mpI-D`D zq`TVNmI}-Q(j(~v06NFzf#V3D1(M-v-LVU#>QXvYbxEvXO)XJXb1KEg)ul4ozybu< ztbx=Ct`MF$K{wJ;rc5t}ULS^75UZ$Gfq>T3fDCAJPyzaZ2DAKd%_`*+t*D%$AWz4{ z%!~teNslPh4M`)QqYT8yfWjfX_J)?&X$o^cFrkO)_@0!&Orlzn0|`=3%AjXCXBYyi zUP8904M^1h4uIB^_#&~&C4QCeRzfxxl=Fl$Ni@Q#pjz$@j72&hv~A||svPI+JscfbX< z0SrkxMJByzAa%kHXWSag2r>^-(1|@rl13SzgaXS}k<>vR0(y18Da&1uIWjUM;worz z5rAN{pQa{1G1g-|25m+VfCU5y5>0Coepz4&Y7_!9f+`PQy?hP=)^o(5WO(FhS)ZK+ z1_6sgJbXN3{zfnW3alB6HQ6@+LXVRzQ4nz}x z1q!kouZ~%R{{TDyQw>1Rk50X5fIEbO1SvHzO=cpdOv$Db=HLQ_08+h9Qq=qeoGR5- zLI49fb2-bIV&H9Nx++K9)K)>1tOh(0OFmJ0tX?# zU6rkVn7Mh|O^Yma2RR#zMOM;vJxwvg)Niet%2R3hXKzQ+U#i?mFC>_oT-4^{vo+g> zZb?HxYK*{iBhzo+UY@UQ8tz$B@L0%XvLfMY6R5^oDr zZf-@~OxjyE*~g|TN|65mQV*)X79YbKQFiKKcUIMwg~={6BZplfSs8T5Bq5N)tQ8ne z&8P)ht8rwFf7{g|w6jY=0uMlDqGK4g>|Z2XmcyafRk>I!r&A9QB!f8^%N2ytpEFom z5uWO*+=y*UaY-})Fdz{$iN?M(ffFnaGJkbjUZ|*L@|83hiu`dlw=~BSMMYe87L&Us`Lymt+f~k@304QDoj;yA zR_C3j&7B&jKM5hW`r59A5(UF(2O2>Y*Cd#ei2IR+4J=P@_cf-~+syWs$K2gUR(A@v zixP@tQ!*)EDFYn#wd-&DS=mjxTCGFL4*u-=B-=ACsi>}atv+7xEEQNtAbsZ&8b&u44Q8=4#Jo4}~ zTXLqwlY7jw1hQ#t0&j@Wqf0UM2wy2s!hq&}Smn0wGF_kC@7n3;pEB*iW4(CZv+5TX z>}~X21iz-L9DPn0dF06=DV8yBgn1FxoZcc^EUme_Yjbkd_qBU(yIYsi*cSnHQL5Q+ z0RSd`FmcZL>$vNCO>LMpwW;>&%PRH5BJX(}J4L;@QD_Av?ZVsv9uy^oVoB1(1JoR_ zx3^y^wy4Ur=f9OngYp}VPPcAt+tol`>)5-X+d=?Wv<$<5Gnh5T6`NT*D7n3Kqo44U*=$&-fr!_Nk+~} zJ+-;}uR*PZAeh@+KuVjCA%{{cjz_ru@0amA7S(>*=AV~&ZQSnEi`<3#mv<2>cHjR1 zGg?8aNma2eVT-8JRsqGO%^c~wehAB*zxLXPD<-zz@?3qpue3L}n;p&jm#xWk2+_jcul8?n=Mzzc&ocLh>1Y{^4rk(-}66w4g;vu$Eo)l4Xu zuVIh!+=a{Sx;Oo6_bjop7V52-HpahA4V@|I+a%Jm)yo+@?ao(8#~&1RY|T{E)*Qb# zz85_o+dHD!OP8&X6)o9U2HCi-KsR(Af&|2zaoW)Gbyt zfk7YKdeKQTClhZvU6NX`OW(%?P6U*vjtxvu;i92XU^gZolFdzvD3G=Yb998F4Ur%xKem+_fPL< zCEZ=&x$RAk;nQ!zUU9y-m+mrt_Tnn3wqZ4!8)5*|2v;U1G5V*sJuaIaBI@r{t!0J! z%0D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 z�Q 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

wKk*n~EI{x-Jgb@T!JvMD5g-^Oc=b8d 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�Rx-+>n9%a5 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�dhQ9Ow*T0}50MXZTa+6pTDZ1OS;N=Un_e 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

#uYQK1fXooHv`<&cAqQ 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

|x6}im1;E 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

N_h zio-LBB_BL%@&&GhC5E!|+ zzU2gn8=1@H)s?fra?a#~K9m%CMvpX`jX#%Zev*5C@@52vCtzMzi*iE1(nhBVVZ;E! zz^LHH{RDULW^?hjL;_iJn$V!a?{V;|M$cI|3yr84x5IG?p}~LtY|zN7JT@xJ+8E|2 zWvf-10Ei=M_kvT=1<`+!0UB{UeoTC5LLxcf7QE>V&a+-X80*672ykR)HYAQIxk*1a zlYBZ;4F-(7{0EOK&8K?aRaL2NbwnZS3v zpyno1&Uc_I(bvoV6V9NNkU=~uAX6}NpR5xujf_-o_bvWggB*X&TM7fSmf{EGxcPT@R%sOpy2Jte55aWpHN{=@(z8-9U?Q7A~xY;H$^L4rUz8`016|9}B# zs`^xyIKd$DkCVCzzC)+^mf~~Q@SkdJfjs+6<|&329C6-HJXUN!OUMPWs{bK=)=kCe zA1hITQiALAbsSSpg55i>J}x4Nf=H{Qst48yw4ntS+*iQXu&?= z%ZUPk>YzEAsHucWD)1=Ot5VL{t?&)BZ|8>g$BJW;^aibp4j(?XFO zK+*n1I|FVCyEV^1q@TEos2G5Nd^FFL<%S9`Z9wD&nimgHWQ$ok`&>(-oL~YKnbX3z zLyG4*|Ct6r$uX?>EZG8hc=pH?uCNxuv3WVlG(nQJH1Kv;m+36Q6Cq&VUfwM3h6qbqfm8xhc z!{d5VclEz0hO$0xq@Y$^@yGfoRH%3{SipD>raK4xp&&EV>ja*biW3j(Ii_%^8-nw@ z4J}TyB~*f^+_XxEokg5P+ffy?o7MhAhTGiEfA^(z3^tCVj`8ET8dAucF;^1WrPc65;Yn|-UXqF32zZm!>Sk2 zhBzU81qJRqDBP8aoYOz=gYZ9M+8|bv1ze4?=irkgxUvdbs}8Y8xNwF~NSh28#la^C z3oLad!Xz^of>KYwj4I%1i&SN(X|D@xzJ>ytq24G;yj*GEGNz&XDHVXx1=O7(G6@YO zt_S}Fp=MDH+WR7UsJAJ~E<_w?oDhXTJ7@Is`G~fu?ARaY#AHok-TS#(VnDj~kS2>$ z&YydlgcgI0v{A3bC8-=}i4k~}()fg4q(mfnhOa8;sUU88b@~gnfKM7VF0FxI6mIxK zu1x&}u6?B`nJ|b(*BKEuI`O?eWtB!5!1<_@42U2yEP6hiv>pJF4PwbmbM(*TVyC{a zI?-blIG7*iJUeZ#cu%4XYEEj-mXH=%HUW^)ffA=UWrvNB#6F*E%P4lD5wr0$Ss1fw zuS!lPj23*R{}a2+8VwjKxb=z75+W!K@c2cLw9QcRNNN>v>oi>o zpa>0uHxi~RC;)@^C}I&hD@{<=0wGmr?t;;uk%(EHVi$|!b$4{ssk{;xwo{f*dpba5 z4YYN_J{xC2EQD%kqN@y?c>pT)%|fI-KLi=ic~@5uji&HXS8p(^crBaj@Miz`$7WQ<3_t2H<=dWj-E#T{K>HaW-T9;4L0Wh|aOgv0A^7wN-9P zQXy$iWMZW>O=mJntWce%wHTUg+bz_yB3S>lHTI<_0<24XQw!>ArN*>)3e)F)x$mLF zU7ILLlSRXM{yE`g*_PKd2zGic&r4c2GI?fJ@A z4$?P_9rOPIzF|#jBbT5g*M`TU#WCAi4F@(w4IMbkGS@x5yS&$JR39Q*6q7hlS7LX- zLUCpv>OI!hj>4?20>)hUncY0x+IylZCp>^AD~4ZZM+?qVLwEY0e=}W@99r6n$8>fq z+tLoj+*UVDuQpjer89FISd2Sg#rdT1+>f-1M->I#maDr2o{s(9^ga}8{C3{@_Y>dI zk?r9oo>+K8#;Y9sit@Y=wj&#L~Ky<1`Z-2c@uGRL|3!#ri zxFu>!DHa>m**?6VIcw!?Q0# zYfS+G)V3w--VgVB)7m9PQ@#s?WWF5>%wAhH1&?+FOs_G~u{3iuytkwqQRi9_m)>pu zF3<67e)F_%{nu>+k0oZvrrF~+vv14x@v;1KL&240^Sd8ysJ};Xoti6f15NxY2LVK8 zi0e%N3k}xnk2jpJ;yZuy?=FjG{9}zIln3D*Nc{KGNOhv>6a55Yo`7XK? zhw7CzI0rgm?kDGe66$Gt@tZCJyX4#H-+t(G_qxNiZr_{_N0J9pAo=}~v?B_a%=+Ta zHHuKb!?hM{l6*jE~lsslno$d`|LIh}@9*UrXQ+N1W+?b(f8u?5mI zZmyoDS+B585FhL~_Y0lri5zV8k&@6cvURcP+p17Qo|JHh5lK=W)z;m*XVTtNsM&UE zNxhBdC#j4kvGZFpn+g7^$|>$oJ3X1})RXdCJt0>eR!>`n4x3AImtKr6<0=y$)Abtz z4sWa3Uu)zS>m4r6pYxs!hiEsny~P?Qmt5UcSN3jOIghNa9I`HPb>410I8Iy1+>gk{ z4erWYy^-~3%RD{0V^aAN;Lf@0YaQ#)cd1Hhc&;_vqa{Bt0$&Hiy2ib4ZCR*3?JTLc}IbXhL>UyvZ}sfh6Q zk?q64mER^^;cGU-d;9G&%*?Mp_JrgbhmWsKAf<$C0t{=JVqIyZAMCr~!id-Jr(ugM zEnD&iF-!jjep?CE;NIZC#JekOQPT5t_rNQuFH>>2n|A@n|LcUj)LfIV3l1@z~$xx$qfXk>z?P%@N&%wH6)YDoTKYr|j9gC6D62#u{vw z)T<4Hg}+^~Z#@6~x^LYR2JT&9Zpi!8_M^@tfcY^=b>l(ob*c(`YT_YR&R1{Sh4wxF z6fcY4Atec`=3QZ|+nz`AJ@5S3m)qLt+echB2YYJSYm~n;{HV4vUvS%m_$U0ur2Hj#QMzINUrJMv_Vl%9)12P&pMdDwY9`Zz3l99CwbtFjX0YKKD$}{C zspg`ee&2eG-S2yRt*Dl0;2)YW3U9?P*rKIroj={&c^yTJQlGeOIC2Y4Pwt#%=3fF`}ITAB0Mc53{t*I}X${ zt=$5NIR#s&d_doEHV_cg#ETP{}c?<-Nf@!Q(9-gS-iRqIQX@O~3l5|CpumupOGBIYhR!??WY z|B~uIAcFit!lQoNnh0w;J;$kVc3!>GAzTvBSd`*{UtaOmUYo!z7hLAR-~+L!w`Het?ea2)wLODq zaSKxmK18t>z>Q?L-3||XWTjr=XT|*ojL}Qoj&QWAeR=Nij{ViPW&5P3d}VpQ?cHko zg|CRc?~u(RE)>_RY|lg+JA8Ka@33Qa-KTTn-nvUj1lIbPKG1JP$7bwqq)U&@x0_$_ zYJc>|)8oP6kCmssouI}GAzjlYEzI%#t_~g98B&;3@O0km;me=a0RuN=MZZc<=Z`zY z$2}gbe#H{ld%g7UXc_l0d-3qz4A1+O-kp_o?8?_evUR6_G0v<-*4U;Rp7P`uHg8le zNtc(#8(J?tUh&jk9z}b;$-G%i)^Np!McxUA^=$vv3BfA*yja`ZyqXU954d6b6_)7r zu-SgKD7nXb^z32Wx@W+mXZb?VH`&4+SAG!B2;^6@R(W*-W3?P+p z5&zAC@AJB>4RaS4PY&nmnwYdBSoA4-FvrIh>poWjVZS=R zZU6a6x9|Y>66B~=RD21J7JFhSQ-D*zx5Z8{h!(IadCo;q@Wm6;YXMr&%VMJnJ+A`3 ze)M?L0=MR3HNR##etE<_DdS5}OgnKDKu-Z>iUChRrX;fx>WdWsX_~&d*|&s|h{F5{ zetV3%1jU3{1K-?E7aZ0~sg+;Q9~8fYTry;YjYml`a*I7bcx{BI&TO>f^Vm8^)lE$t zG6<;lDKIeQfY$ry1Pjf>V5*rQR~kxIhI?_G>`_f3bGnfnKxD}yJdye`%kO9|j36I? zq2rcYC#-2Sua;N0`BBDVpjYuu#6^b{txnG$+?Z4-G5WoBKvyKim^&tu7jiESmh(FP zi&q|#Yl-rAj&y>AVqw$G&d*sECk{LdmsaBwuDSlRA~Jw%WYQ_4YC4&>I1O9zU;+cE zW6(f}>1N}RxgWyuih1DGl<)A&JsE`#AE<8+moEZ`=-k49=j zv?QmU`>WLS%<-_o?Gj(AsNAy?oj_$7XjU{efo&x+2jVa|G^B~+oy?v2D`{@yevE@vVy|witGIzC2S-bssGaFy zPjd2L3qUYemWH9rBuIrk*z3iu6m)rKR%cONxsV{$nR)J)QVQA5^!L zl6rms&>X-b+DIb~6UkZ^-64(kg>ji%6cWS60O4pp`wm8jHJ_@;CrwGRRTZsJhyw#rn_U9}FR|=b#8fVF;gLpPDkE4ICG>p0$?lLt*eJ+7S!E zS;_w9%38)oKzzV-SFN)dKdH-3`7I#?;iaGZPCUim;Ln>Q-W&DUfxRbuFR2oFgX0xz zQLgwEaTsRPa?XSKD#y^uI?7zJmeBdZOxk{bE7j-xI$f^tMk;z~yog+h6{FS8cg~wGyM*r`QxC%J6s4-DAX{fU5R~*ApyfAJdVv3{0>)*0**H6N;u}-yq}`ctxmUtYaiU zND{CjPA{wZg+TS**Fkc@c~ZVv?T?;M%gDP8*77l)#zGwm_K!elw@-4?Z1*>qKSb8q zWvf0OCq&?;c?nJ!KH6G7cvYL?BYE3DZq5m3a&gRhB4G?Vkxo{vP}gaV4KS#KsUG0j zE6F0!ftIta%mciIluF|A?z(&!(-!wUrgXfC1n;WmsE@h{Ks*<^8aYFv ztid?s>l73P0JXP{ng}yN5q#y$8c9*{ELsZjME&tj5a~KrD2Hr#TLi%$3!To`vgbo{ zy}_6Gm(bd@-}@~JFkp1njW2X99UzfIdUbu#os6Bw4Eg?D+C(E#YOk{p88Y%94geWi zMS1hqQ6>H&&uhSt)sDcZFrCaGRHQVZ(&n15QHy(DStqkllgWWo#x0TU9+|eOCa0ti zwkHau{PxLY|4d{Mm|e|p@<-z5 z=6jGs{P{eJS-*tzDzGlatgdt32+@X0@)b5#ScR8hT=gvi9LoGXdJrX*yNS|7mYc`V zLPt?Cdp>EYFajb%UW}FXL5X@78CvTCFtaD8%H;ofi+$bbs25Mg$h5}9DKQ+uw0T#Fe=W}ZteWOvtUR82kAzJJ_oMqt zMqn!N?1yRY^#+A0I;gNPRF70yL$VY4z|A*4MV{aS?X?>NtpfW~?wvJWrt@-C-kGE1 z@?i0FUlU?WxJ$Iq5~bTws*pN+h92Pkc=Tv<|5F^?;}o+&NIH=7co(_$xU3%yC^&4( zq{Wc|#0(TlT(r@0#Z^#IOE(-HMEacMJrP_|JQq)2J4|;#5k?J%JB38+aPZHOJ*^?p zMoq-qW1}=+kq%zOsHfMcF0vh<>X_DjLiJ_U}MI>)& zQJ*E-cuc@wdi-@8#1o@=1c80Ud-LjDE>m(f`!HT-<8@Sy8G5IYLQjcsU%&63^FX(X z8r-T=#pS_FZ6AxfiKwz~da(LE=~vKqGqU38Rez%ox~ih#v%I$otkPm1YMUhQRe}lf zDI~>7sbMa#TQLO)dG6&5N@lZcj*2FQzp9`hvH%XUKr718`MO$CT*9RJxMSW5E5XbY zm`I(h&KT;|i`6_g7X(8;8obwyozprP_sLY0<9=UIp-tn$9^h={MnVX^_QKgqYv*E! z{%-0EZF|?J{Hl^&=VAyOuuCoDJ#CgXHjS* zCFjQ%Nj$GFn~lBY_LVGjP6_$;z+(ip%@}r{*Ho^a2%+&4KSol7)Wj`ckP=s>Nqz8E zi*vGjY|58LfrdKHR>9$YJ4UcY1V~4jA~QL3@FoTry1qY;6sCSzK$=)?s628hLR`gw zlGFt|h`+RQPRI^S>l7<^{UUCP}s82cv4n9m7DlC9ypJL1=7cqcp8#dgV)l==ue5*z5i;0jE zfk~(Dwjrb7tvWypVy*y(KAV_x)vD0J!5ojC>S=#ul?JF?VJ{?!bB&bjl`@r}i(>hG zq!Sq(k}sX?K_>G|nhOMV6TCmsU|5ymAWmvS!6pfZy^JqU2H>tJ-CU9JvV3;mjLgV+ zfIRs9D5bMeK2y9~rj=lf|LN!a)M1EJ$*0c5sucgZE}RE?kixElXuup`J$+}_Z0$%` ze=mm>m1G0}46g@Ex1(WH&z04Rx*IDKD@-C!KJS3gIea=^lgUox*Ga zDw(tpI&lfnSjO}Xy#*%J1Qjich)SWXf{5ntRvhl}LO<0GWm^*~Asd9Vo0zzjnkhQt zrcYBB+7O`4U+NTbFwKh3q~)0J0bKMZDHgOR|h|Gj=8)9nTB5&gKPT4R>o$ zgd&7Z;nGDiVFSlBXw5|^k~s3iuPMgxd;-!1J-^#Q!`SrCwdSqKg-UNCPfq&d^}@?e zS)N>@==KQ=@ZHE&A_GXFnot7@q^p4|!ASXCkfPFEG)huOkTAz-G$9=|=kUjlP$#w` zymtNq^Y(N?_Ktxonx9#d3t2FkiRX+GKYNQ5YF3=~m2EyeHlNRv>kSXod?5c=njxp{s7vnfV zCgfuZaEb+S0u{2Ee>qSy5B1a_lNd8f!{{Uysn_fM3ZE>212Dw&ap$B_0^54FP7Qp( z_6y^>`+J#R01>DXSWNt-A{&R@M^1Qou3dQwY(cA$0ZO6CFy=g1q0I}<;P9g$;>e+D zqrS_p^EVLY3MM|WDPv;HR4x8_tr6!Nsc;WGZ5<8c<&n)Kf?u#ioDFeT!Z}-%<{+}v zyyB#%SxB0t-Gtty`*|XeJ`l7Fn8G6xLDVT47qe~s^S|pSA{474PN0^cov7xa0^t$A zQZdqj7A{6_Q>O^jsMx4RmAUgwS+`C)md&O;2;$`1vWYM_0p2b$(J7q~Ur<^iNp3_- zz0R10t7)J*5`(7MvMGSHztM&oKb;Y>z{oD5F+V>ZExXy>dP2ou2vz!Fo+%fDOs+$0 zb!84v#2K-Z4hsYG*R)llaCB(5XPBy`(Z|&e9Cd z1hULv@nwDLHaet-z-ylnZ2xS}ufzm-;KN;`F;c^&;GC}oWA<*E5Ma?`*c(>;K8G); z^g|t*kMf&MedQCjC zpeil==yO&EHZPi&#`#ZCgFk}bPnEgCR z#O)%-UpWE2c}rC1`_*U#Mtp!fBIP$GNY(+n(f1@7?xM=}nNnP}wYZ5AYP>hRpaA`( z`5SWzj?fD6DuX{LQU>kiWU;!0C?;;j3`P`m-g}6|9G@_klTRk{u_4qMjmkxRR@R}$ zEzzJ%Nk(d@G5I~6R%vPvdvJL?oXQ=ZA5^KsPHpn>!6^Uqpg2;<# zj_{!76Vj+$l*F7Ir&hU4zNK9nAX+u}#f_V@mXQLF3u+~jx!A-8Jmt(_b(IEJt`j+XMIAC}Q>^>mpt#$lgsvEFR5YzjK( zc*mfHe6Xe!{#du3Bc1av;~)P4kZvs41)7x)pB+0fX8@3@C0ynjk45D8F!zAO5(Mq* z+)yRSD!*wFZ**8c6S;T{l=?n(gBZ-vg%1tQtk5Jdgw`4&m~<1~SOZK=%IWqnrJwmM zN&_dL_j4-5B_}1`#|EeyEo^8@ z5t%3+gf}@J0eP(d%3cJRCHEnoPB`zIT!iN*;`EUqF}`!%=|Wx+N3d*ZO+J8c#8=&V z1Iw^vq~duq0DMvs;;46ZV^OUiU4UE$85ax~wPO5jD${v`7yS)N$4LcZD2xdO;kW!S zS6`VS#W-NNEPighUzbn>1Q>($F(MnBr}*ZSoa1mR$Bg1V6zE2T)+Ewc?kyVMU*?i> zlkF#(#m>QSh{p160Tse39LqWg@mE`wa z2NMc$nLm-br|W7H=7d{T>yuhlQWm+2vZK){L~h2U86xEIHyo{Oaopl~41uA)OFggX zpZWG~t`?`f;^}zkZWocY`v7xC+4H^i z9^1i?uHzZ|-}K?QdQD)!-g*3HU`g*cy4$fs_a24eqenA7!GQtAX{)E z%M)7x?@xLSZSJ0J^r`Ztn6V?H@dxL&iU~S>AukR~*G3$lg=JaEIV-Nof5Haz{`}?n z6;txDIIKq?BK}D4iED@9$Z2ux>QRPAJlRzWKI`HZ7Tc}oKJjXAjqOV0z`e!9$|RzP zr!pkaXME}zoLZpXI0pf4)B-ebM4s%2#T_ee99A(}VDP|yP37h=)B3x~CQa5n=}le6 zh!m^IV=4KC307*C=gXT{dW$cn`UPS>`k^08_$I-d(vwW`rPnvgd;dZajjea>~#O*$(2UMzlr(#v%&2P_xXkjAJzS3b^j9f zy!j%vzC>T&+19j3CsmK(H)O>#aOHM7x*=!76MK1uolDA%ZJ*Wn)lvP~>S48ZdT13` zLpMSyBIiFKHq8BN&v8Ue&ED@Siyq%PHUOblbjSaBk$&36{gMvshu_X;i(Q`Nfj&c+Z0s{n(TAjmHDW(Qp4nM$ z6T6}N94=6hpxhngqFmsFBtKi^n_v)q6kwWf@)p&!C$Tr_eyoSxM zF2(1!w}(l$U90z;mI8gR#{M;n2h|3)->2L!`OX|nI`8R-Pc`b|nzp}m`su8rGUWSw zU3Z78zG3p0Z#;k4*#FIc4X-{-`R#7BQu5GKFsmQ;z$eop?v{E=mxWfRH#UDA^<=I5 z%$u5cxI*~*_YJdfPl9tsD~CsUkd8<+d9!9;WjXf|jseV`G&t8mP^!-*VAT8wW7y z=moLXTq$%u2$Dp50Y55RiQ^*6K?J?3CTZ1E7rP$TYEy1pKGtmetYx;Qq>#v zFXafQeg7-p{H6Km#q=EZIpbee*1OH))o+K|E+HReI#1osM(@7K5>~;&lMbJR`P-&^ zXur4eI%vWxT;uq7TOk_TD{$~&?#&b9Wmos@G+D%#1yWDXn2z0mK-|BKi1WP?w zx{Jj^qptce@6u}Jdybm3mV(3GmfO}-m~VT?3vL5fN}g0de`wissK<2r$EmuLZlBpb z^{NE#v(s*w9(s^sxC(2aVPx;jx@5C7CcAwqALd~{w;b~yK=x(OV|aSos@Lx)@mfAV z3)j4IZYOf-wn>HEbm;ZY-l5Fjrf1VhTV&<`y#Ey*r`gL02)qxQk@_YSWV!oK{jal* z@_tfLs@P9!rIs$IS+2-RhLNg}(r>He&Ce_^wR?3Q%YW|-Cg=+Or1QR^Ls6gc@Nx6& zp1Zk_v9EV$0hg(pzdY^N?&f2=K5Z8)$dHNcUtg{CcF8t%%Vx+>8m1NBI?rCOYaFnS zn5kFTb&dUVuD<@He_%!8>o&G5&FnLu*;tk<#N|S(+!kIg31OwenEVH9y(nDI8388x zV$aL2H>f^WJB9+U3hbF&nQC4c{Fq}`N0Rf3IGm2!q3m1Jp@1(HM_YNh%sny7y*?-} ziDz@0n7t!o?X?~a(%019M{Hvj(Cs_hYdcreqVV01p&O5-++u&CE23Dh{Z@u@>k)`k z4tj3!`ai%(ay=}h zs-OKTG|!Y0qWG;)b9o{+aTT#*JMgDVgl_mMN#@NNJ4_lMD;z2hO}zvX+d_sG8c zzUT=I`+QQIGIQmDn?b7?Gg{nQZOyO%K9AU*Hyw)ZhXmQKU{fm%x`61I0nGp z#csRJepG}ol>9SIsmgvsjk!%7YhT2x71&Qwo|D0g?a^%S&syj&BVg#!*_%D6_~)wH zFDzmX8_DjI0c%NEX3A>l3X%S(yl+ZfhUBlwtZ^2BQJ(*Cj&f}LO`6fbK^xWoXR$jr zIQcr6DG2iD$40FDGympl)L$5&kf~tbintSvO=mNWuZyaBEInGhk;bG)`0Efv1gEU= z_fLof^iS*hxN%4=6%wGJX^n2EVo^trQKFx=Mu7svTmelERU_RXhtIzYV+cj}#OL@L zhC@ZTA%(F@5RqWE?BY+~Uv7Z}2B{!~<4N%73^vG1#9(ZOg8A!Qy-Myvr;Nu-FqLpa z^C-TmJ;Wk6zw9P=VK(sBJXc^xd?$*zFEfthvQL&IeMUlmbdy zP)?g@nlJK_^au0kBAi~PaduLPI=#s&-O8{k(9cfN0vwZ?9gRrW*nOEm^*H8X^&lZ4 z3Uq+@EaJ?r%K&mydQ41Kp-Bs=je@e~+ib8@82oMRgG@q|BjGH{t}*9j^KtZzRr!r? z`87pFRdUU}`h8$vy*ko5oSGM-s2l1yi8`UU>a3)t;@f7_OxH~oOy+`uFqz`{kkdZt zKK`MxITx}_Le6~$nK@m%9hE*pcJu@X-z(?SJ_$oG@G7o=DeZEgkJh9-6IMu;k&z%K z;sTC`fv5-z{Z3d#)SU?^9eL*$LE^7ZGK_+w(Ri287ZPY*rA${A-)16m%FA{?@VI@| zexj;s;e~wg<~TLRW6T02v5UlT$dV^-1c4K;GYB+=P5~oSr0pwdz#v71Pb=NB6|pNW zj)rtV#w(P{JJQ)c#T+qN2tY^Aqy}I!ig6X8`3x+EYL>k@?E})$ zX;pw;#vV5g`QjkN0k`QnIdNikdX=YdaK|K5`%SBT1KmbSI2+>~g9JEbNa2Z8b_UqJ z9?B?#8_*mKHfFJv`MxdjW`O8TA4R|xP4_;cz|fMYk;xdw_!nsA*{5aG;(2YPhM>Oj z!VO#6)5LP?nEFyg7><+r)-aGok>_VROCN9}Lf_^?CpEIuggDwJGs#r-s6YTyWTvk` zMPdY}5(A30+gOx__NPqrA3G#5jq6=h=$CBDbhH-?J~#-$RXI3iiDWVuAbmCBf~^E~ zG?WI&lh1?T#|?e81rqy(XkzueQf)+3)K790nG%P!;z z>j2hHC`bES7$d@{3pR+tghI058ht_0961B&TMuh^A5W@gir;WnZN{rADcIADf@4bW z4I8q>QD|AJX4K9mMwVz*JB!AFX0i*xgAi_AN8LHy4GLgbLu-K)qwY9zy}^LW6;!Cr zw9g*@B#KtjEdg${XgK&FcjA3`q}r-{_DYSjbvz1L(z*mRZ)L6C%(H10=gG#)ppF5Z z3_@d9jQ0CUBS$J{0tzx?FufsS(M5{`pw?typGKP4S82~C>ShwvJkhKn^#eTFyIvdZ zpCp>qRr8Cyh31$TRuQ4#g9!wUnQpR|(khhMbfybc3}y0~qeB9xeeAmB`8I;C7Ig>e zCdnr-gA;cf3+fZaWDpwfRRQ5-h7r-sM)02vP^BP;@jEwKd2WGRQmA4LQ~*>k?xrz_ zV&Kq@MU18E&K2x0qZ6twV%uiRP z^wpY1%yX%1V%NJue;%qul#&}Uh^xxb5jjqd>&W<^;RoxFajht@)&cT>BN&xVpoE}+ zXw3NWnuZ5`o_DcG6VVNgG4%!DPsP@Y%|>(vt`4|gGB3y+^X&jX(`x~ z+m?f91j*3s>D1*DrAaT8 zgvy~Be2@>Fxi|pxlkq$EIX*0mJl|h@PY5QeDg~Hn(7}s8M$K|qIO_|InVb}NW0p|# z6ZDbnTKnJ{)SpPqAX}=4pFidiRqpx2?gl}eUH`T0?2N8vd{2^w7kfeWo1bqjlsNQC zlwS|f74r`K*?^cH((+5Z#cb?CHGzWK>9!h)J)Qr6^qqp1&VZ0}Lb`<$No?UyBtTP@ zp{>p_wp=`8u<=YlN^-?W_^}XPo&|zXAVW;nfpF3r7@!4dMF}9L$h5U6Gwv9aL50p! z#jj#r=U|b#B1}5yC?dSb^eR9AO0h0S(Px?i(d5-4uA($esH$$ZLDS#bx8WdOAE z1^P>cIx2Zo@&?}=DPFHbiNr}VH2RUXH2|S{4twwm)Q)NpwU91A82q=j@PLZ%vGt(R zY2PO}#XC4-I*j5q&XUnLYF`W_ew$R{dZfsBSHF>rgbq?L5JARCaEvqD2eOT8YX_3z z<13Or&h^W{+>^FUQ*IC?XiP}>la-eT86{HYRHP7pg~l~+L}rO-X12(+|7?1*fvbWh z{TOj_#5g{>jO;?nlW0tk9gqn~fHP)cuh~nl?a-gQYRB`VC1~PhE^Bac!9G9cVfxu= z72OT5P#1knIX}}F?lNB+R--0~l23qzsXC6p*+9W|^8*bv`GQ5w=tU zTz}RUOZx(wZpfYw9e$$bcrg+b#I<+jrzf=19P^av8!e7WAdlNQF ziEXA#GoNmdFC|bon3chX5%2#OAkdS*9!NZ#swJu=bCEFlnCj=#dg|fIS8o{!7bsL5 zRVRxJ^DO~|4}xwaqD*CD+;QAq`1todN#E1!)lb3iPrj>5?UbCg{x%!)@4cs6{2V`I z_HSA~6(~d3#%=i(aM$PzQE2natCp)ySWs}`F3Tjdl}VOV`@G|78RRqbi^NkXjaQ|- z57~Y&=xAOrXYVerAe~z(*u~5k)^yvO#C>%r#hx_uPgC=K^>h+6Ki~sh7UoZ~g4+kK zD7%in=+2KqafFOVNC6Rp4E6j>UfEeY{&QgpInIQ;6@!)6s3p#C7li|6KcOO}Iu^h(Mk3rP-JD zA8U=Fi)NEst1ml?zq5C&vE-~SPX20^|H*tf{U5LtVx?&_q3}iUn@tVosEOKxA));x z-^kWV$9-e0Y=RO0aY=gPKWkY-#YyU(Gf5HmAT?tRbLtS2Y|$qCVdxrFO)81y}{N za{khSEgnFyQeQkQVQpw=X&l$lx8FgKjx(F#XH7lFpW590{gOgFYL5QW^@@6% z9N#~z`~p&?@8Z?n<4f+4I#d(-yG^pA_8?FE4Zq(FPGLkNx7xI@a@W=nK-;U6D|PDY z-PXN0cA3L8Ayj1LVS>1n{@!%>B0!tdXeD-I3+9k{;PKqUkEP)WR^V5o z%r)KR3S9KjtkGLl5N)yK&g+M66eV5vOrGZJi?2SkvU>ChzVu)*+cS4>+r#s4b!|K7 z_pasLm&Mr?63vv_GBIQIAepOQ*>0sXr%aU=!6SC4y)N%Cu*Z|5+# zCtB{Vm#XmCwk+h#euyK$%c+kD^G^X@xNMBH&? z_0_tgqoZe;f2ibWJJ(Ne%tb;uj%#r6p7WQZ@V&ni4;K5q?tR<8 z-nLglbgR9~Wc(Ye&jXWF4rsc%KAgApc!M;R5oY2HYo|}YFN8a;o-IffNV56Z1BmERR2)HQW6IiiKgF%g&C-^s-qc>9_UzJNHLBZQ&aT+m1Rr`YEt}ZbnLbyTWpk%=_(Iy4dptC)-VzcDZ36 z+PWwFV3x8W>fSwCjzgjE=W+ zmO+tGQPP8QkJZjAOJNHqI&3)~oKhvVL9L=m`1$B7^@gdhcM@DSy{%mi&Y|YU9UfU; z9Z~_eerV^>zFP9yd|zd`cM012XT1;O4$Vv^>bV}Cb_iozSKhTRmN)fwsJ9E><@7ww z4qi;e@WSh)xx6@Rt9w1J9|g~@3GFoK*Ea1(bD7Y*xG3I;d`+H-{jk3E=)-C$Hhk^+ za}1n0r4nQHNKlB0UzUh22TQz&vqnko>{FF6a)r(M#4gx#3gJm3(cVvxzu(x?J6!kPN(kYC&BDAdd z9q~$gyVs}tX;co>Sjw-W(OoH18Lur@qFFbMcVN~Ki-iu#VQXZ28y-U=A38izbUR9{>rBYjG8hMD z(-zL8KOcQMwKdvZ7{|Oa+FD_DT)~YRm>B*xowat4)X&oU7P=TFGDsvs^fSfXudu{i zw{vUaZXmYH9|tTa`EjqRO*CI?dA00E?OLu-W)nJaGW9&Q=S^|9HJKcvYq}Nn{Mu{s zCCt;4R=q%DKSR&57BQ>M%|UN37BlU?Oac_Ig>3o>gSFAJrimb~JRYo_MRwevvd@ zhp^kcn#vLO>M|bLl2>p>3>;U zOCIkx|E!oEH!q*B?{>NOc%-ECCUq!V6Cdp)5c>?TSXr&AEj(~rr)x?5dskz1YxZca zIc%c(R&V^5{^=0*busp|_q=Q6=qkikrURSwPyS;IcInnVFvBWw-PgK(=IO{uEVk72 zup#h>22t-#om+n{b-`ylG}8lSI|asQ}@q{&EXoQVcbAc>UNXlM8|P6 z?n?e$eyU-^n}V@Deo1ce5GnL<0s zcn5&?XelLGrSmL&GbRvzB;wn7T9b2GiS(d2lG^m{mj_%`qO_-z8WYqLSR4c3!QQWh z+uS~QkvuqTG6dhms$GKLr&~C>)(VMYGPd+*@XJL6B*Fyyash+FA^2oG4llDQ6MG78 z{mvn4RD%c#LfuQP$yKh_D<~Cq9tSwLIDwwxcsnCn08T4OorC9IuTBmU5<~i>08MV; z^`>Qv*Qxx>?3=tBvHXOYeQNf0y0iLuf?!%!JF*-DqFCCB0~?MKbsF-bNVN$qlU&ig zqC%de16v=dRV z;si<_G>wV~m$kbLf-+tMJD5QGtfp9Xu^g38^w@k_Z*cT$++05`h3ecC!g)tTNG+qh z4^4hwqS7!ED{=5^@J1;(X0Kk8teKGT#?aBk^)csNdze2KjDSLn;ugEZkTe@h=D4a4 z_%K*$+3V|_47qXXE!AN0JqKacp*d}4F5WvXQy?S<+c- zii@1uP@>L9llH0=(_9zF8Xjd}JZ{U$cq6$6P}JB5g0_ zWw(~Gs;&WRN6}Y{JOiE)feiX#%hyzKaOVq`zEES#>!tieF}MTm_r=Wi$VL%o_bDeZ zHXZa$V>jWx>X*tz(dWr13cEY;)N%y*Hx=ANy`qnB^3!m(dz1V%(1V}`^peJs1Iou;IK>en}>9djyZIE-?|Y>Uzl4(nf64USJ{V7574 z_m#*tt90Eb6dM#-IZmV5hFgThi3Cvj99TdFlJPS+c?IBsJ1)siZz!cLD1#3<(ee)2 z-$b@mp*4wPTW{^NZ`e4s08%q3PU1}#nSTl|@gB!$&t**Robek4>txDuA{3lDPufyc zg^NKDOJuJx56vW-8jsGHBv$3?s&8QQO=cpUz($i%;!FRX;!5}W`0lBSC(5Q62E;UO zxy2yCcg{zu=AC#Q!II3>{tIkG>U1MGX$*z>;&(nTi@?IbUox(OuO~qO+jFM{40xaE58wt*`^9Q{?@|s^?tI;3iFvV!)67_qn z=*QOLGR=)tc#jzRBoylp(#bLC<|;P313$|ktc zln>uK>%)}zRdvE>?hQq}!2#cgs@lyZYp6-59q z>3@Wh(Im6vk+cKN@!CA=c=T6js=JE@CQGsSP9o7kZ<%bH(mkAr@=y|TLD!u92gxQmZ?1t_Bz z%PRc01P2#90vgi6i_D6o$ens~ryjl>O|5uRI1!d)B#x=UJ$702)ol&mZXeMd&dpkN zL3gBZ-LQ_a*{`9*wBEP9ex4hKvwm$g5Nm85-)X@uQ=Nu{25>ePLB!8)t~}3zDKN~s z;QM2A=S5V8wfgwnR;)5MJ+io&vyy0-xhtp3N#d75UWdwr+=!AJbkTU_YxM5D2e|?K zeGeMLd=x60fr~k&kvyn-mNobCTUcIO^MzS>>|&=ZhRmcKJwC~lLY<0u$u{uprI8FM zg+JZ7avob?|1Em-{+KTfQc$-b2pSV0#xIg`#{UpAveVzuFd^3m6T#Hd*@*tJV=K_9 zL*|lOVx*afHpLV~msd|;Vux~k*bQIhK@%lqxS!E}T!S)KU>S54d$#Jh; z2ELf3jMi6oipB-$e8qiK_3s(0;)GqNq$@F0Mlv;7F?c(b*%K1YCdO?{VsZ`YHpT_6 zbM|X-%w-fUOGfbe$^!`z|8!`!jEg8B*Rdq`Mf@?%T^I4(l>Y&xgRFi;-qtRe&8R~P zW%P|c9H&bk_eIZ`S~oK=6CT4OBJq!Bkbc23b>ul`-EAwfZ=M@IyTFc>)-u__bjt|Y zs7!!cQUEDRND4s(@POSYe;tt>0EPdT-IvfTiU8INP*hJy}o%*-QA@2_4k{CEp z1E_-rI`UoiK@zSzhy108bc1J)F+bBesg&+A%_ClWaJbK@Z@D-_jGoGVs3998slI)p zTf2AkQDQkGCXt(D-ncCbjs^28J)>Kpb9**Wbw$>f4;xT!wy~gnOe#7T;m76wRy9ab zGtU_r&o!n5NX+T)YBS8rB8~$s!c$_k&Pew{Y*|KbBt-d**$rumEO+FH2ro*PO z!?paL)$E&Unt0fkO6A3q)V;ZGs}a50OT>uCfbv4i?CY?v)kO6s5nB>>v;pXNC1a9I zvhm&@b-I}n9M(3^E#{7l+thfvHN+?ZW=I1MoPVbLEJNaq4V5-XyZ7csW1<8PSkhGv ztdzyLQ)%BB_(AiVeOL#I!qR0~i? zL6}xsnW;V8l3Y5_f^%BUsG1oniy~tr3;98o@Z`Q?%Ad06YaAiWC#Zr$Da1Ud4XB$+ z%&+ddl`g3HnFettd$x#C)KdB-A|mU`JT?py;2mR`7E-Lig0VOd38DR?&A((CK7ei; z&Lh^Lt*j?JMlWIBLlJI_yUfPSS4>G5acYkt^`G1_nG6_wRFLLXPD#m2hrkZ*BE}^K zsXrwy66Be>wb>Rm2gDV!BgE-1&lrM?mB`>@4N0Yt8aitoBQ354^z%2)m_@uqOQJVH z%6?U(PsvE7WS#1SG5-c*3+My)mGE*R=c2Hsm9E>;0Fp}O6@fN@CY-afMX2r(6%-xb zOW6-gCL`o#0V@2?evJ+YjSS?vaK`)(n1$>AsiuBdm8wmH%0vZ;@M6e_@A#?6jtASI z2)KJy9U|2rU|xKnvI@?$Zv<8~1{4A;zlaP8mWqngph+KzWc=c)o`mZx**~wO16R~2 z8oSmhNR!dSP;bhOS47YaU(f?LN-#-dfHR_Uj*h;J7DQksE9VLFOp=_}@@(v!B&GPL)T$MLyLIXk{#0JWz0U~NGm>j7&eu?JDpp!)G zT%n{#aiAIp)QT3h>y5_(@U>Mr&sY>nShQ=KH9eKJqmJ>&Cu3?ZxKgT(wuS(A@}N|r z2wjUO+B$p$?j6h$n}?_a4hMzMPqqMwcw+4mVFx?Nya3mY2qbZAx8|;WWd?FAe^R#= zOz5ig;TQ}Z;#EhJNMzaTg9`@S^H4r8 zX_mg*yoWr=B-N<|UpuE8&G~pD;XAa5Ij|PeUftnO?-R|c)l5Z^;#_<`D7nMX>2UsO zpvHY%j328Y?K`rUyQ%0d6#cfRRL2w5GON7j&o#*QN_fe#Q1E|15HG96l*qZ$)0an66d)^zIQid8%wNE_`7z8A4^T(jVyi) zRapG3{Y~`A_Io(ZOt{8o@#o(igPXep$Ke5S$2w{5Cm|0vdENFN#1Su^*_ zelNSi;U(O7=F8gwA2O;BclkS8+)`KIcZ+|jus^f8*4S#IDE0Z*!=u%ih2Fm4YWL4y zrBh=enUXPl%`VKHRXrvq=1U)mt~u?O~wb-)l{nwBlYY@30TUA)wPYy z6SYdlY?s524t>@ie3?w716S932-CR6S%>*PllX1~4 zz)T{d%iBIFy{KZKSrCmCzfPhi&E$*i3L~dS8soGgsX--FRICUP;-)Y}+|Z%bU=NuA zZc(vs!1u;ph;ACaSo3Gm8D$&u`u^jA+1%QP&UH?k)=*@I_l`A14Rz!jmHXOH(u~iG z)0V>o&eCah=v2ONF2IVilmc|eER`Sa3?_?)jKvIU|~A6_1NH_}oJ16BP(WEfuqXZ-|vXdctm-^OoJ!E8NGXN7l` z%^cHm^h(2YD?FmSY*VegFLaGEbuyWtLeSelbPFHpLcH#gI5~Ft$N+Rac()z#SFCa`hAc5^xL&AJZjPH zkd5-V<2UcQQPJ!uWH>Ch>iqrd=E#zU@{TowVzyDMV3M~HX2GAXK080{cy{l%@a6oc4#ie4tGgeHAy z(EfFr-qYuQ>yLlL?#do7E41Cp$Bg0^V$TgcJ7R#&SPjD*w%`={4JYbzo02gf?mW2X-rhi^5~kB_@M zQis_liNg!QDusU;iSQd1;+Br5?BV|d5Z+$B*Cmw#^6kQlx6eQPRA{~xxpjDLcyOSw z6_>f!wCkrJBX_=j{G+yO(kICMkgtvD=+OzMaOJ|@Jli)4n7GXD>0g866Zyu2#ucjZ z-JxqE*Wkilk8tODFDvx|w~WT;#l@d2lv&(7ACykL_P0;%FoM%RRi-Q{=I%(!stB&V zk?n7}dH-AE?bEUoa{2#OSzmuohw7@l=t+x8+v^Cr5cCd?D-YY*rSr_=C@l)V-zgv7 zc>eVFhlNkwOWODkJ{jK>eq3r)hi6rUhc9Y{cTidXy}y3n_4f23G`KVP?61WB-H%?g zbiF-E<7a;-UDS_UpA4^PrDUe`oENZGvm1wV{h{-z4_ZI)u3fGwkm|cC{6lgzS$}Rb zdHlmmekR^pqD}6@-`%M>ik2|vGIohr#@+VwA+1?Z1W*1q2)*QrS+KpP-8Zd zyrhPCbmi{+?@pb=UXzc94zJYn!>-u*!wXmC_0*<&7kIon@2B~Ue)m_l?g_HoFz@wW z8wl%*nMju8Q@7uz95K#9Ii9}=>Ux{1TJp*=r^2mTz~WzNC|zKKVB_{TYxq+u|E3jM zaE>9Y!%j_=Ce@+V)%c!wh>)6JwO{Mg#^2&^|MGQc}V%iOu?GGn%P71PP&*4+IRfU7# zl6B(UcAxP4)%8c-w%=czA5$!ke3tY{*p}*j_93K4T9wxS*m#jv4H;pkHZbV-|7DBTX^^W+Qz%$lgsDb4|%#mZ4ZvW=xU@XEQPpi z-p+hQ6e%L<+}`bY{<=J|(JDj_E1``+)>NVL#qJYrqe+w9nwuAYy)9j9*j|0IY5iEl zxYF_W;j`6K>$?-jqpdBg#GzeV^TykfQzkPioyMkn$NsR2pi*_^&}?WAkk z%}qTiNn(*QW&{d~rsG>R2Xjz0KRaSM(j3M9F*5@lbW~~K z!k$sI!FV=bW1d&yu&JoLSlY!g*<^fvBsz$gUO!CNiQqPI06|KpwV4ll!r~9&Mv7p= zNrqDeK>T%VK@46G$8ZpB$C9xX#7lB`XdJDgX;?8xt_K3ATjWW;s;_>Z8V<&EAJdhw}0dBbkX^WS4Pv zAdQ*U{{b|F!?*=ABeQnK+*PLH3lP{`$i5uM(2%vgoQ3nc1w|7$lMUk;GOqD&hy()Sf6j|?CR`WR-T%}H_`v3@I z(o&L|6w$N_YCPHyhDt>-U)vcQZO3!A3(ypSi14Vy(j#^_2<#4~r>fD*A)T?yE6yW+ znFyXKSA!;A<>PdSpFlB>EjV)6&vRsBb=+0mZkYfTNm_308Lzo#6F4|PLmMc@EW$E{ zHBiLIz8(dH)aJ|JG?lc*iz3Wywu++woZh!@yx_*hL%UY{s2I5G?9WkcUYRri!nXg`9;y98T8lD{qaN;f|iCm zU0j@+X-x7;{nx;^bX6S?w>w5$GjRZ1N+&70^|;&(a4sgbW2|>4b#aF%kP(pr^CI!I z*I~R69pgL+ng0I!``}EC0#)q1q#7WjCIWcqlNRH}@%paPeK6{+MO>9OHH_zqG^uYu zBM8h3`iB1FI_I3gwPiRyt$Fb}PJ0H((A?WExOEhKgLXI5oO3S&H#31=C`l5dp~Kv- zJhl_AVGQ?DmSJbLvtN7#6M*sY78;`)8}5L-L6CA$-_JJw<#JsYIdy{M7xBp978M+u_jRc<%hqc0`dQj#nZ9HS@8 zl2m*tLW9=MW7B&9u+C#esWo0stN#1&f|{ODK>QSX&RsbN-joK|Eqee%C$dapeGPM@ z{V4UF30_GyZn%yPFEi0u(BTNl>z7RVq3X@-8w{3t4(J zgLuX_SZyDO7E?uafq*s8&_|+>J7CFT9LFM^Z0K=TI*5G-4c8BdQn_UnCT6G&tG&|hQ=B=y#nJ_OJ5j22fx+=iZ zA`7xU_MX!}tXQ>}_6m6x;tTS=P2dP#@mkGYUDXsb^wV7bet{}48Tu?8H8<=L zw`5BH3rW7fZC8^>!;n%hZm|2jDm$no9W$;cp_+wuQ37r)w(Cte#@4dV(;bIccXyNX zRRC)MIR5%N2RYyN&F#h)MEzRjX@lNV}ck|J}n=!>)Z~z)WQH% zj?m7014AlJ!7B?^n5(Z~$W05bZzN?^e3ErDl#~(x;!E9ui1CcdPZ8p}?GfW0B_w&# zIJ9UcU6GVak#2=C)4#aJR|jt1Yf zhYD)s9n$QGNz^ir9VKVv)F)o%Ee>l&Tc#xblXciEnpC1~@P4KFmAOszpEhB|F-Y2g znY^7p^+QD)3F;XF;#}J)_st_wEjxHsL3YuxKj_4y{1okA+(v(OV-OQ`^ks4)P@wLR z6|LT=4MJ=qOtLxNzMi6t*g?ygI2!0AV|4E2pDe<>AN^Vn0XV)Hdk^{KAKijgf zmRL4Uu3aWmkik~pe>G@Mt_dgsEo zY3Pfp(*9u+EgXw8lCPwObyu|5I68*d@L-Xgw3KIn>LN&T@EH@31mxpb4g}^Y!tCXm z&d4CJqA62c(%F%|l_^7805^yeuLL9>F#y;UFi{f`aT`E4XWD~zA&Cc0xUOq3 z@F`}3xh{8fhiVj{ke|l{p~Rh3jRmI`eqPyuAFgvkVJ`5r>+Dl2_oiYcOBnplWkSXUd~K2egN9KoIPc{#m3r+6quwo#sy|^mr$T0 z%N0Q}N}uXwt1|inrlvH(NSb<%|EgM%UlTh_CE2Xr3)QjOj3Y+MFfnc_U=JnfV(d~b ztwacL=*$m9i#Os>CNGT7zR7Vx%5}v-kULVHFbB2@c~2zl=a|9%!arR;6G6Xw8$3|Q zprm=>gyfh4C41-r9iW%CFS3%5i#uEk{Rg!wn24^m6ZYdKU7{jXv3^Q>3+#uH{?f)L z2wOiGDg9ZEwMgaXE)Q^#JXJvMO7A~g%S_Dev>NSpI=)Ns{*G&316deZpgn7qT}htldvK1S?;RloOPKauT6cXg4&OOFrDUe7C!2(ki} zz_q`x9^8Z_JDj&XKFiGt+WyU2Lc0EUfBn(6459i+9z2|_*t_W?ZT0(sZToTatJ&ku z$i$wqZwApdqgx8~b5_-#+okCC8;kGkDe(LknYK)jt1m4LS!lwy~= z_8sRZxtm^BHy6cv8R42tUh-bMmUc}6WQn9{aQj7X+rK4VDs|r{|LOGTB>(K?3*CK& z*W&o`^w|sXpudp{$BoN-Ap(&nze2;^KD-(HtFq)#@4Y58io{ididgmjJ?pg9G~pwZ ze|rO8oK3rFy=nIjUD7Iy`t)dzhSid#@KX3OY1kb4NAO>;hByOC)${lJH{#z*V!7F8Zj z^X20y-$UzJbSiki&;@m_TC{ks_c{i+4|0|o`NiX1)VZ@z2-bjyP4}-6-kX>2jUQNl z?h5W~Shab7VYJL&vDC6BCAFcB6RcqGq7t_-j)1_ZOMcyC(u(g~BSapv)|N7fX zSi^HAJl4I}mc{#h8eP{%iua?T4%{=xhmp_^SA~PlwLZyT^Zf(VxPpeC3|?6dO>xvMg}wC?>o!pdu5{-f=i%d7sw>f@0uE7LB58O_f6u7ese z1Mk{Ewqo<0^_KFrUD-w*)9}GO*Y>W@KPiG(8>2hDHb&MSOsu?=eK+WHd3g?)%d_fl zt$%C{8y!I|S=Qw(DZcor!7*jM{(-0WBH@RSZF9JrlRrjK=z~&Fon@!8FlQ{SiSfMe z)6VIVy!xd|lR!dGi2UY`F0LR&j~TEkz2M-*=rMs@UhZ&aHyuKtSJ^ndTfV6;ub zvQkyiVr;%6KYb)ybu0hhM~hCjQ9^$I)5h(t+lO7;n;c=k&Eoa!K*K-_keBrb8zDR@ z2E(-W-N?D;UKanKvg+FBKe{I$7T)o+R{dywKTvYs0`0GTo%1^9k&!k!V@Krj+v>jG z+NT#kvtG}y*~IgQa<{*0+4E7@xu{PH326P`qrsUo=7B96sSjyH{b{G|-g{Bt#bZ{M zwO+U6n)H%KzT-njhw%EtSM3?KW`6d^pF0S8q_=W2`WQG<%9-)nmrn7h?$p;)`*P(! zguFuTFz)!oPkY0hyUVY*R8ytsC-|-w#8X4p-#ZKR>wU9qWRo%KfAMYAa_yv}F??yR zQz%uzgIB#i(S$00kgycq?<-#}s=ofsEOE3sFVvgU@xy(1%?E$bVtZ({5`12Y6Xv~} zq@t|Lz4UB#d>?yoI&SrXuXDnClQGvb(9+TEoz!Bv(CdabdyQ%JEXyVwauO6m#4A33 zi8z|XkC#6^k2d>#w}=AZL*z5IE(wOX6e z(&WJTHhN-pU+mqhu3pdM&WH7XV;;>1^>la&*4`d;BnP2Fbue_;B4r;x|6N2xgc#|a zwWq$^D}Merf2&p(s_K)RR&luZ8|z>kNEB5hV1ioRk^R$1tn+4Vwe!HLLrQQ|r?+sV z$NP~+nT=Sf*g;dp+>V>-+i~ZLCu!jGB1`ka<9FSi%u=+;4{AQe9tbn7WrO^fY5F; z$3Sc0@{J7?@uJR$2eB$B^lNJs(-gsfkuH>%x)#|yEC;<-YwtJI+P$=QCsO@)>JI}~ z{7&L|lrNG}-qgB=^N$wpqI1K3HY~}=IO9GpM7{U6ZW zbF5RmGxJryGbDQVky}9So;iSyYi~p~lasK8+vYD_C^(xpiJj)|mh_!%nAM)!NG*kZ zs){S{esU(SacTAa;itP}t?eJymqXcu{&rmM`u_EZNTwuNJ5uu&Dok+od2$?;^&x^o z(5G}BD!BhNxAgLIWKyrz$Nxv1@@;k9Me+XUo}dHTDlVb7S8S8R;jXI@QS2St-hS&; zY@MGZJ68RyB|CPz6sX*spIdZxe)KFJE-WmxxK0xa{+hR!W?!w;-05lB_Ok6})@0*? zZR2LDV}2$|MSAV5$a{7E__E0Mz3kY0Nypl2gp{p=&c=l0!*Hv3!63pN{f>;JDS(e?!V6oiru{0hw&r z%B}eaF-u`P3zbu2MnPwPum={=@D-^0=!o8T#ragMd55WU;A<7|+327A6Z!5>IkP zT#RzwatY^0wiS0K2ZS-((WjY9zd=R^GVGKh1Ztl7hYY0#6 z1Sw|_*9F872n9^@jh})=lc%!1R7Xe8sCCiytLt@W4|BUy?KH|)PBW1bBa9!!Kppm# z?^`rtk~oQ#`LRPPMM)X77tM!NZ601V%@l+;A0vw}c62szD&%hxi+}Z;)*z3$mftQK zIrK$Dit6^;y|<|aUk`quUFaf6EOQ>Qnmn!0>?ZqDj$X*9=u<@e^Y z%wZ){|2(Y4v3vSr69stPGNm~%x;(Eu>(6#%#l9YP&Sz>kHeIz(9!dEwqJpumK>w#Y zO!tH&XAAVW`>_J@;wrI8coovGJ5+M~z5KsJjC^6L#UHAZ~a8~uXyY5SeOf7~}w z&!e#%KwN!59YvSJx3r>9(Zroe-5m|&#e6+%3XN!%g;Ma!J_iH1p(zoXeOf4?!Jkk= zVeRLp)qL%NwuA4dYccn=AMt~C6qHC6<`zD@U-&Ab4KuHV+ zX@JBTYx}ZLcv^u@XoqpYRlWj!=^y*iQCI&$rU+1O)|Th znI|l7NfdaC!@QN()OcnCjzUYTb8u)5bylZ#s8!)})03e@&h+_X zU%-iwrl8rzO@AHo+6W>xH15oguV4;MJnj1$&85DTOM6}l{jZOjl$nSStJO=OMz|1{ zG9(-KaSH%AyW%dxWXq7G!`Fv)4cOX=X6TCohXm*?auICZdMB6y9Hf63O%DL@t&9di zig*9*xgbMR9@3gNdE*uV^1i@U z7pp=Jl^7?8M6UoI+CEFbg=@tT-?6|gl1mp&)4OR3rU(4<9a*$!8sYC~MLlk((BFa0 zb7B$C;}zps^jjN}LEXW}Z%QS5V-0bEhujf;Sr`Z{+1(zH|1WDCGZPm3qJ0TEuy8s! zWY>GIkbBF+cI$-o+T#G9j?gF)Q%`>bGE|3;^Rx7E%v6)^p<>`!42V)8ZvRsV!_3-@ z%K5$8PTyJ&&puJRUnp8fx zwUm#LcoS`O*XJt^1aNS86Pp2t%!h_Zy@R5!BYAbp(+?6LQ!1+<>ss`LF`8c-IpYPS zi_+!MC?Ak$@p)jXn5zx0(NMar2$4R?x2kmw&lKxQD>Ln)xnb3#0HyrESObl=NQEdI zB!NsssX4-kItGSIAyFPv!+GLjIXq*kPTaAhP#|SnhoP?e0Fk7HQ*9W#hi}KzjnOt* z+r}XQLU{Pe(1k_yAjKHH#kg4Y0S;CPx|hV}|L^n-i171DCouf6vR^gNIk^?20Yi7n z8b@FKOccq%fohy3u1o7dMFxDu4W@te9}=fBoUM&EW3(+_2~ zBQfIS%duq{I0*HKDy<8rd!#X&FA%)SW5aDWX^PAn`zNyUg#HChTs)9xC}8^mBKjyE z3L>yUu#!JxYoe9}wzx%r7NK!-Zcgzd5`A|ZdXg%4VhbX>?I4j{nq=9(WU%-zDxSsv z%gY5rvsW|tN5aX8IP{pI*jYb6Z3=_HK7ZXvsY4upzP^rJ07`Y6wE0+*(s{8dfwR=W z8D{}BJRw-zL(6f*P&8agwwBVapP&E*031g>E%p_4Uw;M7oKoo#PWm@xt+NfLF9!8b z7FMte+UlLB1WZ@gmC?N6Fw z=Ys6|4Pg$-IAo2!xd4S^thLD_iFornTC{c7x;3(WuiS@j-^i7R*&EhsS>gw^pYLhe zAs3*O1?am5WZbU5hJTBhtg)(dw8fcaBh#6n_Le0tBBf^zG#%gHdGb@{BBptPlFk_TqD8BeiS1c`;pbi7xyr3vJ<>O(FpiuHP* z@6jJe)2fcH1PSRAGHA>Rxe|z;4ce|HfS9`b&QInm)(yI5d%)J}OlO!IY(mDeDAGq* z4z$tC1@$$o<~(eB8B9dur(14zK9nh*i3XAb&jv&FUDn`-4lsvkD;-ecbYdgQbphhr zw&ndj2Lf;tmT)4>X~sxg&#z2u30wg`Q}^gOKIj)HHR#Bi*h{ho-IU2n#TVl-uiAV|->2;kwraPNVZ1OX75DHR z8lw{h0{d$NgddI^r>ahBi8%1#2@FqSC0bGKUR3S+L+_0qD3@mPg&>Hw)q*o>fv%YQ z=`QE=XxEgmwUUBSWj#aigjstr7MDLniBCtz>MP+S+O^x= z(cc2_K#sIfLC+i6O0q;m&+E7dUo@Iqi@&3^FG8Sl--B4!yq-4=M9Gz|-r^qEz>2%k zUW!$mq*bKNZzo11jVr(5P>%vI)nj&)07*21q!1_0-HTgI{WaP4So(F!Pw?Y8g{*7b zlxuuesLBFT{tZUKPK7Uh=_joKeJr6R7ZmsNVF)GGkd;DnzMcMF1dE9FzuM&1lrC@V zDMj==w5AMoqptnMKbdg2disR@$#4s)lSi^8EQw!1j1%Q3ahI!#IERktgJB6?wr?84 zoFbaYpd$QQ!f8-+Ue58(_&!GI0GcWm238}L#w6L4^S{-C@C}+ z%hcqlFax#hD0aUEhk3KuW^r=~Df6k!t^6FGNa7HX8wFb;MId1MaYwE(r>LI`DMBt+ zP8&SsTe0WHOv_le+J+j$dpjIF?FDQK;!D7A)7Ig>^bJAk6i{$u-SWPj_b&_hZ8yA4T?$meP6ZbLpk4eBNxbNAhP(`Fh(a4%T#EUFhzzV&H=L7ZP8RQX7gIdm%D%Me1=1C8~ zqn&f6&{SyzFx-Gkh+?I>D~nq+Ep#N)e2#Wge;`VqCR-pLu;r+tA16$t5siyfhwO0R z0R+~8qHY;bjwL27YGw1yeUMs8F;^EqH8GS&{FsrRai%Rrgw=lkt{ovg4wDqIuhf#l z^?`+2SPVETX)&qvz=eqU-8_9r983|*hf2&Q$S-EPJjjS8hD!kqmwGwVN+Su5iJ5PL z|MM%0BxRxe18#i6ZH6?-=0lGEwv{XZB9Tbc9(z2~70eVlM-2rQDo2Xi;>Foh?8%6T zfHb-Mtn)z;o}V<@pz8$B*$ju5B5K&=tGTbZ$EHMN>GL2rH+-FLo=jj7ATXsVIFhMe zlj$ZF!6PV|?V&=VBzwoSlw5FHTf&q8PNiHk0f=V(=bb@ii?2VK( z5!z`v0I|D^zVqB-hS3h}G=-VQkQ8ZFhQ$0)8oTI|VI>1mdx(lTjVCgzDY8OvI75&i znws7PV_)>eaS(V5aweHjVg0vhSPHLSR`bO~#ySm!5=d%0S_p>P&5A zAG9x4y^qLhao=h}B1TCjR!0%67Wo9i)uX2b7Uz^rq7dUIP>jGaIg;u9r5f{UBrj?7 zip>F1C|w3z)h%ZcwM-eXK*=t63hMVZ#-{4)raL$U79>H)l%uF2Qu7TEJ==13&RBvc zRJUd8@D~avss0qfyZCw*pgJ(h)t6iC(KS?^LTrKa`8Cm&I3%$|MmClv8ic_$fKY~| zV8&V}XA=%@}mob8n1+z52CL?q2LUP_0E{qb{k2)HimTARuyxK%#pz+!7_C zcfrISk^~WEDJju-7WcikFq{Hp4+j-(5J{2*@@h&XNWmH^u{hzW=ZLCDl{i@9p}QP+ zq`A_TJ{0Z3>8K>4suBN)I&3?U*pNpWO8cJ?y@Qh))r1IKzqDa<3G^g#I5O z8aN*lYuqd$^zuc#sKwQep;y-qSK9q_j3R5yRQx|Z?fW3jIR;NW0DO^k-3E#*9SB7egOX-hJdbrMdcu>Q3A`e=EQ*ViYs@^n+%eBXC*qhq%`w6xr_smkxZ2?Rd1=A)=eIX zl9OVQfoEqtr+w25udEfg6MvHz9!LJ}TrZxm{IRx?al)gx_VCp#q?=IKRtOu}NGE^^ z!ndaPNI$f;zE|w3=NU3)HTx9Y(3Lh-x7waloOU7iVIy4h2bK8L=f9!9*EWxDX12aG zT1R<@=k`7{^O(5o3?XOy)c7MjpjgEsR7M@+L)ce4KbLNvbj|v_JKJcQzqo9Fv-Px}Bg>=r zU6q;7Xb4r!=)$`|3G%)J?gU+Vx((a@!v{7!pY?RUA1>YvS$lu7_SvKINc8cbS8#E+ zm$29GU@vb^o6fM2o$30*@Jpukwa*<}vNp{@Q75ZT3bq+(6Cn@0+Pe;%8NVy4R@H|6 zGML5^O+@+eC?~H>zrq-RVP{Pos69Dxd|u@#H&-hEP#|g=kcnl6l@wE$`3ls`RK(D` zvl|!8S0;TEW0L+&_b^Ki_9tJ4nO-9Q^{!qHbk~+UwW=8EgY|JY6c^Q}^p%6X{+eVV zwx{!cw1UI?!T*4@Ip@VAL|`q4X8O6CA#(t+E7Onf$36zfKTIrBRc!FR4|6{SZB)3A zAAJm9?|whR!{tvvGXy`XYWZ@<`?u81TLUBKab9TiZt*I_Bb`vX*D4qy#Ve@Y65_xs zjjwI2ihGYMJ9;MSEsm?6`}wg(()_J{qnP#kspLZGg}|@C*QD=EgT^OP9WEE1MmhJk z{PX_n8MygzQ@t~6JcDctr^U#?X=g~RSn|H}+h+9voA=l1px)rMjfx3(u7q8lg&UIk zK--Fim8gpK#>17VAfFrp5>_ismSnyWPG95f;-w*jmk*l%IHa49+3qJtN|_uaI5?6) z@9Z1I*P(BwG+Q>y_LSZ1-CU5wVX)v)w`nn}j9$Wsw(R>t*ZNQ4EaS40?1w%-yq^Bp zJauc?>TPfGdGg1mW9228uy=>)IX~x#uzLNP1p{|!%Gu@TGxpozro!*nJY8#lb@*5O z-m%||&Tih^^5QRq4)10>cV4aaJK_5K`?7U4^3?OgmDwi}kAdG>UXT2I0y+&mQcgH3 z+j}1_qKPIOMkFEFCWVu8AG2@otSYO`<~Dl^A7Cc}YJZv89BgRl^;}2dJF1QnpU9=3 z%zXSB&Q-ACE59(Zxf4o}eP(~znSESuZKu}z*RJ0zsMD^p-YOd+F8zzpGMhN#Nm^eG zwCZr&--Ff>$+i8Hjqog3ONiR-Y^Nlra&%&MU4zKss-7Y4h`OfL} z?(@P))gz(|W_pFKN^HZIKYlxo1)G(9iu~q5Ao~6iUQ6AVTYGoeck(L3^HKP0?InzV zUN>4vS}5$qWFbJ~Pk~pE)W?<L70mQ?@6u9mM)6FMDY9R^KikKud!HTkh`p(_CZ}Znvfia% z+?(1ucZQ?tM$xsIZ~^OyO@QI4%Q^82{c{%=zsWo^IT&|N54%WAe) zP7j+N{NC%Z$-$rn+1XcUD?RLaTotKk-R9l%E#djSepBSbg-&vd19Qt+AG5#Sdd&X; z0mB~C(=%Jf{+@rmvVCmq=y5?>3qdmlmTc7X42x15Z|<~~+HbIZKCH!eXW%@4)IH#@ zf^Tam%V*+AFJZ3ZhJDwdWvudG(w4`-Gb&ds1^UWyEQqzfYxaV;`fE{VA>+_~+8;Td zx?4Kk!vguvsEQg)llw$LIJxD&4TYm{^R*e-(Y7Z?l}wK9kKT%ZB<(Tz5AZmlCGgH( zUTOanzY!cTi@E$(MlC>p%kxcfT%fx1AguO0STdn`sP|_?^j+GWPVYhfy>G?BNl@$J z2T|Gl<158WjjrRj)+g7Oz8y8Iuc?YgWLhJ3d|i%cdz|>@ z0~S{NgsnZv`Ask_c#45v*S@Wnt}i#Wu2{W07y4He?ijXWZrEOl6Ov>dZSH1LgRFZK zo)us87o{aBBqHlr(Q0NnAyS_C#C2adpUyu(PU^SoD)U3W?(Lff$>Y_X8=;h|4^ay% zUJ};rm)}6mLn6*G{Ql!hL62FYhC97)E8CoZUq3}H%wL4xbMJ3_^=~iQ4mZDSx#}7Y z+1hzbw`M!C6!VLz*!%j#J8ymC)!rDqE4U+I2e+-e6GCNgd7d0`{7cdPB<$I7=VyJh zUftnmAw?hldafPSre@a1bupgGL)(J6;M7{?5L$b2slu8)Ia$Z^zuwFBzxBoL^uIj2 z;`4}{P^(P10WD$B+PNS*9BwFUqpWlCw2+s;!!d9lJa=A}ewJj|A)Q-+9>;q!!tsg( zkR*_#nhnNjLuQf%4Q^1Xb%Vv--SK@5?4O^*L;T>YY(m%*rBCRq~$Y!?4czMSw+!-aL ztObLJM4syW14A!dGl}toZGB4)r_m?vr#i+)v3R%o`gk(CqGx?@lwH+=@oO9d0h?{b zR07bld!=SkM zqRBrbi8TG^h>uj)upEiqHG~mZB?6P=Bsh`7KuviXM*lTAhTK4o=XalwpVUwBnmxSz9eR!HhbEIOhXhF^O1ob$67@Kg0#%uCh^Bw&{#<3Wz zb)HJ;tS$&i3R{A7Aeo60YH$c?ET~B!FpfP>H zIA=#Mx21VazDKzVvg1X(6n)ZzofrOLWl(Jws>pe%vGXeum91aX*k#FlXpGsau6#Uwr)o@RIE8C`Vc$EYBPCFKipQlwWH{ev1 z1+WlV0TSZ@-09+4sfE%Ib~h|ic5eb%+J%0$IVB}Dm{{X(L3{8)Tz~gLTRd~LN<^#X z#Qw1rf`;%i<-?SC#H|P=CHpwkiy=6q5HtyBY055EW^)@X4lWZh7}|Z~jt9&6_Z+}c z``t`m?0|*pkl>Qvd@=Jth8B`!Xzm>Vp~)39H>fh=9f{=w=&`N=r&*IRnRLyY!Z!y< zd=d&BJO*OAT}ZAUGB#GoP^L*k&aQ2 zy~}wu&XB1nC<5a%N)jX=0X>}{bG+Vu(hgEmg7ZS#kaY-y{8JT>mUgHX-p5qJ6*bz=v)l1FF# z;Edd6WLW|pTqahY+-h@H#9)G63rcD8av;}^-cGeC6A0Ck4~*R@+Kp$|c>v9GpF%0C z!GAblzadG6oCr)gkZK-Wsiu8Uns^0MD!!)xKfg!x5Y5xL9#$^AyNcsS;44ghl1h zvQmg3JU}%Wq}o;DMSWCSH_1FV$hg$H-10cL;slBRfZBUMypl8u`u^OKJfbNl^4&Or zc8F_qX({YGY-smPk@-vqE-;_2U|?Yq41V|LLfQ!D$g2?t;l!a{qZdW*(Hfcz92bg* zJUj4wmYM)@x5~|xoV?CATKQ->OFXlJS`+=vUz5XQGPVHpF*FVfeG-Iq@%VfdvD(2P z2Q?E8mgvR}wSqnjdV3|bv|e!XbnLw(z2Hv(M~NqyHgu9b&&*mx!U^DbGM9`H87JXL=I>genNbqK;r2aF6c_5PblRk!!AoHawAL zEO5frc~wdXnZtkCr<5QsQdf6}ixabb$f$+w%8^P88RZlrLSB#w7-2`acpq3L)3r$+ z=thBKa?!cOVjQ`8VNGWPNs=;dGzmro3Wg09W)L$3bJK7amqn4tkT)kc{wCjSM6C^f zrP%&!8dMb;7iMA<6L?xp-)^<1j#phynCE1sh6v8-UmGHVFZM?s*yw-o>hy* ze^9dr3JmH11;7Dt%Z)Zz&Z@aK;B9H*ay0=c1D6+f3T#L5ee5B+G+FYVMz}Ejc+T`k z94NIuyeb!#Aj3+2qU6&KN5Vr2!)IJ>05I|nGc^xI?7pg}vfaYY1k|hQl0T`3&EuJ| z_x3q*6UqjCG}0x1odbLBigL99F&6E0vYCrP(W=h+$@_0agAK@X&#n`t*m0Lpai=DgAuxInHVSHh`WMdqCzQAOpIw zoALv%wXZx7EBA14O3! zl+ry<9b!Mhv&}^8Bz3deR@o(D1E)%Lu_I{6zC9Fd*SW-KgNfvZ-n}r&$+igilrCzu zHVZ2f7!!v(>B93yB=lMb?3`G7yP~zeApiAC!S6uor@SWro(~2d;&3y*ojOe7;VOm_ zQrP7cO;VNcQd-fL;j%uh8nwt0r-Dlx7jE*=G_@I6pT1Wnv(g;41EiYrH(Q-+_SX>u@}QA+dz@k&vlo4h=b}BTLSeL$wanWc#@AcbdKyCy zZWBeK&0o7XxE9xKZ4xE^W+=hgnTraH8*PVpFaUj4hZTN=hKBU?9Lbc%N&r}i!v(qz z{OP}a5i8s!8%O z1GG>^jc3yQTtL|Z%f)VH9^RIDWU=hfEw_Br- zN_B#m1N;;~P>4V%PuA4LG)rhDol!V@`tgjq?N%?+qy0EsBw0k1Frd1ANxZ^Y)`k+Y zZ4+VXMg)n!`O0vVpmv^kQqAAWNHH#dPQ-E+_FyVn@*EMp%(R}W*EDlxy7wXk7QTkf z2DAy!=U<~_#%^XvMFp-Z|m?F5DPC~rZWEAG?#y@e82M*o}6`no5SZiMa9YaufUK0x7bsG?DhDf!24ES zn=E(sRX{T@cibd;!Y`m=|F`h8xuB=(xUV-|ugg)1emR^dby8n74U?^$zUbn&T#r8YAe7hL`-utj3wvwdY+}8+Qh(X3zkV=)+@hS!#(McYEk-$f8H~ty7kQ|jeh@k`=c$)rzAL1EZR3v>g?&)`@m~#H$wmu zl=b6Leot3u1Z!TNeP~u^W@}q`V7MRQ6Qvyf^$XGs|OUp!&4y-c9Pb!w7yfm99KX0bJ!oNY6&blOS@G-AdmJAzM38K6 zeN);VHnAPz)xP3=`s;3_L(k`O_gRS4^xq?!tlzHOn`YlzN-OsDk52?rxF@Cn&1^3iji(!C9)_V!5IPa}JSesiP)%i2j(#A~z}1Gt>zE>}~T z9nP)-d_w9SsV*0Pd3~RJJ=ySgzYJ%Ulq&WWY`J`3c2Rq2wD8gY1P%V+K(kLTeAK@D z>Ah;8dB8$*J?`q;Rqxtxfw$hDrpg;1ep}yYslTEz{_A8N=Ib+q`-+4?IKY4PFgx#10jQF%QH=m}O9GU!Vj-Edg ziSlfhAx3QUt^~9SuQSG;cbRkr%=ti89*YO`IW@lO6L_Cxm#?v$O=q}%r|>wT;%G+1 zL-&2q%D11>Z;zY53x8YlmA+j6^~OyEYmJM%$pb5>9R%#Z(DKoIZ!h4QGMYd8 zjeLB;ZpR6&ynRT{n$7yjxB3%m?~tqL_O4=b9Y0@Uvz8a<2Vi37m%+{*g;NYxbaQtk z;_<({@89gTnrGfm1`hh7E!M14TL0~{1-iZT3=e5*j}*9U-S&E;>8+D;dFyeqU}b-| zv#l5AyZq7C=4b?3{_7~Djr1?+%{L!5@5-RAB;A(9>gto8F7r1+HqGl|{{cDqKKBX% zpR#ZJJ*!OPu|nnHP}c3H5cjYH@ABFPp|uW=xhCPoJ(q<>N7Kp1zL5a`)(wqu(}A9N zvkkqu`Rr<^?;SlOH#kB|k)IZH%N|W8WlK$I*W4nOpDgrf9A?ERSacpQzY=;ub~j0^ zKRePs-F5ru`eN<4j`Y*v?_)~gw;qeaDqNFZeO4qkZ-Ai@?mr(p_pCD8x-3#~HvC_D z2o=ofHnK;WUDU0uicPk6Hf1-cJ0SI>Y~@X@8*TK=lh*|*tVrE5w289mp$v0Q&_ns@0$A4>AR`itLw6~G2#53vcM9&G< znIt4M7$<6lD2d8EBrx|#9K||%|DH6gsC_3*%9>7Myc^k#<58yIUqBTK&$I9Fxf8QiM2EX-G;fukH^t?9M*H6)IVAA7a;GSiFWbEDg)G$|G-BYz84=BqpEIigE z;#Zff_k8!}?3!G*hxp%TyEfg)D~5Y`Ii=NC6+Buh3kq<4oPxwih+m$E_g|*PN$mq} z%i+@{s?D|os{*1Ciw`>4G&c>IfiOlBUOwA7%75u}hHkM{(af zBJVHlo4=lAg)sH(ZOvXi8H>fcS{}C1!--}+-F|(GplRI~-5pkg-5cbyU1!5=>nGMs+e~X0 z^-Zy&=0#tr%zEByzPt8+JP4_o-@YdSkDe{coaksg zy3ezkdTBtmMf)!P{`$RApzM7#)Xj5J`j=JC>e1`4Y-C$!_=j8FT5Xiz3jRbRK>u^4 zezBV8ynkXtDm0(WT8F?JIr(f8)WfZ6kgSoLF=k5qTTE#r)2wv$v1Y`=ZB&L~=ZraK zK^f9&lKv+nqW66Gl-p*Kt(6FT+3!;2ex4M&jXyW|r?A68q^W{<&r>vg;LyzEO`25B zZ=A}yDGGnBiS#Q<+J&I>>O4GkL>?80hUYiEA7a>^EU84xu5to8tM^WvF*%t+*tyTJ z=2Qf3xT!|KpdQxk_e$4~GWP`m4}3wHpqzk1Tog%d%nWbspJegUpL>uAK^Qn|_6eI5 zJ%3-^Lt?)YdnVrfe99Z(y{}cnB(xe3leUP)c_*>HK2tTgYbC6vC3=PlFKRiR3 zQlhR1c$MePDfc9=(?FzHP|UcLz=+B%s7MGBT(?#JX1WYHKd2q=f`TsbQl>+x{H;(* z%GH?VDic+JB&s@bV24D9m{Z$CI74#=$jd*H8AVVqCeS-6r5JF0)PiZCDhEk$#5B_m zN;54ID3q|fVr)!|LJjs04BLlo^JJfq15p{plR;<>{j;*|KH^sv6kLJO2a52oKyHVvOAsj>HLNckf%?C-il2@HYtguQ|a1T-bu%aCMcOQ*h zBv(%Enc*xLnmCyM5G2|-p;z|YD#lKPgpZ~SON2m~+BYtQ;T{0ymHB>b?q!~-opv1L z^{ZU8C%Pz3Y}jxx3%;PDCebJ<^MOS!dN=Ob+hdh`f+ePTK}?lEb$RJKt{g6Gm=3rcisOucMqEQ;mc;=v@uw+`JIONH0)v1~-#r+a)G3cSs{bwn`t6?Uo? z2}byr2Il<`dz{gSYu6;1HFdzy!BctGFV=;0S?eq5S1|d*GBr|d7~a)izp>-g;o{5 z49(c+K+fV9Qvt(IUz!kE1*$R5nv4 zqb0*59|Iai^Z6>a&wsWV-M@EOrL>IDJ}&`q(H!alP}iKHqfJ*C0!A?B5DK~&0L5gY zv}Z*$I?Ip?u+W%xnt$jXki16f!-5tP9twDSUxz8uB2f`5O=b+ksLlv;)OYk|O1Wu;xyQDG z5q&kqu#5nEsGbh>jeWm~ryeI_GoHi^QY4lK5X|Z7iUw@sJM&8?+k6TtkV+KhfGaq0 z;A@NIIoN5Z1{P;MSu0mHVnJnqGx&?CJgGPkm@V1K6Q+}&;Nu0Xk(C#MwgAcFwxr46 zMX|{#{FXaZW|!oflY41U;l)h|{hafsZ}XFzQDfgT=m5$nQuk>^)Ehj+O{aZJ;`Srb zu`dA%jTE&8V=n=O(F=+I>Fl*?Ar=4PHlI+7oQzTgd2S*qP8@}BQw~oI<+ZIrwji@C|KpV`*Nff&msf z{t}#G$rc>(%?Ny(EeVrK)N#|Sa_BSO$>RP}T-el}VRR(hT1xPnzBCptHjVoCoLZk_ zR^Kq;wua^a^G-}|mIE*S^;WFG$i36-Sc@~a_N$Ef3nMkL{%L~H-7|YWSBIcR3nHvG z!=zCHFG@N>XVDZ}1r><1jyB7n-;-sI4}L#N-!0a%9iKm2NALTrQyi74gL3oU38`@e;?OFSvY0z!(yBTbv3{Qg` zD%=(?H9$}4p8(Qg^_3tO;gn+qq;ZV&s}0Dr0DBpcS7gOOePFJB|HYLVlpuX*0Jlp1 zSIV1B5H`tDW<|NnK}sBK0i}9SlsMo4fA$Rw6K+E0Frq&oq2qa}1?p@7-4(y_l%^yG zJv%f-`>&WRnnWAUH5oVE!^_X#ui|DPCQw-MgOA=HkVRJ?0t_fSi_CIQ>at9VQcm%C zoJAnT{nuLil`wmARo`;JoN!f&7mX6GWY;tbCkgvYB+Szq*c z^)<&s7--IDGmW83Tgl}}+}CLcH0+B>#t;s!zCm;reF!;4C#skz0Gh!^DX#3=Kt79Y zcu_cGCAHw@YUi0=K`T9sCWI_&;iTimQ>hMzFXyiSfkX?S+($@~1&(#T!qH(!9&jkN zQ697Md@0<(1Uz4X2Va`Jwlktc9lf+x{($MDdZ0N!`#hG1H(3;hCS`2S=mT&lHOJ5z zaf)*00!?vsO<5>XnVbX)P$J|ywNT!b3fpnTb1|B(Mq1^dp<_^@;9>r@Vp=aN<@)Lh zgj@lS7P{^O^_@DcRc&^$|Jb$Es(Ka}lgnymhiELzGm4^rrfc2KA&KD*HYfv#xid;t zGbt=gD3o%gwHuZ}*r?a#&$?9bN0o$Htr)5dK;EyU8aWv`l*VToqlrBvqpYId`+?X# zys^fu3!y>cgI*`btI1%+$$Ru{gR}#myM5SSTz1!~hqldJ5q3?Y`y&I&-xqOlA>iiK@J!Q8}ZZo3xf067IH-xIR}QimEHh ztzd5qwKoT!dp+CyqG9OYu|EN$%^Y zo%CWS(bUR$^9~FbFTjH=`}ftgu!p@$ZJiV@WmNav6&uQcGLjb(u*(<`y^S@1Hr2G| zh@4MDrKgsz?YG_qi>`CMt9qa|3vPW{rj-GLp_y(roxVOq#JNF#Pzk6DsdG6Xn5kTE zaf8Q9O{uG2p_{Z|DbPoQV8&Eg07PAtCTdX0o4E%`;2`YZG_4mUXJ9rptR54f$so~u z!_#+|-|g3xaK;i|v@)kd=Pmou$Y~tpL^J{#;bBZ(Wj8D^)Zrh~V%*b0s)?7-6PKNT zCoSI(GJH0Z^yzgE_Vs2_i+755{Yi&?WvX41RVxC=gg=A23am`{Cc`7}Gr^P}pE|dS z2_c6Na#pU?S+fG5U74qVK7g4Ya08^qx9~eZS5*-o8zN$+a(Edoi4(yO@oVS!m5-3O zv$gK;b^8cOm=JlqZn6m_RrFAIS7}zlvN_GXtQhTUF1^=Bmi;(QrbhgA58@2!m0bwg za2ej)fD^{-i4wUbT4Y&_;SteGG<6G(NafU1^$Md8matm-^xIdNG}2Tx{_dpD;pO5s zxe?21@Z?QK5RPc>a0?$yc&i?k;Y1@sWU3ik=ww{y;+N6XeabWtSLI|)BWuo|GiPP5 z#F3#iB$;lPVVdsLham-Ix#dBj&K7g1YXS$!6uWM-}iGLL`)`m=&2Q!b!N?%bqa7q*=}VMqH9d zYf|_f**6P1zfG6<1HN=g1uk7Yct%SD^Rq*itx33phC!ufjs^Y{ho7AqV56QWgcbpc zF=R$^uz%0(k*`f~jo>IXnYq#kMG~Eykzxjn98&Rh0i40I=m4@Kb3BW;AUAOlDPB#g zDMLt^JqW%n{~_|L9;3(^9G=wfg70%%F2xrP=oqFLDjGuD+D!|fLfVk=>g`9 zA`WFMxb6TYpR1iENum<3;C(zQWSEc>N6}$2&T0>kv&D;jdZ!%r>Zytv0j4+x+|Q_V zBr`*N1Z6yMctDaMs?TFuUC-I@{Po)jfR%zWJwHt;KZZY;T61tW5NgCC1khqer@oYl zQq3!~ql(W)QmWh!*>~!T!Na=z!4%lQ#cuJCBiC0^ID6S++L+=;adIEPRskdLb9)8) zUaGg}i6jzf{JG~e)vEUke6&pnA8u5oQ_J9*7=QJFA1^GPF=wXObl^DD(4@eZ&O!eYFU@q)WGL#x#o%vKMFLXK(r#NjCJU{@k!9~EzSU5SBHI3eF6#{WXP;T&8 znz$y!9Colr%ohJV0yI@QfUi(*zIPD6cqC-Mk~2m%c}m>_8InG5(l$o{9$=LOj2lD7b7J_6xZ`S(TyiBkNrlGWy}lFXAa$K4 z)kz_73D8)0OO-gKlIHx`K`ajGXU&pBLRo|oH%uvQ9|dMiF)(#043=jT6+vKb&yk4m#cVY0|-!+24!&rkX!>e zr>-pX5mME6+1fMahhRflD|$BBB^bnRGQ($EKG_%coV?f#I#r9d>$99Rq%Pz_h7mZ! zaG(ngV)aC<&1PukNh(cy zB`P<3%}IRVj8z#DpCXW{gsp12Zc!uYw@9AA@gVtGFYBY&MhUc`8hDPfCT30sh#aVi z9Yj*io`}HxJ&FO@0p=m`6qZn#+)uETb=Kq$7Mt^M&$;6Stjz>aUXPVCDJrF~Vx_4> zdfWzxiICtoHCUWc1iiX*uONuM3TJZnVHv3<{VUN-n;FvzP*kjk#2_`kv7iz8(AYeL zxiS8nlfYpDAces*Wf+}V=^ZWAtQU+hu>A^0_B~cS5mCi4BM_(7SlD}dd@m(&$T5EF!!Tv z1>DtY`6?Ew0V;kt@KJ=riO6xxRQt{QQLsOZCt6+u=}u$F_?lALX)%g^!OWvesauO^ zKWDMYf*P}rsPRmpN+AntZFZ#NC3R?W!9poY_0dFIS1Ho&d5_l>1FlmCwggEx6o)UD zgjU;xPb1$=T#?rH-m&<6?|ymTc`kwbczuH{BJkf6yJh@5T*p(i&wuxWf8<_2I?Y?h65#sb*W$Ec5NDK7jG18XZ z{?+F3%{n*4)y4f7G*bSLFEY5$EKyQHQ5(eNuxV>vu0% zI`5l8TBa+mneKR1TZjzOpKX667j*EPs``26>G-=}IQ8$VjO8Upk1$e)d18;xrngy* zW@2V%6EAiihp;^Lo)W_%)yLBEaqAl4!A8@KH6^K;q3de3n&M0TGetyOUjnU21sboI zO+OC4|HKv<-q!IL+skTAY2LW}%+S2@h$DMK_Tl3;q5W@P1yj5uiNZ=OKH{V;N1~4Z zWrkNbT<+AmYd;TFl)Wmd3ubww>yz!${-rR|TDR63KDXGnP}Lz2V&NwwTY%TA5qV_HWLz<4s{o0sjb}v7TwS8Rn$-~-FJ}sHW`rNK{;@)qtd8yYb zYbVN!USD-9rd{4P-+tDw^J(6F_#^7&aoY2hiq3=1qv)2hPxu`@1?%!3H+p(MoIIJ^ zy|mfKAGg$9T#0T9>O}cMef54=^7+&E8{_$3Ygo_z`t$g+YgMheZRJn-hqfOv^F=Nb z3t>*<5feO+ggid!te0x<3OLK$1=B;NX4~V8z;beIkHM+ zP9!l(P)g&(XQ?E@XDr)FR0K#u=ySGM<{A1U{(@~c5&(?DB8f82Emxf(pAF8Lh>_YJ zz@ao!EN`AkS5|va#DErkP}lnx@pJoYCgShQV@1-9ihXvULx0<0=ZC~{HCF!ty$>v` zKlZ53`G9wh#5{S}USN|uSf5bXqn^(2iyk4f&$Z=zKId~;CeED`)@Nan8!OAb8NB;pfKTi%!I@~Ty#mf3ef4gox8Mugc z4gOoeQ+>SNs@wUkasqQ$_;T^z#+A9sQ4d$ht*4olQMo_(OE9LvuuA?BMD!0b=4ck} z(4#TRR#=~P*v71VpYND>T+j3LA;lVjsgvITJ;4IMgG44vSn?+g%C3&cn&{?ji8Hb9 zO}ajAt4snPBERf)2_L^@d>cIwy7-InGr9AWz>}|@>0ZS}4-XaPB3bT~?k)~L&4k;s z+5G!eX>a+6avAfl2z8_Q=|3P}*^Q(`q|NZ;RjT7T$FP|%Z!SlD_ zh&v7WHXWTwzpf30ZtZ2?!~53r+Yl~#E!xpPMc>x1{ycpiCNKLRpubvMe||L8k)15Q zOKy9)|MZ8g?yXN}>id5cAI{|xt{lIe{JQjQ53zX~YH`uZbd)|A!n(@#HJ}FRZvCpZ z(y=Ef#cUj4E0kYy{(bz(JFxHszwSP(d_mhr*S8YWYW3AxbJ#m>4%E6(QjPb`e_vE3 z=F4OO<%=2hC))>+o-SLM@_aUqb*OT-#s~&C&Yva@AO6w&Cis zYniR<)5P)>5AK-vv(?u1LE-u6Cg+x(?MGL$kB@I`TT0{4Gx)PX1|HCz`TO~w4KG*2 zWcmA2Hcby^ymT|Z;h2v0f=2@6-5D5UO`B5w`<9I!Zw z4j1lHQ1SNJvA$@%`c~kB2VsF8L57^uaw7YW-y2+BnMS5or2VWU9I86oj_f&p8WN`8 zB`fRuC;Rn@9MEso8fceofWQnK5w;R!R5|hwSUJFFm)AvezN*&FOaEs}ipz2{SFyXTOzRJGwoioTUw`uzeEUe=*~Lr> zhx~pxj!JFe&75kk^sWBfz0SJ};auOKtorH(){Ka&L)Ki(t;_F~4PDq@1;vt-f{u=( zp0WpDSwfnT<9-4_?H;=lnD-+Ot5s`4ett&jlP0YXJ>llw%L-MDvu&?yxiEg0Yr-XT zUP)Fe;7aMtU&p_`Jaw-$|N6b1s?h;tD--%cA^~NjV=fpd+fqH>I;ZES-PC~h5|Ud+ z4P%VOF1(CI{zwU%9pg%k;{`-=lp=8QqgbW6BvT-HVIGNEUI<7|pkx;1>sQ~Sq>U(E z(vr}Us#YyR7lZXJ(-@OMgoo(l;uOO&HnBaY0|gv$+Rwm9!aH$FBO2%G3RwIMGK!wC z`@9|BBvy@^yNoXl2zbARbgwKiuC@R{VmhrHdNoP^B;K8lPyrOuxg7S{ht3e?)DAl_ zj}S*u9Pc`Gsa#(X0Z^b^#F)>@UCbyboXax^vwIVI_&ps7-%AaDQ<7^>6yHXo?U5=rHXvKpy@rpyBRm^JFrN=6i5 z5S{`W7xHRS4}Y22F`=muhA`Ba9OMPN?;vq7a@zp*BPeJHA?zpC50GWqb8R^#_g9a< z`a^lW365)>QxS26zL~lqpmGSP+=_!5IB=t`Rd+^7fKU^Y-FFL z_2Do?tQY}D8D*7omfyPu3pBHGxi)~Q#*@Uc>0H{1A03d!BO$`}P$cB}j2Y}9eVt0R zRcF9rgxCSSo>{EbxOR&uJDir=^KQ>?IH%7Un>gY4a8?&3?HHE8h(m|3ne%El8ymsV zf`D6C{C=b2t(NznOa}pE8Tg zx@QUV(@Nqo5>k=q$LT$hmQF(MwzQarX`z*V;~j~@D>(6ykYZ;`TXoRqp;$^N*6VD5 zS6zilug)zw#d=Kv8m~id_yL80&C5xE$V>@q`%Lgw9ec(6o&H)Kprte^Pz~aL$Ny^l z))k=9R4_r4GAB1*e8!rD2`%9jHOlC@`O1p-bB^cvfWpLvfqoSsH2z>qoH!BT?Vx%7 zZX&45VY({}V z2M%o#XgG(WEX~P8=m|fmO6)5RDB$DZ-hjn{tm3+$nOK0x)J@IZviiWLiU$xrb1E!i zOZCT+#yPaWzD#H>D>t8ws0W25Rf-iNzXl4*;UVsmQ+>r^=>(U=C>ZA5o%T`e{3xNR zL|tP6;bwA7h-EB+93jo;ovnCi3Y;Veo+}{}AvcQM;6gxivvR6Khv}AL{EC8r5jG%2 zt{J;ay$IW-w*YaKWOXKKp57@?iS+p)C1R^$jcE?3mEjqV1o$+e_7<5nusz@aLf8Q5 z$dM<^lInWf+?+aKrX5SvL2AOmN&fSb7mUhQ@HF*1U8hhEwemD9R&+KtrFW-&revtg zYU?s9f#jDzipmF!6rCv&&ROi@ukEHvrW3ICF0B>nk~)CEA)lvaDk=mrYLUv^>|h9h zy#P(PR;MY+6x2B&e;&4fdz!JcCcTohSiU7L~;b5FJ zbS3(5oRGnuc#4RFobm@{pcj}b07P1*!yt~mIj&I7jPKJoKq@yl5K>G5IY>Jq5)raV z8`$KHJ6>sRQTCr9drNMdr?u$_}<>s#WW`Mn|maHNfkC_7)Vt5dl z6%PFB0*t`%+X1`^QAmcHN-!|&{$iF|ZPA&_os!>8Qv`lWCHhbnxhbijs8A$$yCv+L ztT6@VAR!t{*AnqiH<7OCD0%?KPEMeR46+~;-W89Okn`}?N}+&5&i~zS zKC6UJKd)Ymm5kGzXUJC7tIm#yy8jLskw%4RRM}fVM~z{|XLpT?<=3D<^$Q4^*C_!j zo=7{SAM954CjR=}Sh>@xyV6)eDT^SEszOb)zGlt2dDCn9C+8}%O)oF21zfLGZSftD zyxGAgP|5qFi6LAt79p6_H_Nm4L=!Z{5TS9od%`mDVD@#$Z?g31k|@}`Rv9_=`Ua3( zgp07o@}X{)0MrFUL)UV|khW}2onn(kgOgJG;C)(F1Rf2r1~uvD_FUTeJuL0WkEyfor&R5Lh$1&Dj{(JW;Q1=w1oz6vGd6n5tb zfS&+Il-MN0HQ^v&F_Fjcx!j?N903e@#%ghpD6t@llCh^o5Eai@V;n2+0KWwz1hTsm z&okKVd_o|oYpsW_(*zjD%h(3V8kj#Me*{a!Obvl8Q{YqXJfl=NvVXqh*{N4>Xt9l@ zkud%sCIS{}2z-k1`1xcGxGPEYDgKF(PBuy!WTr0w2QmO*?&KiY_T4=}$V18DSRyCN zExi;K&bogV%Pl&*5d`JS#dTSnVuWXjGz|7b-yZd)Mg;m7eNEm<5{OibLMa%YO2R(e z)yBI{@9%HZwk`r9wPGa7hYWx?NG~vs4fWK&dqhQ$Mr6*@NV8b{!VLC2|8!p1BVUD4 zr)F^4ph=RoIE{~nnmUdlyPE8x>9gC4>_UI;dF=y=K@MegyML513}n)7YCXY;Y7WI9 zfvSw)hvqW#W%E0)bg0;IXH6In#C)Q1p~iBkG?cUfg?Qkz#qNH$K3>x~y;A(QP)(Yd z*aoKely#JaXB5lwVsPBDk4p8VCdQ}z&h%mNoiQOGjlwn>WAmKb;EF&?nMJWaDiw31 z<+6+mOhD!>4Pz7z%~Hlw5ML3c&xXkhyS^ZIG{KBx-9I)#qE4&M)bSr9@}BX~Vs#H4 zDntUcrU_bXH=A>_7r__O0Fb=T@R{!geF3zuDw@c47(q zF2$Kf_{KaHoP48{pR?$^kV}H;{AP1`1sV&H#$pmp8ty2qpLx4G zvBy$KXwLiLl@Z1nGrWpOC1}aY6>g|CMTg`kthrxAd$#tpwo)Vk)*WHv0gETLO~p*f z^y+nAF;knV;xBKgmO}-@3ogp7)`Ws;Mfb{SXV6PKP+=^AMbtg zWyirLZjSuDn7-|St09=3Q}4sM?4W1y?QA_>)&b*BO@5y<_l5+wo2>r2NkMo0u=a2L zcAI6WlBO%Jo9Tk`)2dsUmuBc~83izz?{XQ8bGvB%9ZS`-%x8;wp zhok4>DpQ+6Yrv$Rt*3V5FcPFDHbT^p8!cKtv6%XN(>3dtuwsU>%hFHl%n$erD?Z59 zHmX~pg5xh9sEjWlgLH1tQ2ns?u4>+gH?8%W?v--5U8`@WFWSgkzWx%ncr-j1?H}l8 z^#j&=aIZ74+tvGCxd}zz+xC#Lf9z*=pgPvhKER~Yu9ILjy+=oTwQ_7-OL9B$q`mb* zTFIM`e<*WnCpGNLREN01h4)>AoAvQ;;;vQSy0*t3zWMq-@%@@|-sOEmx{&ig1vxM> zw;1;}su;XuKv_r|B6cK@^T^}K)Z;E9O1<<~>Yu%5PfyH3BNvw1nu1zc@BbzRjQj)z zEBZFK>ta4)Ie*C!C`Ypd54qtjg@bb#NtlJ<=?+dzifmjpZu_y51<9hCxtX{ z)kcNK9CcLVRSvSOcox8xLbg)5(*n8!9OZh&`#)ke+$(M2e}#g9p!HQjy5K!?&+v>+ z;abKrTssIGv-joC`m}P+$5#36zWX+K6t*(_~h8$38`sH zB;i+hzTR?PZM4q0!%f$0yKs8bk1G8CFYcYt*7dBrs~~0VTjylkcd4t~yy;T>T;Joj z97DA{mh?Yr(zwk3%{e*XTi zgLad@%)h~qXZH2)%OkxxAK1N`NyqLGXF#M%O0b~elg@A4?P833OgiCzf2z+NzYEyx z@>=Qnv&t(e>ay_Q*LWELcY3nD+}9j$?Hu-k@)h+j_vOP~tt2ZA@;>g5S}2y*N4Cm^ zFJ$Gyo+nXGSGx1N39eG_RZilg>Uj3H zF9hjuds_Z5X*QPL%2+Ge$W@=$ca>y*&Q!%=A(N~>b{#w4Nz|?uv_mgVuJT-t2^Z@m zg$LGrl}#j8BTHte)O9Zu_wH6s1Bc4cm`*x{bO=8U+gr&DxR~^)*y;!%rK~@+&hoCw zz1}*mwY;RZ9-Yd0#22>yP3p=^%m#1gpu4jLMv90_UNweSPU0~7m{XBf#@n@D1Z+c4Gz%8Bu{#kN5vl3z~JSCX;K!@gDQKIB8&Y#%pS{K*lw##gei_vQ@}px{1= zH4@9`+kfMphDmjhTpKuMkUIFFGiabtYW;||MO8q`ESAz(gp>9^fTg>VcGTTq-TJ{5 zb$IBHe-qOC7qln84DnuS*!?U-QyB3~!>AFSmw7*(TK8b%m)(!OziP|x&IL*C{qdp1 z|65$kAIEJ+tw8_Q8;gBsL{G5B+YX+!>2TH$>z1}wess^CTO9*$EkNl2wiBX@5wm)) zGb*>*QDf7jM|9t>D^L;O zo_QaFSHjZevt@|s)NE+|zLM=7&#qK;?ng$?Omd4%cg2rpoMpMYug|x|n`(%`eNU}| z&6>+Sjs!zacr1W6+W?B~b>f6pvYhOGd;p79wp92wnnXpxrLNTsM=O{{WS8|BF*ox& z#&ZoO&?sM)BoN?=si5XUeQLwKTwUk(b-2hP8?=g?9+9x@dRd8wnWmhDH??gmyN1Q? z$vYMT7jzUELI+cz64@PzVxx++Bfb)rijS2ztt2*(U3GT2qCFin1|+X#s|!X?5@9dR zdLe2SKJ*FUs72^~Nt8{60Q>@i^ zh>=Q@4fBcCso50W!@)A^#vE}~?^TvhiCm}=wOdRBlWJs}=A_g0gI>@sVt8?nzBcnSHr3x?dvMS|E_(;yf5?Or+C)(Tx|WY^RL9qBG99e)9aX#LPHNSKh>svk6q`Ol8g*l4MYe zS6f`W@<^c@34ic-%zis=u6Nqr+j|FL$N(+mK6sp?p~Y%Q*Hw~yIXVnlWWy?7Q#y3J z4p)R?SK%D|4%6dUEo_1~sMX9dY1zL#XJ%h8M>&91!Ns%Q`OsV}4g61OiILx*NdUn{!j%Lu7i6=w-v;5<9h?xbfs*3sSC` zGpzu($JJO=Mp=i)?{-Gsws-}M=V@3L8b@py(e(6mG$O$)iW01l?(%#qCn~4dlu3sI z7!5epqTS5&$94aw&uHOBJ2=jz66rknWFFw=!eDq^BPdsRzLu1|Bxfhgd#6yLd{NwA zX=^zJ3tPd5@7-Zs&7|pQf&me|g_<#u_0i2jD1@xbS}5iKXW_}>45SxnNME)WR>G^c zN6LOOWO$=z0>aCNh#62YvId#`6E&byY90W&*6lSGTXDgC;bu^`&+ZXNO^@v?aCr)H z=-XZL2Q(|FGUQ2}PN9JVWE)gSw;2Z{oXRah*9uZ{l0BPj@_ynDUZwI`#e)!$2Aqhh#!yUKoQ?ySt3MskGtS&b0gJdG-3nW&9S&Fe2+FL?3Vw>s%D zI~QoWl5-1FQIR|oKL(8_p=L}w7Ea7{WXZ~SvAD`{WcnGhHq#W5IGVqCEOyt$l$GjrC<{nr_ zPrXRweQx{0=qtdgN>Z1CwS{gczsGaGBP)O9ohX`4&Z)!xGvMr&*JSBD?;)M3P2lBK z0M+1W>ul+9omsJ`^^P57IEr-cX_tbUSqT2o5-8s;K;tpRbH<4e}O49tLtg-d) zl(=iv3AGO{%^7&4X20fk1O0*d%A}c!=NrHf;Ywhirv!!ul1ODjxizu^p)X0t^a|8a z8L}WQwN<)Jq(5ribZsf9R&@v2*pU75WMM}`Ia!JHLnp0RE1Zyl2iY19D*QnMRh*Ha zB8kn+TYT7zhK(gQJ?RR$u`03q!_nf2q$pSiMIF`R?Bz+=znA0Yz`3tsvhKeoVm%OG zWI5g-Q=EjR;?B!c&fD!u340`1qS_S5M5KjKlDrSS)645h>0ZN({K7#1@L4Sp$ za+L8C5LiktTv7XHCN@D_N?OK|@R1%2mhy7Z&&byIV)FMx!`KgifXCM2+J!)-zm=EC zT?3_&cTGBE730P81D*#&%iBOLIP3dDw_ zNP1T7hQvDlX8-0hEcZ(Y37`{gQmlDZqcxpCv{OHbu+ZP<1DNy$UDANAJLbm3MI`KRjN0#bCTLv)SsE;9Qxjf zA1kxY4;zZu!Uxko5WRM!Nn@&RiN~$08kYWMD2D0how>eYSAuYG#WVb$k5z8Ph7y1Gf@?TZw9t?H6 zez7fA$76mtZpD4w6rqXd$QK zJ}0q>m=s~?LFcZgN%P>+&^uNZAxEe~DY>}uW=q;K z;;dp)MH?t9N$Sk8hb{1tm5GROdY{R3C=JCdIvFc~DSrm3(`yfmx8M)hEYQ?&HS>^l z-B)gUja~~Ges!Tz!PNq-m@Fa8MW?Vo=%N0$e&Y|j{DR?KmEq1uJI$=}XwaHpP?{f- zewY~#wzb1oO$@*K*9P?mT4rm;)JiM}*_607fjG!-*MW!COfKeD%c6}1Ia_B%nn5ik zbiC`jVoUN#5kX%iu6Z%V18yL+^$zzC4M#f{WQlSiwuj~N%IpAfELQHLy_eaQT?WL9 zeu7yT=7y~=tED#FKO7V`7ogR; zS-0#qs)-1)qrm#DpDR8o{EVt z5t%M9+QIHhX3B!x6p0i%)Dn|*k$~x-3&)LQf&;>aA~T!*>PJS$(EMy zA@+(jF_)*F5E85a6wzE~p%rW9=nafJgnW~(skQSJe$!1oar79d!B5NVYaI-^Qv+VVefI4slcq(NgeoaE(e1p;ocXr)M|BI4 z*-SK*8E%67mr?90U0?Ui5S8Q}(CNE?bw~q*PV}MW9jRGNj6APdk9ZcnWeZcYs@-4K zVIuXqF5KZo@e#Rvl{g?IdWYOa21G|7pi`Vowo*n^c7iFtapIvvS)PyJv#93Eoto0+ z+#DAaGuSLrwThyiIFM$0z;2NyR-+G#11mNR_Zd;RHfQ7VNi_7cwZ8f|dnsGjvC5($CUzdU!n=^0~kGO9Q^DYcQBe3>ZYPy-UD0XrO!?I&)%z%^!uxDiMLaodo4>85o>{?hKy)?hc zFap-bEiDgxTzH$N8ed7}vxrkLx$n%EAx^kz;F=hZ8lKTrx@<`itmb4PFT(I#BE)}M zvI^=_l2x7rWSn^pU@}E8p8!I-+mt=9H-#lnJ#=}psV8xathx9M5*=IwIIph^=xbMf zQQD{2j9wX$I3$9%n7G_RQKiGKFt~O@f;C*9;H?}-ye7O7PGBRR6Z37NIi~-yF_k_@ zx0apC=8G>X6g}K@1QBr}x*%P7bpS$5_k^t9w`_0AvOLVz56f4;TbU6`jjhj5I?A%6 z?gfd^gD|-axxBAtU_Q#6g_>;ozCXB79A|}ESPmkZB!-3i3n7M-bQ1+pzH<6}X5kVj zrJCu7`BKW{=31R0X#pIHfn^i5<(S9Vz`IWFB1Ngt%vUdl!}a8suuVDyffOthEmST+ zscxC%8{Z*-EU-DaZ7mp#k@aEC-H)DXdk8mSBX354&?XJxr1BbSQ1!fD1l0i0P%ZSou zUn=3^0=C`lg(c^;qFCgRBUgJvv zjjIe{HD zZDv?o6|Yw{D3yDVhjwImg2g+=9B8H8q^8nQ+dI8H~h4b0aiGIwFY9b0slGky-JKPrI) z=dAGi7wp|rp+1|p_-cWdQAWi$d|7dxDOQ~Qoc4grCGUmK>`%RSPoG-{rzX@e!Rt4& zmIG?960i|pj9wWfm}eMxDa^lm=rL1% z+v~M>a#iCwVeYfYhedp$?;b_=zc{|v^X(U7ugk>C;~DPf@9TNHRzvKWOIH3iS_kIu zUi{@^wN3w44~3YO5BX`|Rx9*rUC`r~VSh!i)AK)j?7pY(zJ2h#QolU?`)&94<@Xz# zkKU~uzqq~o>+`}!x80xb-*>x9mjnK7AIgX7>fU=(`(^pX#$SP7JKPG%lV9IH^5|dN zJG-9!?M3g4K)ID~n)7B#y{9GLO$)SoKKzpKbMA<6>OOuq(xKAx_e`#3#mer>&$omY zvU_#6@9omg{olVxJ%YRQEpDaeX2&IWB5v$#bM%?oR@fc`EQ=ZR><=~VwrL{G={sQ0S@x15~*Iz_)<3M}|N zZR{WTuKZ5VACc$eu9)TR)&97<6i**W*o4r-JEDKUB@r(6`eDcXQxYa;T5*4_KYwxm zX@$woB{d<-<<5qCqe3$$<!UNt0tiHPe zlI@c_s%=c-!xt&P{QP|H_&WY;NyLX`=YFe4kURG)@7#}_ztlv-ygt_`K6~-yE~e*Mq-BM*YPOQS#UJWpAQGW)f> zH?4`L`cXtS^N^bj41~b`&3b#^=@~%nK%bk0qQ)^xsuGm1z97usm@t z>YuIJ?=NkQ=`@pAPGf7i3c z54LaBO=#@ffV=z)cCr`{S`XwXu+(Di9K+u?_imx@k>W!13{|x$s@493804HiRX(fM zhOa`2dDbRILLgI&<^Eo%Q$W+@NKe|CyHZg6ZO`C?=%XjbR4z4`+ zk6%8}c(uE`Yv28^?t}iyGwwR9eZV*i!Ns2?a_ngnN4b_qv9jd9AFpk%Xqfq|lo-tV zpPZkFr>_N1jUJR)85G#DS}2Jah<_bl2q_wJy4v0H;e<5zxp=K}nVv{uJf7gbDJfk0 z!1sq@@C<#?OwZY;U*_F+U)}7zV@(R^|7v9RGr1SH@#l_y-uuyy<9P;=g7$(QXm_JM zwe>FoOIPcuQT59%-*?ZwoAJ25cKbAc#(y;?^DF-}d*sB~=aIds?(V+53wue_Bp%z` z!QLNdkH5TQZwk9#ze8?ul3?R%(5PP#+&|K~8Qw(x(sTZjb-~pj>RHI`huC{*fcfx??AVMGc9-QI%lW0;=7|SgcTdL-&EK*6+%5n6>|0qu z=yA`*(faUf8%4jfK7K3knVWr+2@QrBFMgOiWFF;P)F-TiBYd#vyWw}l-wxskvU zd;Iv_3L&NSndn%-?*W0=YmQj^?7kWz_hR4txU~Ag`|r}*vs=L{E}LyJGNFE3_o7pN zvGYz;x&+*EjgBvX%Cg1TRtVg6+Wj6DR{msOZmQsV|44A|)(3mqV^^fTpG2M?^UwyL@ST1eoI)oM9AW8Aw(qM>y!gqv~#e`@R-J@oDJ zwQ*i4Q5lAx5EtK9Re(WX)7xK4_;R)TUY*n&YCT(t+3lNnvuEr*^nE3C^)%s55a(@5 z|NPfr*FARo?2Yfvu$^Loo`-oTP&qBza{Y1CO~;k){{XWmYUIGM3d*nRfq$FGhb=n+ z-!%gYnxEC(d9gdwTUNVw^XBf~ijLbY^%qA1>12HS0($ybK3Fb)KmIb(>}>mGAUgPG zLF0+H<#xaBn;pM}#`mGH)4r-Bwi2p}-SJd@F~8htu8;?G3?|I zZf3`!_&zh}b;`;7Cb$a$Z3j6_IKD=JlNqyQWxhYibvrLPUFmijIMyVlAtkFWR+Q+b zmoClg`3N>EDmF@!c|rW^pe{Dq_cD*iN*L>ry#5fFLCzDLkAhgXXXnsa%i0`xwNH zV#t@Uq9xN9@G#Bm+iBsY1#z395I7SgytG5`au?sq5n|z(wb$3mH35&dGslZRt{t_mu$Zd#tCQh_*_=CY zrb!apRV!0zXv2`G#wOEM*c!rA2JnP<#cn1HLr$D?A>|38s`?`3m%)rMkpA4P+GA8W z2fhyJ>6*2J1$q8dx55;IuBZP~%K+6cRJwL6PbgR_jjoroh2i6=-Ok14HHhkPaZrnasE0ar!j%4m%G6r>;*BBMxT@s^LC1sJ#Q^HPMbj&xlZ zrT|4VmrvYe;$XoS7(tC_X2IOqu%V4?ik_U3xC#6G^^~hfd3uXQ4?b+=zfn+_wJ{vEBVr-Dlu?fa9WQhKr=HoX7Y+0B+^kYJ~2NOAd-4v#DX6aH7!nczEaUGvH3A>2 ziOuT}a@FtOvum8!Q=__+QGgPL!NlaZ_7Ky{NVpB+DGq_Q>ijnnlwhfk6|`2$7EW>G z3m*d6sLItjK4ySKqwmi#0OwB%?8xFi-ZlDaH03_4qsQFINk-rS&f-#H2B78cAG6Ms zKQ$n&E2$Bp#7)QT*fWrD(J7GUxMB63vE8r^`C;QE22|*KdyX3dMx+YdePasd5kII3u(_Z z0m|>~*i^EFv?&xqQk!$ulj-~;N#;$=CJ@U~4ud#R0Kpj%kQJAv7PTtx#Y&hTg1*)Q zA?8DRpj4bheOfVv8#3dp`*0nu@FN@rpIApP*0^gLM=%uy?w7$aR(dvo;xus`vsf*3 zL}w()U1@oQ)v9e*b$!}d`vq<-Oz$9>yF^acHxWRIwrj&)L$a}{>6;It4fp~Dohk6v zJo*g5CY|U(b@kx(*K!7m!$=4meIE6jI?0^#CxhKG!Qk)5Jx*BIc8A%z4(IU#s7U}R2>};jO zJBLqY#Q7AF5lpmFFTSYI@t8D+G{~zuOOeOv$lCCy1!}2?bFE<&uzfQijGHir zPGD@9pS3G0UI${TIaK*@`=Y`HsY9R_7DtwKXo38w)(Vb|L^?LS*KAFf_SiTHtso(< zIOK8y%<|P5Wkcs#txPu8dSl6e4HF5(1Ohp!5gf&vpE~h#uxQQ!v{i&K-#$2`fvm(Xx1OPpGj(2W zX14{%L4Z~CoW6&(0ySDP=U;xYNYs1M7Ur& z?%?x0PoG7({O`1PN+~0U0mlFpIw`C>Bjlr$QT|t7-J{nuF5yqVhy=2*K>s72JWknuPcYjp{5ZP(3sPF^ndh(!=i!{B&g2^;UPZoK@ z%c^R|gJtMtvlTsQ;5tZHN4b7Zt?_NOib?~>C&PHaCUpRK^Y&?ntgZVt8X+!4J`x4$ z6^1<@<=&i9{gVbx4vpK&0O$7-ycaT!8&bt%562RIP%Pfwp#A>OnNZ_O*935Hd!Znk zT*w$)l-zp#E0JmG<^w`9<}uwkto3&33mWIRv}b@h61MsbKySNa7xFaK)Ns7(bC}Sa zYK7;_+{}6lu4%;3`gzVwgzx&l$Q*CZ6;YolYc-=ZD{U8aA<7Fg5*@U%`;q(kvt=fV zvS3vrLuppXKxpo|!V)W4tY;<@?HefF;1GctUi30$!DgEw+`F2pC(7y6I%Z5xt#rL@ z!F4I3OQ5p4P;$noCTWfkKO0&lQ!y>i#NQH5NP$~?g@DbiU|VVid_qcd4(Q~0TsMy% zhv1DRRppw}wilM}c|GJevghN`QbJalLGKKUX+;Q>^{-^`M5X^zWVlGSh!>+BUHz6k z2)ZYuB&5p99cgVwZZbM7rn_fb8jM_6iA$v>rSjn#v)N4kkTiKm`5Qk4KK&OY0f>9gO|N>#nw&Z1o9It!;(3^`Y{QRuG4-AJ%4P!1m6Q-VFuZ z^}3I;f{P|dOeu(qxg+SihE zEEj{Q&C?jZtw6gv;l3B`PcLS^%f00tv-sJ&w}Y(a^5(nT^Z8p|yY2O_Vn%+!a2dl1 z89m)icYAs~mD`j1tW|2CJTSQ`bgAs`%x<6Pd-Gt8hb#O1f&8Iw-@Wdm8JwTI?f=@{ zcPo-zY(+i){YO$@z@=w`J9E`VvrUQ)8~f}*VOLy)$bq|0by})4Uk)8;MISF+J9%WX z64Cii@@6}S@STN-KErdW-tYEaFQ^pE`vynw^8>npdvE#z;EoJNCI|`?d9?EO?lbR{ zmt)69dydnhVjWqZe(}d#SlE-^eR<`Di|7{bNq&Y0}@RA!LIG-Qi0zLB7oB zx+R$>S$cdcHnihrNSAN#rf&4h(A{pjz#o~*caY;c;qM;0?ExV- zZ+Le%9eHk?{}|zv9}$JR)W71p`~AYZmEG`_WqupuJ1T4qJ5Ft{JouLcq~`eg*~g`K z?{t3^&=T=nni2csy;9@lp4E?S zMqMt}e%?R!F9f_-uUx*qksBQA?OVJ%W1895lUYJkdh8-oC2$@kixCjBFaDC+KR0D( z>OcAXyJzUliSF-#5qr`5)t=<>5w}&DHS;MiMQ3EbB1Fa8#_@`07B26yCcSezsg?D_0k7t=jkjFU@BT#;t~0i-vp z%Pam)WiL@#g6|%Ox)k*q%l3MO|Gb=4$7m7}V!Qrm$+~O>cU%4%_U5JIOC?-_<@fMU z+Duo112>bcx03_Z-mkD?W2#JUn)et=jc@$+9-jWUDDh*d$7#2vuVBpdsIq$xj9T>% zs*xAhz+HvRwJG?WFS9?pRB``{PwR$8#k~v5-<`uQG+*HF&Q@~i?hag4OIS6|VF`C@ zG%;U~AJ39KtH^p!G2Ma|M11d2T=9HPPx;V8?J)w}Of) z_b%NDx!{j2;4TtQee(H!16v=i5+ow}d;P5!*PvMUN)K4#uX0mx%*fZjcM7<(@73;| zA8h`j_q5IQ;UN|A&QzgpKKg!!4`N4ub$5PorR#wC;ibm^fL`GuWTsCy6Gv5S&4xs8 z2h#ii(-dIh#k94z>TJ{Avo|tk2OFQdAtP74_=q#8n?&#cO2z*@cYfSiVw@2jBUTYU z64=AD_<1kzLSGN}h3&)Lq$DSk8Q9{XU7JV3My5=ZE%u4cXmi92_m@?kKX-Oc+?H?3 z0^L}lU)-Ja+75z_<-J}0S0u05jkPxq3hHUkiDA&PCW{{uc0vE-FLW? z*yQ3p>A4c472ZqbKb|10-t%jo2nax(ykg>6;h1}x2=hMPJJMg?X)voBSc^1W+&f;~ z?GBDua|-QkTXX8>ksHh%1LwbUo?&ja$K(Q@&KcP&DG8dArG|Du0=zbkQm zwS0Z$Q-ABXw6+zG&EA)0`+F<=_W~l`fA0Ew?W@qYx1H*LTk+kCOBT|Z$e(4Gs*ld= zI+dia+_9+bzwX5j+7Wy)7ZzaceL6Kgyx%ABSFrQ%rQ^T5A3Aa7UD4Ms4c=7cmvPV8 zGqYL#)b}E`OO13?;`G%n;@9QO{O!qiJ#L%#>`{I&$i~cJOhHFS%-yb=ebpUH>*Xao zg8d6eiE7 zXDLVb^JV!XW5cb!o1q!yjJFz|bvfAX&5p@_i})LMc>JZ?b`=3WtCn^sx)rJEHA%joj9w@Jx3ED5OR9M%R^NFw=Jq;P;i@2NoCNVyWM5BVvlG6R znAy}gg>@y(NiuPd8#t&MlnQV5;!?nhAg|1&HQ2{|F1mnBjqcvTW(IGa0YVh!6EIv` z$|Qrcyn0uSnX?{;-ugrbsX&&ZNfs(A^g~s)T_T31B=xRS)Lp~%^*9f);UEE$9ymt0 zW|q0FaAJs678eKjswr!8i5L4tS&Z_zJS7T`R_mJGezje6in4l0Z-d%{_+>i}CljT> z9Y5ueZe}5!^i^Tx0Lw*h^JztAI*2^_oYgRRlppsel^gSiAa3EA-(koAQbcp$h31i- zV6%!PP78YU?->&meQo22G(=KC3k9*0XBiH}qPbHG(=$e3Hk85H;$NvDV?=x_l;Nic zf(!qXBU>oX4gIl7St)xfgDh1FdO#5!Va~+Dpp_JM2ywsI*p>A z5kLboPa4P+x7^1%eslyVGW&%K7&%qY5~KwgnSE{B74d|UfNE1BpK*=U5Hk*iuddiS z@D*-z$b(AZT^~VGVIs~QibV5mj%>x~HvbH{lFPG>nIwzs8j_vKtKvnef1#r#emvm< z5g8pkq$wP59;F{0iY|5gz&jQ+#vaUV&@Snz&DjX~Y-Kdc`Xg|pBPQ_TD^E`y(kHt)SiyfFo1r`G zDLnjX3iH-_Fcej$rVmweJRI`VYc81-5&tmXwh`Do{?hhWr+-jXA`cB}33OJhr_Ixc z+KO0G(K`onW~FvNe@)`0+^iYp>D9?U7-w5{@eEI3p5;yS8yFzagGu|*C;jY35U40izKV|c+O?Cv8=@$!E3@`41ro2 z6g@z47(b5x1vw|$g#8g14^rhQXONNfXwocT<&jAfBeYymd&AwdBils_8 z#)Cv8W#nts-$Uh>a#VsQ+5!ntZT0BXAqLH|aIc_huf!8Se@WMir~yO^7DlETqN zT7se#cR27+E(-uJv97@I0AvkB#Vuf=()bA{Bo)WYgbbqVaaf`9 z>ohJ|RA-AS;B)`DegdCMFM=;X;jk|05xw}Ut;DoeMI zcCz8DDQ0j1#qp)ZaVc>mqx!K=1*mDMh(OP+NiSawb`y3cK#tt0*d&@ys`=wc=jRE> zPB89(mpOwvJ9mP~eI3Tahu!Tf+2uAuwnz|w7hfT%N>`XSGsH>;P28gEjb{OmdoU5P zN+<-LLag(NB(az0HJBSB2jwm z*p9eN#`hzPxXLCj6Q%j6E)b9AFd~;8HerL7l9pjZ z=#1e(8M)}9Dj=&uz}7lY9BzLBIo7YR`4c?I!@^Cc2;(Rvl-xyqh23R_Gui$$xerx5 zC(OxPUf5?h<^JMO&<$BRGMZ{rk*na_hcQBM6UhWFiqV#Zz$O)e2^s zZd>@CQGEleDRSpn;ZMn&BY0@V=d|voJP*6%rBhUul?nYUZ&qm`6;6|Tt%&Fe8FW8B z)dG;tW%e-7hs6{#XavbQ(%T)vX^{fdh28@qn+=%#0bNBF=aA_GS~f313}8O1tAq^5 z>yUh)UrgPHxRW0b(*khk;y&2gk3*~-NtG<=CL9_-=;dpkgZj2G-&W-XNjt_u9*(X0 zH7GBXh7WBXPJi^b zIx>tV^J@QsAZfJ*)svNq%-U3CFDgO{#_+UxAIa0wak0SCHqT4kuG059V%YvAYlq5b zt0*Tx$xnCyA#GDgU#XBW0{xoQlqd(WVOYNqj=*wka#ob4CewCV^NgWRtiM^j?$=zte+ys{AKD~UO6V;Ems!>3>5|+eCr~>%Yf8V@ zPJxJby3(qC@(U2{902UE{X4^6MKqDPPtXO1li))~Obj(_iJptSeVDoM*YaEsn0X8J zX1QCGL;%GYhp8tM0&bD4i59H^66H*cqN=$P!ysqWzD(e^<-A>ftn_2_>p~LW@{#Dv z{{Wbk%SW@IdEI$t0ZBI$4j=*~sKV^OAB~R+R4KuEk9^{HvL_D#rlKaHIUFK5FMvgX zd;}Gt2$t;`7V`Fn_45j)uzgbMOlKoie-5xt;4CEALxIBbLWYS9~RZJ`y>%}>y zZ_aald#)2-R8(#Sz46IFw~7l=s{bUPhmmr-5s-Jqp_zC5vI*y9&7@qE-;B_s4)Wl0 zMwu3@ia=?NzzLz1I7k32rQ4YRSTSlY4-y$2G&cc1VA57|lvKvV!)7B(H#qOor3nC^ z(jvXm5SX?Jyu6JW%6-VF4U*67n$b3AG~y%4G@8x_Z>2*)5QA8Waa>(F$yY%c8F)FK zB5Y`|nQDKvce{GvT4Vi#-LOa=wI|P*j&P!L= zMz-#YO8u-|@JyS-HEvoP*)abLRv*Kl)7;GK47wmwe2J+NhhvY{(-+JEfu0+Zns>eE zqqa#{MzwHCaU}C1*i=oul4KUD6Afti=Yz;x7akr7$-zLSBiOGdCZ2|%9btN07=oVB zT!ArP86fA~>MfERz1lB0Y;d{-!Ke zJkv-oOh^FEsVX3Np1qhURh|`B8JDR1rjx!DkzVT%C+pT86&>^&&pJgquSh8xp|qqC#qpS}`3;N2wZ%XAG6r&#fw6Nh!8GF9ylF2mWm=Q_Fla?34e zJrh!gEV%%>YsvSNWi=%LF3uf!b-nN^X;Dd9Qwa{jMUhbed+~Xs)nNfqmd#;>VSO)V zJYN>A+t$=e>&UuQ5U4}*(a~$Wg-q+rq+T}Szgw9o4JvX6yM;ZL7=*RIOy-*vG+1il ztkGt)si>p*&SM2sA*7HL&c7*CdwS*_%ku=@ZBa9LLU$GKXAx~3Z6cPDTs$)aATWK> z*==2*dPN^!>+`V!C|;E}ct%{4Bx0Z)Qo*gMx}LIwSdEoB|vxG6+{-X!J{=w&YSrn&HjtnlB zTKW+`nYvvL?7>(K7)Xr}Dm@te8!9mb)93fMkg01ysJFv-oVS%Z66gKkI5O8Hy@RGD z`m;j|G!FAMnO;q$vZ~r-63d~8{=Ecnb+0uDIxvKg7jOzx0gys248#jf+>T7~o<(F|%gVeOeZs$P;vF;eagyhKx6`z@87T4yonjCGo$~ z*D}tNA=9C3^p&_;We$}#)AGu{zs}#CUJu~z6ufzvQ0?jpk{_+PayYUOY9yVeKB^Tu z6BAl~Ok-n2-!^;y%c=c#K*7^@{R6koaqJd&-$_?dNH4w9r<_XP>_pr;des-<2KrymMO7{C>xO&-?sj zXxYMU?T2^gKest0MZCZ9>$GadMIyLoU1jM)6s~}|qm7SEa3baSx32$5baX~k<}(?| zPm%Y_&0YV765k&Gy1C!~qV36(zQ=3bPJuF>x5DrKa!Ota2#AU>_;@rp6`t9}mnQc3 z60OQTv%kxx>3V(V7;9%|ysZVTph?;XJtA|h963F;-2UF4ub{>K~lN|1q1{fGaQo?Pj>~dI;pcq6@)fiB+dOg!U^JWHYs2AW(!~U$aXntn1(dJt9Xh{XDD)1M z|NHu{^&w+;cUNbPOR$ee)>n8}Xc%YCCvVFaFSmaQ+y_m18J=8=Te*u*2Y5`HuD;tm zjSHE#_DDxeikcAsqR(M|1uq?c{RaeJ{Hs!R{k@u9?ZW+O=2m=dV`lSb{$X(N?bGbh zYe~kzM4Y|+qW1i&6O9FM2?$p)h<3isK6#GY*?mED&r?ojW3^-b?U8h-ihu}f^S2fI zRyVRju^7)oeP^EUY1#NWr^5rzf*2=-mq@bP!{^^5F880TH`XI3#7U;lwq-P`3NX~A zb$a)+za48`o%c@+IS`pbReYGJZ>0mL2~%LCj4eg#M^> zf2dlxqyA&w(J^@heHfhi@Okd8ampaitd)`P=%^zchZb!;d26CT93@Y;R4F5GtvY{I zs2}Mzbl_2*$s&!sL&otlO;gB}6ueM}Hl@&|QjjXjm+w*0(m3_Rq`lHU!sRZn#=&BW zjhhwusY#791dvs$r_wR-LJSi0!*8w6a4Us}U3k6A;5^_dDY^>i#Zb31?T+aDyYm8N z47=5GH;Aac@XPF7YVgRm(yAbq3=X)N3|h{VByCi8$5|D;q!N}s?|;Q()E00$zi2*ssZ^S$Q(&2h_?KZf$ZPK3`*H$mCCU!NZ@kss9 z`f>e-=HExZqR8&vBa7vR>z7i~dGo5zU%k8d-7J^Mz2qJ2SbN@ZQEJjvkSAYA$LVgc zvI_44Ss89MOxYN^Yw)Jh-V!z)SfaYG0-TR}ij0o_$OSELtZp>Pt{PT$jmc-7WZ4S~ zv}B@(rQeEywKD!moL!kNYhB#@ono$_w<>I1_XzxOvYGzP!^16LRV}Z<-PN3W;<;fJ@Ope!rdg&PrXL?8*Lx{1HjR8& zFR9`(sbw{;{{zlG>HRdDel=I)_9g3ln_r?J;F{(t=;QV@>!$3S@uL&L0L&w9?_QdH zF2~l2{FghMEf9J0xHa%fZ7vN8h#f$E}HRw{YR@Q{zhp2Fg;rhy(w5 zcestoqGAj&p z1E}3!fQCNEzTcQ`^`TRE>|u{vQj^n?cl!s^nBreSmYSDgb+dQvpPJX*^PDPg9$#KFUwM4m zl3RN^z0yn5%?P|Yxg{n_ZWwbrsJ-3oXLff@A)Rax#Gynagg*TC*iD>z?V)qgeIMlh zu4?;Xy75)wtDLL51xvNdYtzl>o6u>QPD7ce{{ii7on$jqAL%#VbPP9(-DR2fgsv#p zhcUU^J8BFaId`;_sX*_{9K8!Qr-BnJ8(KrF`l58l8>Vt=rS`NlL$*N z^PC!%`nzMs&1)vhpEA1ZE4?9l8Pkf_+3!AxtQ9g`dFc0K6-fLgF}oo?y%PT|xVqaH zfXmQf;Xg9FySaV)D68Sm^X^YwrLX)t-p8!3W~FUqgxJN9RU0vxgmB*C|6cXLM9g_D zN}a2&9!O$7Jp6TS^e8_dTC&3$;4WK4Cq!{U8&&CwL<90%+4@8gXZMpu zi$mj%ek%WhX4uD-tNOgGWIc(yqm`nY0~t&AwnNh<1BRaK@3)p~8`Fm}vR9kmvRexj z`^S^q!n;>D#I49YT>n(73C-?oafI$D>&!8g&Uv|u{+zR{`6% zk|wfP`$@8}kX~a3Cx&p)Xy(&5nAg$PxH+@&@pH)b=Et#Xsz%#3$tRs{YlW>o&%3sZ zZ6}Wx51vLS9LW1tGaJ+W6gmvsx@xMrI~g=n` z`u{l~oCu%!p~=umtt`kz0TwNm-Vuk5k#d>*e1rqbE1}4)Z081JeGVUc8%=G;i}=aI zv@lu%CZzo=UV}J>L~hLxo(AJS`%YI_r!4Y0QT0qD zzv-;kmY--xI2VC&UOF5}A+#^YA`LGOSET+!-xBc-7M{xl#ZsuXoxovs_#hj`xfj`; zDU4B;9MVT7S0kKonYY-s6R^+wezu7e*z4sE=#9Wq*qk}=!yyh%k_0~@W5xSmKIgaG zl;dr;^j73<62U?jH9UkwHc@+2xpZ_1!Xw{WW{50Et&u`<+2+zIMim03A2~pg+KNUj zpuf#!ZJe<`31D{W-1AuWvKHOLLWos&KxkUmgw2#_$%K!!$5ZW0h;N@FzpU{eKLrN?0+(;|szCcH@YW$zkb|u;Mt3 z7%_j|(4j}{@m_gkdH6HMc)9|7_7e4IU?>+#2o2BEP6@@u;6>d8cA9OXD8v$e;x&XB zO91<+xlXWz@Dd6=4x(3*10W;Jfe=P2hVd+&E7+<3qZP)QO&Q0=OV{BLNksvU5(S4s zgvyyLsHAYkejqR{IB@$Y6^spStdT-U$&-m_QDCx?dv7O2*YuQAB@Y^GB3@%90TMtS z5eGi55adS7oH>KjJZBs@6Uh!)*Y&fe%a2_XEa>v%x$M^pSOyGb7`wSqrKUBG~q^8l6eN5AY7fd`hDRfo(2s)<6 zWlb5@hnf*|3{IMFo5RF(HGz4!KD1S5kyi|o7wS0xCTP*es$Mj<1KnuA3E6QXto^8S zg;`iY;1ayQo?!WxqC6}gT@MOq8`Ed3Xh9|EGI*#nHbe9jF~Gq7y&gTWU!E@Ig9~Q` zqO)pBBGeSIX1#Go0pM*D!e|7KbxSI@4=b+5P@Nt#GZdkM;Ggw@1m3pES|KA4qzI~? z!)2#^AXfPor73vfY!0Tf#*BzcPSmtEZ)*5_s^+JG9H4?=plxA>+=gTx=b6@NA6B^( zzLXW9WIGDuaU3LsLU88^WGLi??Z_Z04pLjUXqDlHL&?|*seW?g-@3?tbme7bhO_XL zFgWu+V8=->n&<^6rPfv_jd!sHGZ|DT*^ShuyfxNUa0pJ_#pP@60^B%6`&i_2`7@G- z5@=~vUudA1_+rOYVgS7K>K74^%gUxiVOrZADrD6_dvfuQIUI!K*)*n85T5|YGEGsg zRTnzSRyfTaNEO0qhTcZarg$^Lup-fztmLp0Sdml_pH$X%ln6dORzoiBD93c0(=W*c zTIPtVQwMChohdRN3wz1zk(OxZq5cD^j8M3M8fgsA3NWvPQToix0oe8eYj0O=*7fnl z=ps1E6HaHXwz^DrBp;!RS9@Y06WsD}*4m-VVgBBa;Iuy-TP+U@du_xn9+Q(+vdcQP=w1PJ5J&p|^lsmfA5h>8ytNw zx2YxtsIt2REn>?gP#HN$%vgs6=)TcGNY$I!0=05WM(9W0f;?(sc;Qx0N|4hqtJs7W zOZcF@HGs=%Othw8hyn+BkZ^11N!++sS)~9SQDG6&iet*6@uBl2T zZNtr+qRqi%xkVSqE^^;)s{r`UcJ#T2_@-(awkTSJeii|Hf`$SD0~d_nnjruTo<&w; zQ3x&V<0X(^g4@-}XE*DkNk!;gRJQ;qHyeVE;IPSZa%&#fpe-8vaA7Qdk$YDTQ`bbM z;0evg$f1B)Eew~OBNWNvgLZkYcv%35md61g^PY}U(uKQs>R?Nu=#om;&}A&SJIz3K z@T{}R4hygPZb@nBO#z@Il4+L%RV>Du!Q(6`0I(uK(QMy22;~7KVX?km;6+LwL4*j9 zW`;_mBf7OP>=N?I^+p9xysp6f9#~rYR zNu5~m(2BS@Kfx5d zB7p8k%b~yj0a-jg<6y^2J9Tw=2d24Hh%$5%Xed?5uP#ZoK!X;N9)l>n7axRqV0prE z++blwJyvNkNApv9A+^QNJ&p%_laI-tCG2RtkoKydop?_l;l3Pki*lelw49eR1OP?* zI46Ea`KmgBtWJ*Qv1VJ{DL|c$Z93XJK>@X;EZ?@a!b24w)JFux6NZ80PIaiFiu*yF_wNBwyf=W(Q5$D_hyJ-Kh%ZJ3V4R=@8uWC66BTwHrG3=Nj>eCmY~SZ z?I+*s1Ll=G3ZI3R_2G%0p7jX}eBeRNnk3n1MvFo~;M6Q)&`?YOfggP#8#g5*3(_{X zK(CH5DKIf{Amt05=$rx@8vmA-kyd*ja!*Fr$*B$3hEvYlg!$5b{mSP>mBnHeC|hl_ zM=4N(!YPyEqHmE)V)^_>n&^=5gjzM?5i_r{j%n9}o*a*rzP~YKE)8p4+MPVkru z)Y@SSi)ris5So+5lPv2|;cqGAiHcysNtpztLcX`l@zI&4r}mY;PC4rpvC|atohrxo9)E?TK#~lgx5S9MOo(zu-fsg+=vnNcbN7AUX$Sq zM|s#7DJq@M+!6P*kL)H5f5b%7p9|?)O`{XczdVhS_wIW~QVz#LWbw4#$syB3WV|J)Y-v+S@n)aD z6e))XSShr>ID%n}A}SE0>!JLGT6Ip6)$6m}Q3enn$o@F;tzV!bK(S6K8fi%uVp z>Q7288h&b*(t9h{e!Ht30e{1;Jq}NP6E%!{7qsYgzdHPPbVXDD{V zEsT{Z#i+`_!~I>-!dh5QeYZo?M0xJHH}wW~%(snAzX*!*BZRE()hok?330xsCfyYeLd`3aD+0c) z^@qNvVk3|8<2zoPc(iujo$_~fmSvn9yIyO4*|<&>f3kYSH&tboZxvO>#pSW8Hn3Bz z!kz=h{E5x-6w}>2Je>^NZJX@d{13qYZL<4hmG{y4Yo{)n#Inwg)sT*p&TEbR>iNr{ zV(y{6AU!doCI=mgfHmpBjZeRyEDgu#xSsfX+`k;|=o-}APQ%1RPBOKRo@C&wVzJpQ z@G=Iu^tS!jXnQHAlk9C?+Vfao%bXhTiAI!Q%X|Fu=PC9u{JA>|`RXC5`W!v4%FH&n zrfpWsqB!bfNM{3O&%{Ayhs7>OO41N*N0Jq-n8a+anD74cPtbLD!K$`J!uL-aWQv~3 zU%F!j@%M^NI5+p?{lcmsm6GCh-Cvf|iJ#+hQJpoUd}R~5*2vB>{4!$mgY(|hdSYVC{B`E5Unf%^qyngQ>DPN3 z5W5p~jiMiCqpmK5TK9f)GBhq<;nNHngLl3;*qdd$*LU?iN2FLp*eD6{bQndI^A!tF zwk-VH`s;qW77~E7@{r;3`9P`8NSz6)GyN7R zP_eA`_J$xmwcm8LN9?ooVY^q_cJm`b|KW%Bj>VmA57ddUxvpF zUUwilB>#;sxgfQ$V!Xbsn9}6I`VC|xFWtj`lP+wbE)TCctC*Nmb$mT1q$8EiQhp=9{cElSXQ~)J;%E$> zNr%lISD0lBOwDGcdwB~UvWuYXW%LJ*#_aQ{SEo9yc;6x&7+wbX&FSc5RPd zcHLN|6Lda{2itu|Q4UKjeyisq5I27>eC-n1-Obp2!Q{Lm-`UZ;B=Bgwf&SX)BHYci zepIfA>hZAew8wEtciM3hxq~^A!}6NBZ;0UsLB;k}TQ3j$a)RL1#IehmWx7@NKVlp> z42FC4We1k=!tMF7TBEJkPv^chy=(IR@TI+Z&&_jHVDeba$kjdI!}f+{&u-UtM;Cs_ zn)^~{;^#lTg&#@?mOJhF*K9bps7BKd?)azf>lDn)%^tdnc$+Shl1r+JKCi&jv;N6Z zEEn5{&3-7mGIDVVTK$U|``|xa7dH$TU9Ec)!muBw-)f5{jy2=Fa!d{pA7401MypcNos8QAL{4coB^F2e%$NR*Gqk_uAEu71L zDn32yVOz0pdW&^`oiq+PP_M*-gnsb0WC`3B2OVW^gib9H9npUxKXX5c{_4EmrZ{(j zNd<6e~hc`dTO4a5B4~L=7OxsD>2pQ8lpA^KiYui5?{4Jg~)K!!N->=QQnw z8^Az$-^QH6S-4q+z<70mUj+FG#OM?zvDl+@Ke9v$RN>)F#Od0_R^w1bvxVm!oc1&1 zp;x7wX9*&#f<9Wf-X%!HPfQ>cXapqA_X*KI_<3{e!FDOaL!*2q?6*D(SqT>{^7ozkl> z$y7tthyF>-fY{U&rx0{tgjhX(0)YFBBzFhhPazqKluV8x1%Lln4a5n|z?7aPOcqa2 z82&1!Mh@)WB08TL^NIw9RaQVBpUSkYjpZ?aeCOLL%p^C@7W6`Tbi_-)$T$>)aYZjw zIQV{z%gRkrLEuhfSLf>rrQG#kb20-2(+iv>5-|-bdpj(W@WurjEK+D(d~%E}UFFTs zZ|4f#o-K!P+WMY;zRXkx^@6ij=Z}DB=bIXXGVED=wnMrca_+y)E7Q5R2wi6Nju!d1 zXmGgc6!dcBiPJ$TA9`v}7>cNmgb2w}T;z-@IM-T46J@IvqbSQA&xz*Ai3!?n#_*8* z7k!5sChzeh>2~EhDg(iTz^8(0L(UN^EUkTFWB*UAQ8DMIqNYTlF13YF?4s5rFEKj1 zkV*@)Ie->>S3i;k8}e9GYMCFo{pLx^Y&|-z0W!cPRGtiy_}cD4`S@#Pn&?ywloUzs z_wrfH{}ZZn%V`Wz}JoPMmn^teRR``tGCBYB{o5AAbO3k4V8}Cw` z>VUXp>mPt%ec@t%P%wf60-VR0#-?a-U3VNQ6IP42lysDHOywi^c3r8Rejwk&Id5My zNHM%R4MJsVEsZAflQ$06Rsd87!EE*MDXciptf3n{<+QK}H7cYHDlcL8*1Bo3PLPL% z6=B4N#b}7GpG&benT3B=Rc;b#pJuK7K>9Jc0^2wKGh3iz_^yWXY#sFxX~{cc6SRMI zq8R10Ko0paeZA-nnY-kZlU47LjYvT%IEG`(N(gSZzHTNz;=wMb7o$Ouf+r1C1_`5H z$1(2IY89ZZIC5}6a8OOI1WF|~nuaQ#Ef+Rtlmp17i(%bvzxGm&!b?=s#jgo3$AKst zo8m-yUn^(ADGPZ_6Rd9IsyR_fttJu@7(VCsuH#yK+jJ~0D-@23yojU~C_menO546_ z(l^C7W}dJ^4dy!@CSfHSpwxJ$qT8R+vCA)3T`e5yxf|zOoN~+O2RGE$PZ1%io_)t* zqZPw}ADn3Jjo<;m&Uh^9>R?5^3Ny-Va9vSrJ>_JS*kzek#H#4{ueKlS{N3T z%m=0G#|1SMjTm9^!@4A)kdMORc4}CEPi^q{bvoxH^II3zdh0I`)rbjUBtpGq;f)eb zCehMfq)tmXm)M#WhZr=|0UhCebMqK@(%(eM{2$OFKVJ{xf8gw^k(}eBAbF3A;MgzY zL>XvsGFQHZ;>k_ml0JZmu@sp2o*)ikdaPMlN85?do$F)<8FhPfGR8#aDJbhN%1H+4 z-ssHQE4UCUxTCOr!&%E~ibuK_)0o?y>)d78<%UDUUg@AgITECwInGz5>}^EjsldC_ z`7FMpstJ;$JDD?nY}6ibNTL!_8+L2h>@$Ib*6FoN&dp4b2h?BCkw5y=M@mjAK<5X1 z)~`>7Q(p{Hr{O}t*^gs~MVg6ci~j#WlYAg{K|T{l1lb11qQB%-#LUwHHLFQIg?=`cNjBa690*dc_p^9)qp%C z4Mrg<7Ryp7L_AA7ql*tx2eZMYkZ45`uKBVbQCK$L^w|yt=3RG@<&h~O(ct;8)Q5Hx z7HlMMMrOgj&ri?6p&&|ATjm0wCtbA_+9v`BNp6vnlC>WZmmvS8mLJT1<$zrd8)(w; zkEvoMa@P{cV@*16i>QB!5s;*L0umP)BJ`(5Nhvs!E)?JC`%2C~Rv0>w38dE|k7cY( z6=QLz#rxtN2h8j`+GXd*%BYkU{>=bWf&dpFQWZ_26IEys65cq4V*(o-b8n;#{D%RO z;NproLd@t1vgtxAkN{H3nU_NgbwK;bMJ30^NmTNoxkWVfE(6S=A-ynW<;{_2b8857 zeql{8Vr)kvQF3E#pc$gUdr^rQFe?-?E4oxFI%BqFWv9agr%Qoz3MBz(k{q;Xc;&MQ zPS!$r{%c5swIi5Zw8Wnt;2^iLF)&i^m+`z{Fx5ztS8$@EO!vhD$ST3d+S?la6xWb$FDhd8URB&qN(uJ(nDcSD`XWWIax=yG@>1 zJ5`}Ste?&{RvY1)QnJ+&!xG0i<=xUwWe8Sq)S-xyRGn&g)qGt2M|6={Ib9f8Ta&|7 z7%F7oBxxTd~?kDsklEb6)zKd~BCwX<3tjeSgn*;yQAA zKU?G)fYnoE5q2Cb_;d*|+)ICZadIdj31hGbY5B35;Rn?aZ2~B12^cyfKdC6vWb85@8`_+X^kPLsJDTF9cDFsHs0cCAZB{ylOs8x(d;#3wtb^udDoQ(BK zji(dYrN&&3)J>fPPLo*UqhhOd5mqRoY64mr*gpxww)Y@;+MtLy4$%csq4Py`qtQ_! z)fc$qq-YFGB7L8HpsoC+T{nNUcIwGW&H&>egd zpW`ICi&SHXz#e?mQLfpQ#aoWHJv3n(Gz-p~U8#mr>9yhvP_2N260F`4K*&P$e6 zOJ22yI|_X|l1Ymr37)071UozKyPWoM@zAL*+C|O+v0!3^^=J631#`Uu$Yj=`dyx_Y z0nuG3iEqlRE>BT+*b4kX3#ObVYvo0;5Gniq;{=>axs+loJPENvw$kE-@P z0YtE^x^wj0KHRo^#4a4O0j{^!wu6pE8p4VPXaFzbWo;@eQVoPibsux3NCRBqH-(b4 zK6+n&U?x)-A+kv1nHEDFgdiBFfkV}}OH*7}+7q4-Dy@Pum_Kubw#BlW}Y2^bH|R*qHJ7}Dl>+r&g!8K&$ifOM)iq;&4V)f30|QRcHp=_;h#Opzw||d zly#x#Lx7wUnD?Xvy(MQ;r2dQ)HU}ZpN3b8;NqpD-q(`A6r5t9(X;>!0x)(kQJYKq} z0l{7`K*(4kwM)r8@eDhnE0Q8OkyG+w5wDOQP=JNId*97nw9h$Fp&r@rinb4H0uqh( zy>-;ej7`|LPb>89!{&))k5Na}Hd6@|y^w+eI;`X1W zl5-2VwE|~~eac7{tznB8ihwFSZydKa~TVl1jR8t+X4uAQigJb+3;cZHOdB9mB3?|^IX0n+8G&7!CLj# z2*4v$&I9DrbB?X+_XcYqyy=t_Tp*O2ER`!nM-d9Sg4DlkXHhUJE*O>3n zaMX!(P2`BD#T2UWYtA^7L9kf6NH!5HtZ^_2xqQ`tPoGdfHl<)rq+Vr`LotjMh`F@u z15jV-h8;xFAktSDl9>riTd^NzSf`6q6O#Z)Q-fHHn|auf1fesVmtdbkRdZ0_PS@UQ z)yYXI_V*R#NEy5R;4n^x`$q<*@3RN+#oh0UjbXV3-}6#gDobozY6L+T8Wtsm2}Qv^ zE6=Vm0*?R31t5c$YU&BAlj52K@*lrDbJd&IIqB#@g4&g!&@$=AaED{zUShuMCJ);a zar8-(lT638Ue?vb`p2(({sl!F|GqYPg}#x=Sd7?<(eLfu3CLP`TpDG?D=|CYx%{Kd z=k}1Q-DR%`m)QMf^0mvR0QG-BE5r8hCGk~@v-_7H+k3x#3cMOlQt-3xXy9J^P_Y)m zzT$quvCr1iOKv4@?q+cPB=bD~m$cvQQP0k7UNrA+++kJwhww4~*B+;w?hxYp+Y_u*H7Qr1>ZA#+;MyJFIRUj zu0fb?=jiqRo#oyJwc+0Wr!AkV-eTAF=<7!-Pl<1T742ezh1IT4FxIldsrI$7ANFHr ztH)cexBMU9($VI1y~#R{q`j~Vyw@$-u5ESiz4tqBy^z~Ye)&5@yw>j<>SA>qq=!&rvv1^t=0(CRdx! z56rF_4?~L>eymw6U27?vSfqOVvUq>mT%;2jwz0P_u2s9eHjvxau@JjBGqk{>m?pGs z(9mw6w|aHvr$LxC`yaqR=wn8_wHx&4y&(Ijx!PI)Z)?EnruY)7L#$MxqK)Ws5>6vx8&D-Y0?OCvSQU zo5de3Xk8`kwg4U5S$AS@o-XR~CCsYnF`+^p-4gk!W^Q(_9@P;zu-*K)<-AD_m^1ug zauDLb_H(<}kTWyDzu@<^%9SLB)jW0GB|G89lybcK>;A;H4Ksy488JCI2{6}a5NPV` zbgqA++ijS0x4XRYAMjkEN@Z!K=CpP0A!Iu7Vd~e=ZBJ2J!-nX1a<+?U^zzjc%=un`gFx2@fI9*tUhc^JWUlopkcMBMeh_`tVBr zNhlx5uX7+t2LKqRcmZj zGzr9(o?+VLrdk6_>3ijlprOnqGo^PR!jrURm`ZGTsB`_z?$*m!ndsl?(cab6aqC)C zC3xTTtFTc?;F{C^*vMmig($#p*i^P?DV=ctlaFh3gvkb=CX6Ivw1kF6|NZ(O&?G}r z?{*RrxoYPA!B4Ms)ws^XoDX$he0F^v_8*|oYY{nrEc0~eBf%?$)I!0E`z%3|-nR8s zo9tiiZXfa&AEX#wjMKWz?cLbk-X497Te!mj1e5DmKZxrkR2GyS%4uB6rY}gnx|Lx+ za;y3_Iz#7q7#mtgRm_E>8c!bTb##*BqWn*m?VRSV+W0@Vl#X0#gYo>Ro>rZPPMy7o zp3&&wFHdE}Yma1jU;R@-^#;37R%Oilt2hlWxVm1NX}JW~E;yCFeQ3OX9W+{d%J9Q4 zK-z88?2&-ILD9(+gRj6uN(buFe{o1@JTzqy$xJ?a#G{NyvJ1im#rm zpCneC2<9(au9<#lTU&Ms$V@5zeXO8_`PJZR^B`Fn^}MDs4g>v+)Wz9*Mr)iwAvMa> zO$WN!k2K$o(TY;+IK?{ikDof!Om13*RkVyJy6GOLR8D<;=!8ZwsGc&o*O;WJsGpV9 z*6N-ox{*MSNjj%7J2%JRm$@fJKYS+q3r9O`ZP&6_PJRar){O^0O6FZ(KURZdPw6;u zQiSLQ8-8~@B`PWlDeL{BGnGHGgPpz7WfCTo<2>q7KcBj$TT=FH~1oZqobtAFyk=&)D?!x0c3b$kPi` zjtyPuvb{h}%c$?&vT}L5zfb>Gj(Xm|+@J7q-plWBFH^32c9@1xEhcr!l65`$@U-UQ zU+J$)eN4_Z&{=f!=gaVejhe4_of?|0Z$Egn`|&)^`B723-IBLFf0s>$s$Fw4?VlXg zK{ZM;Nx5Wmop&?@V3-@wH=UASwvJ_e9H*}~`Fpl+`7`<4pZxkR#Ts;VkIv|A@9K+m zE9Vjhjb>hK8Xi6fzVx_g%B(D4U3?j^`an{DaeZ)CTh*~-b8}nNbN}d?cbW0;)yJdN zS3dQwR}WJ?ov#vlN6+ydxqUerX~sznmMz!*4PkZV z`$=NRKg)VoJ5viCy@{C*VLARfUe6!L_Kf&GH|CQEL$ESzubzLb{qW3aWjxgASD4lZ z%);Wm=;buY#2rSYJx+XBsm$q?S&r;#nU z4B6gSO@f#kdK`(n`n%(LT_LEyOFWA|!|bXB0=F8{;|u(xckv~C!QWD2(GUYbUnj9# z2o5_ueDYX@7<&Ea_|HPkJmo`?P*? zca?yV&)M)qv4m8ir}i1AWb?d@^5N$Nf4R-+nI)~CDC4Kt=sQST#{k}V)^$ALn8PYw zs$LPucAv`wu1%7|p!mR}7#Ih$J``(I$wWh;xev0nmM-$#nU_(B&3U?%5Y6IC6;3{ZZ6`WJ*Mt(qg_<5kgp&?e zmLn%5IEtCkSeJAV0t7%X0k$L1j}WGX@Cva}up+D3K11RKigG}Eh@W`l`lJNaxq9V# z!itNY(2}7DH3uXS>0`V&x}`nzGq``EtTqp~kmcM$RPrEj25uFRs>v(`MI+`Q7?mA_ zjC!O}SHDkKjgGZmpG*RP?dkI{lgmdSq+*%l%Hyc|0rE7e+!qMU6fQD#)>-ssTlSO@ zBCMua%CECW^tF`~hhnggsKk2KL~#t3PGo$LJ7^_a4xhp#MXe@D9YBl{DbQBFYCX;F zSh+*aU9?RWxWXGJqTxRv!wR7X;V7G8l1uWn?x#5hKphj)>$XckQ62L zv?1RISZ;*oqdpeZTy27cgyh&msVyz}n(g{bwjf0ZTJQ_*n;*39%Q*_c*vyI<1z%ob z%AzQ3b|g3qhb`2FvJV6vddW7Hr^Gtoow^_X=5|wADtF>W2ro0_nP3 za2(YLd00?bX-YWU&hN$wgk>&S!cqZ4F~V6V%mG?ECq}F9{Z0$a%F0p%e?7hM`hsJ{ zh~}xyhd_*$F(AAp+Jf*ny1sN_EfXO$U|IvTv(+%_&b*R7@9*=_c0K5>-N}#tg5U|J zywL_UG(i-I7yPhzd(}^ILQqfOjpvs%05&v?pJ$kdq6LCpbwSZ)+U3|xWUM>fQKw)4 z^g0NQG_RpUYw7YvgaG9FTyq)y>Dfu?yR^dKaNjWqHxPYsJ)>6w7;Is1m zqZ;PvwRR>qck?o;MZ~qUTTg zN@Mnjp&?tZ#5@+eKqveQB0SM>afQyW?O7|f*^9Te)!{Et(Gci}U?yIgcGto_=M)PH z*ef=X;DEzlxsR|YDPmfzr>+m{KFr;JU*y@PT9 ztx9<43kVKd8=Y7hr7}HO(w{zI!O96IoV9*`R2oj_m2Olj)$;>^8FmI%d#%BcR&4#0 z)jaBU!fBwJA5mT5wDt2did+vWCAsyX&9|lORxHn-A!m(w!fT9?FbcNLi9yOd7X%A& zh7IbxAE1ES`Bw7wLBye{^9a$O-s5eo(zKwjFUyHD?rLZ7Ad#98a8Iyb;#YRGb3X@w z!;vZ{?KnaB4&=RRK?X(61JA{Tku}vr?fnVeCTrDJd2w>&8uE0-ug$dtZJzaesl|?} zA5!R+w+EBUl4Zf)@ayCGLaeu(dF+%NLa{y3NuQ-EK@94%WmUQ==1xq(AJ z1;&p&TTm$0g2KV3Du<^1x{x1$5f`luqaLpm?3H1=pov_~RKxSpVc){YuBZBoowmm*`vh}aXvrEHENJpGZ&z@vRU zhE1=}JwI-fdXbqdoNhURN5F?!JWWy=!YL_qzw4)Oqk%sl=16(gNr?9M5{&nZKzG=$ z1#MHV?@RvU zz*kyZD9tV_R+gLtVt+P}!F+%&PsBpm8w#r-OWj-GRYIq)vEJ@6&0*^|N|lOGcBr-qduvy`a9TQ4xoTyw*x^Gk(q2jh%)G=%7Is=r zv9p7m?AkIrK(l=c)L0iYOoOb6lwu^>lb`YFA45E}6`gR#ghl|YtK9fEb`J6 z6nI3O9Ey2@+Dfn{N4ahsCA1`rk&3+m29K#6nDv`8Q$$nQy>SrJRhCeqFGi%oNsj^? zHns~o^7Au|-0V=Zq1A8GtNqZ@LP@*9o`}h%Yi8HupW+Vi(qPypg+7e}OQma#Cpo=Dny7bB&T* z0v|f8SPpY9)^dndF3{eCy6;ySu%nb*DisB9 z9+SZy9}q;e_TG^X+O)aVU>d_RT&Wuj zCnMhlYG2^Y4CqR~MZv(FlN##Vty*|xoIG4%$ z9tHIjWT_2~iFI|%czc_H&yfA^)w%MZeu_G^7jy%WTD8ueY(sn9kBAAfN<^`F;ogva zxkC6w5Vaw7l-l`<`MX8@v@IL}K?tUdkop%`UM3XFXx!1{%$^6^D@RlfsVVu4!?RpA zIC@3d%s!UDwJXr{-@tW{8KJn_%S!h8?>I@@-}|2<(9vSrd|&hfZvvM{GCd!Im+0{V z(ixRs#8SoonC%k9dvuwDt|jC}8v5hcH$}|0?pi{hl={CTx~mL5p@s;>S#1ze{*@Ig zz<*yo|Eh%gH$E(z2-h4gQu~Y?4~8ZAU6xiiwsEprLZFL=6F@(Ivo9&&>>V`P0|S zlh=B4ixVaOsjHXQeOpONE%?d%S`Oyl-!sJGQDauMwS#vbMSq`xVm9)fYdzRIp;{GH zhhhZk?_@YC|HsgI2SWMBas0V+&N_R9!r`*XEM(kSIrGe9p1t=B>Fm9;x9mN#GD0>< z95O>FM1%(A_q)HJf1bad=llJ9-tX6|ntOp#@5vv()ETiKLf0wEGshwNH8!2o_d5b- zvdC{u;T+TcnRFQTp(Oum+8b5OP!@4gWMtQ>fvF^ z`%Y~BRwU!LNiq|D;;PmJ5~{{%+U6mq2s3)s?FxCY+xR-x)zjZF*|n3tS`UbMiioB$ zSquZVmuJf4k^^a$)4QBkx2|$&*s%F5D)4v62vGBnA^N>7;@D@it6gte+cw0!`(0yg zRL8n0%AY?YgPS4YU4y!M2~qgec#lt>Y#E2){)XDs56E9Y=!6TL5m|UUvg`!?Tvp>| zTj+5Sw{qIRfqV;riE;Fex2Jfsp!d44cbab)LtEG5tI4IAIA0?BsQys+^9W@OZ$~wd^tW#r5^$cD;*+e|o7ySDV?r4}a>g zt)*U^Dh6HLwBP8A1_~?-){T=rNLkC#?@heV{&v0FYO%w6dIJXX59wlaPZmHVGmwn4 z-wN()zo*!o8onFw?dzY+NxNO$+x^e_-!1(Icy_NV?2i@|e_D9svH!&@r7Q43WXZ9( zdj`WmB^#*FN4VFtt=sV*MdxwB`^&jWMc?j^3X4B`3m#gGR)qvKm9OLw1e5~@qYT_WF$PZf6PoGHo4}0Br}ks=qDn)QQpI~b60r10(C2ULBGIVBKq%%tb9JbcAp^YSH-h_ zHpPPM9G0H(3L!O<_~7}4e*dCPyq1c|mGe4;Qj$Bg3#4xm{|BI(%$4t}R^vDGZx0CyEcg+^NDp%}&=e;Lecppt# z@T6<1SJPpCw7zp`u>;$cdsUV=pPOXIHa9ZzB=AJ_^@Yd02FZ(Rt`l#Z-5mW$!U4u|tLNz`l4+KX8pcDzlbkAL&}@f)AL zHKngy8_Vd@V6&QU2B|kwI6x@hVc9 zQngwlLmQ*#>&9D`C*SYak9!AyzF(?%{Mgaf(=DT`OVj&fL9nCtsGXq4znL-}BVI8DPaJSG)Pi}GRm&1*crriF%XRCubq|~ix!$;bNV635Wy2yE zy6AqsNw#cAK^-__3H(*Gau{T{p^W&OC=)_3GAq_IE6swc2O zcx<^X#OLRa`mRss52xb-mp3rkw>3kO2VI=ORC3kY2iN^Zhn+_$@`+zYixumReg~ z3LpSB(>!MK;ut_GWDGKMTZCOB(3G7cMuN_j!G%F~y-l5fC?hNWaNs~D-!Q|M15^yq zAI6bWzi3fpa!}r5mq-&^2FW5t+6Xv#ySx5s$2*Bj=0+z`vH2BCy}(v-pyQ8WcY$fu*xvO zkX)OR$A@4@*DhS#f|FwB8HOgbf!{=6-7hhZ$+k!_KvIC1>c^>Mm#xFNFjtvy}er3l$6TS{q`* zdu8C^08~Q-%`$^upqbY-r^AqwLZmtHd^-9BQN=hpz?>>JEjy$3gmhLcv`K=D@*o*? z3BFT@rxhj5ACgKU??`HS_F21eX4Zj4T~I+3%aK0%cGQ)VEke>Tz5+mChARBHVIW$V zX^e?_2Aq5zo3;_W1>D)~NXVS$k^6Af0>CDlg$>!c%A8LXY(%$l3o`Im=`}+Jdkhut zQRdR1%5LVTIJysYJW7SN=}lCpq%Fpo2(5{ka1GrBb3_TkI~?|*z))pUPcluMD^t1| zZzGmRm>cxT@uWu$IvqmZg<*o9A%B;^c;S+}WmM))dQY0Xc!JSiMav}t#;J8d?sukz zY2;~-Fwf-xS}!t1Juf8vUieN$N=Y`rVzybHN%InujuaK{x*XzzYzhrKe)) zM0-(X4IoxRa1DP##z^2!Ck;x8W%Gw2CHx{l82AO9?@WfP1VIPZ&NWq$E4t~Hgh_>F znma5+U0B!B@Kb5Bxgu)Bb{kZ_m|{EXa_*a+Feo^0gC&p@m)Ur&Ot2OREsB2omW5$j zl9^NY1wZE`M5jEM=^$#+vQ+e2gI!~1sgO!t1Pm-YdGsF;!{+K?oEzSKS_$GoNmV@p-n$q?iJr^>54ZI^z4rh5l zaZU$fGGryibh{4C8h#fr&vX1SOd)>@VBfE@y>OxRtg;%*JSjTkm|>5cB{D(U9J;+wxDc->#7?VYWoN*jgI z5u-VMy`29T(DS{U4z)}9_5=Z2GR)Nz;(|mN7Q#68MU%qWRjNwFBnWO#=yTHHi40FA zseWWFlvFkn9Su*bm<(4o`LmN(+2hA9ax!MQqAgre7Hi9HTN!mbtHL_0+*#n)-$daQ zDWUIA6?A65JbV6hDh%&&|GH@5{E$(WzX-X zK5R7X@XNbOC>#jFL`ix4`Xxe&si{cksYCJ_m-ako&-Efo4jUrx9O4Y`ZqSJ#w&5^z z;f%VJEc zI(0PAXRcyVmy;4)mBX8*b74igHE}kitW|=hu-XVf(ZY0NY<_T!1!`lZRU z32gR{P`b5JO&xOCYY}LE0!iaqynn*Q*Roy+Na3`gi!$$Yo?w|5$Al|fRB0UbX&M^J z;^B{S$5U*(ce`#SHZAc@GPp82vQoGR4xV?vtBEM3|iVfW!^&TxH;i62AZ6@0Ux z{4EgN47@5#jMi5I2H2c)nI(ZpSMjpcY}AYcj|v@6D5bYwirr@T+wP30MH4z!=u145 z)vxL49)8R6ak|spBjb~_TaU9M4{iLxFq{e-GE_`K7H2xogpp)oog0#!K&W8iN|V^u zf#B7{G*)4uw=S};mj@%o65M@$^rLL*U-_)AwR=v(C4?lTh+Kd;j+*^oYoQ=q^1kuK zhO#zuLbferOjSMKPg=Y4V;MCGD>CM>D)BlI!#~XzF{dopln)izO7lrlhXQOm?fG#> zwCF$9bu0XZoP)JKUvV`1weHar@KgzUZ6WcIUuO)vX;T(?)4DH++-q>?bK>wP3e0{T z2Irig<4V=Cp3IlV@svjJksF+n5^$#{-VnnvB-hLj0SprN(z|fd4>MKrv{=xdql(OT4r?{Ekd>lh&?aUxN zQgTE!Kdbx>buHq);XJryK2!rIM|FEvKOw0S4oxSYldD1lzv+>#v8KJGO!nZHmz{B< z$XYr`TyZxWtNvi7d$?T|@UHms3i>2Zzk~_Sz)%Nu<31p z_+UnRk3+m&fzK&`V*&|GGqC(UV|uMQ^}uZeo7UJ6>mYz_<*B2X0ANuiUt+Q{b4Cgt z=csV!5gRharE7rlxNv_(CHEB0?y^ld^;|M)h@{!;)X;O4+UdqgB;L^+f}4}K3Zda? za8%~SZ`!j8Yn3)EGIX>kyBsvp@={Bithk#48$`ujIqa8h0*4|Xhh#@wQKaul$rpgP zP=tD@uQXT;x)F7ouTGt(ffFd&wj-qibE~ru}N~%I$;a$!Ar8&db$Znl-bzHRC3z%;v zI(P7z;;Li4kfe z`{#P;Tpd+X<$5+m`G&R;4v#A*Plx1+fyHs+z+Z3U21nfd9TR?`N~Ekm$G)se9*3MP zMK`N4d;*TFiNu6z>j=MIo;hU)b&NsyBJ#B&w5io;P?2!~zOmuSoh6(kXnnM;Di;jr zOc&}iw2xK*4?-*+=rz7Bu+bi!If#cPAq)%qM62HYilwu!r1K{$6A4ojbbp%de96BMo`ojaCajA6b6wbO(n73&k!(*)$wx&E1#Vl-MRBN@T|gJ3=z-2y$R4ONDeRs_IWY8Wb71~R3b8z@gNbe1gK zdyNu(G!7%Vn5ZBE=t#1OnH0F5!?a%vGk-LKsKdiepDEX{gqM7d>jG5}K5Gv(o0HjuoEHv^l{Ko1T%Dn-o@u3w=WjuZvDv_rc1#YHSmf#&} z5QQ*TtR9UjC5WeeJ9dZk?)?*<4#ePB()=+yP!V?(={Im>Q^Tu=WE33g6DqnX#A4~O z+Dg&!Z0LjS&oX~o036-zDJ`|C#aza8aUW@;+zBxgDW-n1YEy?$ZWuYH96QOuELoO7 z0|gdPgm65L-;~BLJkO&_&TB-XqotGSFt#Vq;%86e$86{}ewr(vDNWYKu(C+4gPq)b zBAT0XhgarE+Imw?{}x7{(q9<#XQ?HO8SDd)ujc)2gs6g8NZ}XKlAsTD%u5;Mzr*L) zGraE!f<{!Wq;#_?M#3ux&l-jpM|lNhxSSzkqz-a^K2Vk?D97c5flL6h%?8yaCm4E~8@__IBIYn$Hvu4@amt57LJNV%{c?OdX(l=6P`?DF89xgHpmaBKFcF zbZljYDJ41VGi9H=fa94(UgC)uQ~y}U)!)5jH=VOz+90ZHGCY%0wY5oWeq%)Mn01)o0B=fWx{67H(l{_}d zG0=0poeD;Z%6zJq={!;NjJ2hMqK!vFC>q&F;;cvEsiKGlfOKLc19EWwOu<$r?=1We z7EqZ{?O{9*D_2qHz6jqg259DHaT*7n)pz5?-(1WF0sgN0T*yUQB#6E?E|>T1Js7}G z$;p{3hObETL(VK==|lkmh71#GKG8BXJ61&(iEbVT7%TGz1!>b|g!x)Xlyl4h3Syqp zi5THJh|pvz@r^VfwLGX9Xz+t@69yEP1VXdykK9b@q?0ZG0IqW$Gz@zyH%R)8oPI`@1x2_nT^M zDrnS4PmJ+h3h(FVvucZ%_5uy|M>Cgy-haP#i{)flVzuD8@3TuC{@#V2!Q zfVEkQaC;(mkDs5>-47nFVdd9+Nu3ucR~|bX*<1~LW~*IqFDa8_b4`0d3`!tk#To+6 zimdTt%xY)3q8@*~EAX~Svn|U^d3-x||JWM56Wl;#$?w+6M3@?0uP8TO) z_190$sWtvsuKZN~uDo`+$*;E88K8RHc{uyxgnemu#oAr`Kfvv_YY<9_bv~A_tN!Cd%gv+OHy<_{JM5*NWu(IU_kMZ~{Cn}`izkDgVf);t`tv9pNT)pR#UM3#qsL(C#6Goi#^BI;SX^oOa3Pc z>p!3WxK(vs;^?vVpfPyB=-rce&2Jn4!mgbQEr^ zBiE(6Z07MGpmDmduwh`G{b9pbLMLEly{>b?s(zv6;^lGT_rT|CsbfEH^>)SligfMl z?0fA0Q0m?6vTBUk?QfGfh8AwT}e)Lft>T z^x3OsYVi1_v8RpCMuekMo8=4sMqRlWIM%hj(O43eAS#Mc!6+7wxm30N|h`HDf7jKhX zvT&|%X86)AS^FOMdsR!#CfSaid($*W-a4f>oi?X`&}So;@(Rm(I@Y#?fHu z^}OFF@`Bff*9UvgdORMsKHJ#6cm6ENlk&~&4Ugq}->*Fu#|>L;(|WxMa=NcwNE7;7 zQCeYw-xWWvdMs@`uWD9ksyDd!O-?n(9+duEoUv%|)MS=IoLeZcD@7}nPU1VB3e|8|% z#tf>SqNIM2rY>MZ@Ied*-R?b?lcWE30C$amkx3ahGLV%KJQg3!@_%b1-uOIDhEW

Al$9jLDEq4 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

0gs7U2B2sBFx6*{N=is)e{I;>H!dVH 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 y9 zn?z0PHqQfh_Md)R47QEr)(@p>0S^QPB;ICVY^xYuAnGKMsL96v0CB5B`d*(Ov7Y4? zB4gtxLU29TcTyJITJ_OF0<5Yn>Li3v2k4LP8bON9F}ky^QO(M$!#^BN<=Xz>?rgoQ zO}e>ymG2KtQDw8WwC5nR&Ac(OJH1;p0pj6S}z0(D#3b8$MRm zy{|0Ea@PyYZM_r7*}m)jyJR5^e{Q-#bi3uIQX?AC+0&NK{mJ3j72LHPYeUb^a{aXL zFK+oeyH4q4xw3ngE%Cgz*VWx|o4Y7OG5ywvvwc;8HtqmN#KtqVQ*HkMjN`b~?p5Zx z@$NMDBeB^aH|^YA#pOe74&hqWyJ0{qwyg#f57tx@ z3*cPTVO^=lR17Vx&9;OjJ@Ik1Tx)0nbtg=vv<>Ll6CEUCYL%P;aHn(QKQ>4l;s^j^5qdp+7>H z0F_!DU-r-nf_zMxQv<|zncC3Wj58v$$023Ad6jM?n`vi3SA$E081tC?JTVolzUXF9 zo0qCH9fr$syW5XO)uFoE#^Y{o1=cQG^DDnnva!=l(;DsC96blz^g0W*H;c+~TYI~! zcG!)w`j+k8B;4HFm335BW&v(32{KM}!?!&!-X~t-EmZHGCT(kMNIH?W?dgJTn~Qal zK#x3safHY@3@3Q+?xZj=Aar zT-rlzh>&WhqbNud`Wp}&lDf@kkDrva8 z9h{p=ANt=@04QzjIzt)oJM#D1rs7DJ~Kc0UxBf7kjP1{Knm7L!tV_LvI^T1MsG97%(0fAjd1)Jc#t`}oTa`mkh#KJ zv3r$Gt=HrB+m|-B`<>WAZ0+ve5^W{M@|LcUW)4`ryCrn(^v?}^Ot+P-M_PSQa!)w@ z(e3{Lww=>|y8C-^#_s#qcemPc-Lu(EyY5ZDX7Zff)!XuXmF{a}v)Q$siMsx|eE=&g z6OCy0{{H7s+FNRlCtF$}WAHqF{dYEcbxP*;d5sss;l#`C_gn2buF3Z6+dk@U;qER5 z#}vKc#Qw|u-)FGx{Q)<8mveKME-l_ClDYskZOh%d#KJ%%b8XjiW7D4JRTkHG(_^Q~jM-?Raq-aEox$#pZT9y$wcxkIlD%@}%L%>Yc3TU#_!!1?&+gva`VS|E`~A2~D9rf?*Xo8o9cefxy$_&uiqx43QYdF#cu5ZYZh z&65VXP-RBza#RoMR6iVit^WYEe)RtU=$_7}wt79zUcb~gBGB@-m(>1xcb~I=4tgj2 zzg67zjp~2*eVW3ZIhy@f1ChyON!H~@)tqS~>w%pA06c#)w|DHPmeST9KQrnrx$J}j zrlEDU0WP{mR0}GLUoKMvJagA}_D=lTaQ=qM(TAYrjzf{L=h<&BY_B7Rw)<M{YrN_3frdLdUE|Uu9(Nn-d(xxKWOtsEblMe;kPA`4ZcLLp!Z25 zMZL|hQ342=xugM)tUaUu0Io%6}OS?_Y zt1W8h5hv!`-7izq+0%b+)Ut7v1JcTcLk_d$GH3V!860%;c3{W!BqM;TBcza~qzS0X zbHS*B1QI0bQ&=KI5_9PwVK2%6Qr=J~pcz17A`g@dso{nImIp5&&mjek2|hH-00Sb3 zNR?0stO=T#0922j1mqqRlu2;ZIl&am`dIXg5t#(#4LJm7q8f&3DW!E~N*}`v8jz}| zR;6kR8XYwOpiq29afB$$@dr>6K{Tp^PcCOZrvp)zRED7TPD znPfkK8cCKhhk$(3h~@3I0rlgnf!)B=hvvg3+56e=g?+B z%pQ^ffB?cu5CB{Wi6%t>p9;lu7-A5(GzK6VnT+}#q(%S%m=RNyO9P}s2%eHaIUE89 zQjI!cgftKgD$h_zB1c>RG+3#jkx$g6Vm!rSqA8vL1l;PBSgeY{%lXscfB`N*(n)KvZh4R*1J&;(5U0rJvv z=}5}}46&&uY5DXpaA=3XY_k|6PeMuRGmt!SIY3c-8MO=?y)_zOz?FKy25KTQ zE0Cvw!je+7%W^R!f(Q%&pazgc%>j@iei(Wb0UFqrASe_CjY5M%)VEp1PiCT=z|*PJ z#Ykcx%9tQP@`w;{c#U^}TD3Z)ba0)Z&G6*CZN9m*kwlr)9h z1lb@0feery*@2MFT4Ynl9M5AOT>*`oLKusP>n2tqvdRzX6P`KV-KwSNIqe{V-l3wX z)8vTMK$%k@4w%mzzCV#wSeVGKph2P}v38U&od)By0P@W7gG z5GNS3%#ng!)o{Jiz`UX=g$mtPde;jwPdA!GHm#^^fz>PyY|JtM^^^GE$sec+E;~?| zLMsq82#Uw)Qy6+7&LC2yLlD54QEFnbGeE*C;eaaQ!v#vh!YUnFlu*7^pe28XAAx-R zzybkiVo9u!BC|pcN8^W)b2-2)K_nlMV82KMG0+lXz8E+IZK)B>1tDrAz|3YxfCB)l z*~E*aI~Q$QK%@aQ@g5y{&{Kt0G2Kk&v5eV-y;_Vwvg+k zb$NU`jYJX9{{YVcY0fx}N-1(BrK-&F1y*1I=F?2@6J^Z*00E}Bs$6I+$4{7&2-Ok? z#b*;ZO=#GiQeER$8BjEm{#acw!9jr_WdotZTo~P!oOL7IZB#`qazheZFexC!5IX$u z>Y)WVu^Dea(#>sUs-w)Z-e3l8El&(4lX=sy63atzsX;6yNl<@K=t&Ei7*$EPTW2Fu z^&?)@b3wOy<)v2+O}cuDhPI!|f41j7xRqCFbD1T%@sYs5qc)ffB4m&}*`F349+;Gs znvDvQ4d%N#ZLMAOldB}sCDKR|CNZ)~xX^kawGT~o4O&jGBx)zB(pZq$_~Q#^@Vh}k z(AJ)AjAl+kOn^Yh;8557%Md8fH*n3(QcQ&kK@8b+^A4lufMSBnngy9BAAr z4Sd5OsQ~~`Rsm=l*n)Zqk(Wy2H)iz-mmCIev!a9{YNP@QC1He;bo?kkjucCP1_CLF zhEN>&i3PJ}>OlVhjPSH!k)jX=p;A<^A_*iCJfxb2>M?b06;sHQdJO4B2)%MrD&8yw zNjYMgibMFxTp%2z7GhB5Bg{V#BRZT#e6^l1{{SEAF{cbc0yOE=nn#;hsAJL$$Hx@Y zs^;SL6IhAJ7N7yB&B7T;QKQU1PG%T<@eR9Gc9C6N>K(zXK_HxtM?#OPwIImrOcaHd z@``E0Yf**;ZlO0TPbz?DCIOy|Y4FC1Kg7;0sN&qA2BXa&!6Bq5AORsoYliT%lvgh; zdq7n|Mq#9?#1apdOpy~>$-?tYPvk1wmjM{ksz0|?Bz;Dts5Qtz@x-gSgt9d)Lj(l{ zgIrLou&gNn3h9z%LuXj78?Q85Mrj$65LHs3Fn5({Vdr5wn6eMk20mD+%y$IwVBNUI zj;&FvUzL2pheN81Zho9Lmao85m)H`6RPN(wF1S@)j~j+to0r=!b@4;hs&8_Ub(2~w`{p& z2P893OH?ZKjv_z-+BT%P}5c8k(fFNX|bD9L~wYCo}&5YZVcWn3E1@ z0Rjh<1_Fu$0X<_0HnZlpW%gdD;yaKCuT_Wt;;Zjuj=&RNQ{`1)E|UnBHRt#(t$^qsi1&ZnSl^1 zkftAc(1@Klh>GkgL>O3soFAx)Frdq>E+u2>9h6~2kAyTcrhZW>eypR$et30pNhUHi zrTs$?P!MKGWi#}EI##&OUV9mJYv~?Fi3HM5&Ssti&EPAIYYDWnn4gvQp;a~MS2Co- zY65zRJx|Z!hpviA)yQVr1q_2#V3f>*05?Fh;&BeXUi2{-0L6m2A$;0u=}3`ER{(n}Htl#Fht#FoTuLq?Sit(X!-szI3qnbKz=NASS_)Y-gR7z@@W0)X9nh!KU%MoiegdAWXv*azL zh@cP*iItxy{#a@7;{xvv;}MVypq4DNn$T*?EK(g*hh|Au3G!+_Y5I`gnD0&l^^7OZh7aLj>IkjqSgltxSZF!AyRxDGP3Cbb%R zivFVjk>W50K4ObX77-@Vf$du!7OPkw^f86d(W&M3O-RJUpyD zMaD!hT>6Dnnvx?_{0H@P!|)u!z(fdTKq?HA{XQf_Qxj_?jYY1ds=&HJ`bAUIx>D#Q zwxkoQ(ICByi+P=Ng-`BgjLVX!JrUy zis~|8n2bw+Q?C)!wyzqQn2kySg2TY6ScyGOcuZu=R@cn1AQB9TGeba3C>=1H;t)^L ztXD`?5&<1gLSU0q*QP2w3e&{7S+%X#$w?rnf*?g&k>%+aq?^!~lKO93+3lNgK-IOg zMlc@f&gljL7UF(*){3;e+07FCMC%L6jcvTj5jSWm}x(={3uykzDbcc#;03WdO*|lqA8@Ov6wPn3}1gPgntc0#aIZ16d==34jUx zL{H&3al?QFfMx_T0BTQ6sA^eb3a(pR5CEwR#FI1!FixqFS`c#?Mk|bf;@K@ed2ED4 z3Xd#NU5CR1n8u(zr&8&PEDVmK2@#}^9|O)7K%Xh;66#tvrOi&oPR+aFOnNSJ{WNF~T3GQ}ni zxs{;``+x$VC6AV-Bop*$%z$f!EfXGOi*@UjAQJNvNFESLpQQMVQ_!?UWNVBizNOMa zm_Hpt4nr(VL&(KVyXg~D>cL5pI*~Q&I9wnlXk2XZw{Mg-thLW95P*?WQ>0h;d~uqi zvwRTpmvNSH-KD#}PpG2WF{LJ=qeur=!{#xqHf{9^Qc}#%W!c*_()W?Cvei_AsRa3> zNE(dPO)=2AdVN-w%%)t%Op4D9wc8CleXW~0OItE!MTd8tjY&c5y(m zzta$F;iL(iB>P7BV6WO6YQzOX1cA_yd^3vAjGR(!_=-})(7AE^M)P_>wYIr*5<^^J z>DfxgqjCJKE7EC=YqxD}q!8|#<*tTLXR}pM-sE?-?V*+`u!z7IrQ4okPX)y~RVluO zXNH7?*mhSM{-ERb+s(()Zr-prB4}q`Z@Efqx%xmSXz)D zzDNiE0Dd471_FtYV=+P3B5@z`X+Ke_tSD00Km0iW0Ndg~oXXVxlbFxpmt0r;ou&0M zU2Mq~`_jvjzr2=`#Y{v1JWT3?Tvz;!x1;!hLs}ObJ=JdKnRh5e%~}mdNHR>)B5>B_ zEQI-o+kdj(DP6|XX}d`>ZrZhY!4N@}E#p57I{mv_7+{{6$!6U4r)zJ-uFv*27#MAp z$FW+&8(wQn#2%vx`!&m}bNLUSFwARz?d|jq{9gXn;Z9a}L(#g+nvYd=DR46+MB^K5 zw5Je0YVg#^ftj4#tTHaZ$)$$ec_>5-PD}tl&A|*+PB!~o>N97p| z@K-DT;L{;0$$=zhKsCysj~oehi7?dzbRg0WuN>t3dSQ-ADnn@`RFDLC01i};Fa(Yi zFi8{9SVRy5_Dc5Gf>&fIkVq0wtmd26HMi208;uNx{ZId(kpf z_yPeGn$(zyXz73h^k@M9k2HfOaxz+I`hP4kIko@t6=G&fXnkJS8EsK`&%6y>ZIZVJLflj8l z!diS$qDi>6hEc}upbJ+hOvIW*NdjZ(10B6S`~LtVD<~f2xa8k$oC4Z}I>D;25~WW@ z1`aj6+4E87fKkKce@TjLx305d`DEPNV{Ye^RFFcniK79ZjykJnx|ByMIowgTV*dbT z*GvKj)1g0AKst#TgFQ@)O_V%mA;7s=Z9oj*`Gn;i2mEx#%OXU4}QgPfS@ zOe-~1b(M}Yu_cwU-jum@S7jA$g=Qt(Mwfj}mb4q%Rh zt`M~xDAOvfkc z!fo&r#0KaIn3f}?QYK)UNj^9&JT(~Ipv40)DAGX^XH3YXQ_F(7XHa;`(0u-_HG={e zi8O)GN&Z-1P%vvAW2B74kumf9;{XI9s4Eg+nuw&qlYn}atIEboz@t!~frzZ&nQa7! zx`39Lfl&aHnI-|I9{>_bAci7(0U%SU=~%)L;03iVKn&!G>*eSm_|5_M6&0uk29R?i zbI&ZW_>YLQ1PwDMkP-910ev9AAJa~=QaV*kdf0PA3Pu#q>)K51k6;Jj;9Qfz(qw#=pcxLP)Gbu0gC~TK_D0u zpPdK-aHa+!0H}tcGy^FF$bniM04|cm7z9WF0Wxv`516OV4Jmx9Q5QQ_hS4<`^)5uM z3APE1Gapdvj{TjuT&u86b4PH?vscUrQ!09p$1J?cMmo7tSnm9WHu=#!f$*9GhBl=%2@@4C4pMWaNT4`c_zWdd(^?9*z+e=KOob!mKb0pB zz&OcKB#(zktvW^llwbo;0)tj)5(P;;1{OH#2R8f1?kjB8-*53vuIBRH%b&SRnh@wB z%3QWpjRot&G&fgnb!?^d)V*5v|_cy9nX;J?G z!>dl$;Jc^1EXSV+FD_gO^_l?*~tebte zGkMbGqh=T_jzBugTu}fymMTonKDPcI{{Yy&pK_aCh3=bWMON$lBF~5PKL!3k{wluS zZ^y`17wQaY0r&gXH_wGJ;>pBh2p7zwJ%#=o zn&Vxz{GS!PMore*<+e7ZY`Uvlu*?ewNs$qb^=U_jy=_Oz^$D&OPoy^GE*3U*I+_>^ ziqRsHe+*Rc6a9>vvAe^%I}@9=+?}(?T;g}uE`H@SY8!4v*o${8a#r=K-mvz=0BUC{ z;rU+yR?WH6$n_uFk9fVb`E2Z@wlHET26}If5r^0&=V)TDr>b*0pr%}^g(|WCG@srR00Jz_^UT@jW z-QIh)Epk1<*!$;ePFBs`?(+Mm6+7ft>%TL8BJ2G|~chaWh5yZH00^t)TG^!mH> zd2MlB$J$@U{{YK97p`q>`e&=%Q?G=TpBM259^MUW(A%xQ+^JnRp3|${v{|&X)PTA` z`BNW~?rd_kYba}mk^N7gdVa6&KepqSRLQ~8+agn4>|>JcANMbD{hLdiuWK8(`952-ttq+5 zaVq0OzX&|ZxY&YZ+hOG&Ol6O+y^;Kex9?7a)b6Wi3!j7epB;Or*!HJ4Tj}&`i?4a- z7T7(e8kpMBKWn(NbP;!Nd0sCq{Ys@S+cFq*Ju&-U&r!9xx6iiutEzk%`BvuD_H7%A zEvL^rZu zxtsi7HN&#q*zT-eyKJM|asL3f+}cK)*1#HBOv>et5$fKJ()zDSZkMR4bbYy~!tIFY?`nMBOnvcXO1I^|F000_^8TBU;i^O*X2w*7&Dz(lDkTV}FQk3D1OhBjr z1fG=e%s}XW9}GIQra({zSqcJ9QY1+=(h2?;od!1c!%vqi{#B0y6~b$Z)I?^rMx89A z6^2A}+?5YURz}3X7v@zA6pNmpJ$z`+K)PRiI#>r>Murf6YJo>$B?{SM}d!?NXg} zTeY^dt)8vc78^f#_6PF5??q~QZ>?Fro?^CqJWfsA*n3X4?e8URt0-yb2J`mw-OHQ>n>GhT9alEtN7GXknaA4y0K=dA5pJH_UWe{`yKKs>Zy!$uE_fe0{{SHW z02J+Co78;@oVIe^Q`hC%TD|W3W$pg}cean-os8QqE4$f0b{TG}?76K0uO+L-*ks$^ zyx&tmCPi`gho$<*Me2PmdY+SUZgloa8gt%!&FUQv_fLCt`_$#%tA?H&o?mwt1JCx) zC%WJ}i-+BCoW9247xr6_N@=Su=WlWf-M4hq5lUx|H)N8_QqK)-yVd1ni?p?=wfaqa z$Of2F5?QPFL+1rh}?Dl-#^4jkAyiVHT8*5{cvwu~){CisjlCoBk zBN+94Crj6Cy^f-lw%biP%$`@$y-Ta~t@`ynE$>xVGPNwe{C%hG?Co!RqwKZazbo6j z*%kybk=gz_I4hl zeY}0uasBhK{{Y}8ybr^-DSE?gtZw(ZKiRv6%LTM{TambnHuuk~%Wb@*R%FILoAz(= zXHDu4Z>HbBCtX-v+Dq~Hlj9HM@8NE<+lu{nrtQ7&N^;s+YsUtR`=|RRyT+$4?l-dg zL%iZ0KioNv#@a2nyR%S*-*el=2Ahf+tz%SxC31{?aqPe3YizB)m(*>|w(zX{aq>Pj z_fN3?{cY5A6;<3>b@b&FgB}Ov(6%U($6Q7VF#ItE@dcNA~uuDz@)#tgwh$(h$Cj#+Eu1D0e}a zn5^Tq=gVyleVWz(0J)+?--q7r_B;KbFU9Y7oL4KyKdHCfY%jjweAmeGn~u6JQ~)C& zK6vr{XGO8p?R~B4tL?mJPr&NwI?djXd+%&s)oAtq0PRoje{I|e$NP8g)2|iWmTcPF zaec{l>f71!s*G&`ylrJ|Z}J2aT*q8|`|oe#tMvPq^$$v<>^Cl}g#3@$J+1Frbrk;q zi`PQjgp=((J+pS!>eao)m$!D+)mw>n%PqupBkET|P@2{}arnmO&GxS8bk&z>`kvP9 zH)+qen(!YdLw!WfkYWWz2sr}2Ju#H_n>+?X6_Wx%l1L!I5(Ok`Ibrbx7OBXw)FFc! zh&4VVrVt3g0{{>{GDdXy3H&fF(Py)W;rdjW1QQwlAXbJ(7l6p@KmdRuTRNGZfWe{b ziU9CZOk0QV&%GnXY&MSdTMIk|fOsP)Gu_ zzygFNSj>u0Ntlvzse(FS?g0X>s%an!_0BReSt9@fXbjg-Aa&CO9=$Ny!hA$F?OD?? zPa2%aiV9*|7_pb-Jr7Zy2*?ePO*)N0u^Cq=>*3)TQNw_=(^Hpy{{Z`B?LT>T@6B4; z+v5A{VYPMR`Msi)xxENA+1T=`k^9}N6^JKV(1XzWN4tHS(R+`kaZ1;!s%D@>C?^30H{ajZw^V0{qeX8DBnGAlg*7doNi$GnWGjO#15-Mp1j>jr1FRF!MgS1PsG!ab zWoDHVCaQ1%BQj_NK@l{8;gs~i0jQWUB|v~WXPpO|Bl5rjfdrG$YXoW349K7od@z9d z&i7Z@{kHza`?j{umr~Q4R*`P2FI#5gE4#b0)Mlu&IP*5!uQo8hp;W&s>_?s5>)2e! zZ*Oj2v9h~qHss#5a=|E2i-DAD1hN3&g#gRM<&14Le9;K*+1=)@ezgAp6J&c=_XW#v zm-hS@cQbBw7J#*Dks!A2%9heKfaJ5RK_-X>a~Rf}jd>2Xi%Nc6K)%&28B( z?QPw5*DkhH`byu>rB0EaqnYWAHf-wNemjL;YRr8n9{2CFmpGfZw;X@>1+Z8u65gBx zrOO4@(mbRSBRp)JPkGU`xYAk6X1?KjrTE9U#d8y2HN@NP@0Mk*pG+&3pk{ayNHJ51 zasGLKk)mAF!VQ;Wkb5^&sbOta8G#aIWsy#x!3Z_3FO|lGw$@gr!tLJbyR{a>UbpEN z)C(6HNP(i(kV+L;swqA#gsS)>C~fm@e0ZG&+WpySlzJ+3qalbrB9uh z$nc70a3!4mB`I$@Fxue?172t}G}Sb!t*`?5g=?O8L#kYLE&GegNMNkO*hB#e!J5Dy zLTQi36twRe!ohBP?QxF1!U9+=yDIWjL>(&t00)WB0#0Sf^7SruFIwA;0Hd;~CD}@i zeJz3kBmtQR3CT8Zm%P7h_xG5lp>0%=BT1D2hzw9dABhL^!gb<7lx?@yS@b$Q0|~8H zNG7sLo0XZ!vG`&gRA39;mp)5_Qj5Zvo+Gu>uIpTP& z_bctD=druLce&c_uMQ)cxHnr(!!@?srTewqZS7f9P!`-w07r(XCl$X{YIFYpneE<} z)!TZhH|9$})a4Dzy_klnXFI*zPe(ZZPicPLjqb+%jo#OGg6`h^r(4!qA^4oIpJ>dBYN|Zi z83|Y{9cv_$rAXA^AI!|+eyZb8(74&ZWkSWt6mKe$7|0bgI=_keVqISV9Q6oh0Ng3{ zY7MDG=Kx6{$qiDqxqXTustmm^tHA>0dqC5-`qo0sk>0S#z15D*YEIE7U+J_Pcl)0dHu=vc5I zFj;H2Oa=tOHb7}*k(|aG>>Z`}3^n}+RhKr8m<##=Am$3YD-#F$W9Np}GnfSNl9lh2 z2H_iuF<(#{R*MlwQu};#6^cE-R@rfJl~pv|eLiKU*9L$RMg+4W z%FvAWw-=)4rn_rFv?4osga{~rv_Tc0%L|8a)0HfT{@?>K7Omd4rggZup%@bo00EpI zjtrA(w8+i7x8!}v_2zU~A&Q_ZNo>xIC#7@4X|5p+EMR8yHQP5X?C))McC4rOFK)-} z?4+4{zOw# zXFO7EXriE{_ziBi&ACRsyWT3>3SQNfb7O1*_*u80-(>=T%#1utaV|RuZ@jnZ%I^Yb zlGpAqM>GdTt+`h*ZjOES)Fks@FM1{$-g^6D-n zuJ3W!+p|8-<-4xH0B+v?-H;p1Qpr_ifNDsYBP4egK%ps=@WVJVRn_IQAciX45s6~;t+J4r{IBiDd^|N{0wW8E4Ad)C!6sCES zQYnuR*SR-45^mjR-4-!s-QCLWZK|=-3f(Ji-;~JBiqw)ZcXhQTG_p4ZgMZyuH&>qJ z-S(GZrqbIESS%7PD~n~!#IRDJpa5V>wMyBM=(I7-$8+AhdG=dnZSCU0ZdkSun}I;` zo5*hlxJzcuI>-e1V+EqAS{Ez|u#_>^-R{A;yWI`u*4>5l*(}_)Z`(2zkl(y)+mIv> zfRehH2{^ThuLr>nQ!KyyKDD#GcW=k>?|%L8S8H(*?%Lb5!2R~GPU&l-&*Wl@MJ7yR zIDD$QCnMyQ7%aS}E6?1!Z+FV?w;M)fZ%1dfxYovzrEXjeXI;~DGkMX?E;S-CRjpKZ z#%EGekE!BDEO#xtfvnr&@239hdP}{(y-TTe5T8j>+}t6;5*3`SH4`M_A*Lpu2j%?B zUB2ntY_}E`>s#a)-Erg>H#Rm`3dO{^V%vV+!BkmsrP&lHCb5c!*Ea+aXOi-r^ZTop zEb!}o%PW?-aWq_eBH2<@?{^Bmj^R(4mery`DzuDflWH23`69VmiHw%7_bs)ixp}=? z_XIZP<;%rKotb}ZcbAmC&3cH{tIp)cSc_V?OS3)XMk7V>kT3Ul8MXl}UbDR2GHbiG z<8?OUY!*E-``d{7TS%c{g4~p}lbOKnNm8LN%o1qD_kG`UXkD#7($if7_ZyPUdwwl{ z-1Ls?aMx8YyF-^%6XifKtlaU2vEVLT%g~8qzlWsOHkOoMwi@@Ty1i*ls|;b9$TvNG z%RR;^0^KeaYJnI{(j|RmLivwBb2qE&^4t4cA5bQd$lrao#_HQZQ7zf9ws#G6ED2U% zp=|?Es&LmVO3RPHIb#~b`~$JxJax-V+ulOn_@dnZ0B*Il7VK?qmte$;n~2+@sIAXZ z<1lg}a=}|(IaY*2m{SBRo!`i~YvXZmXq&}0j~%kOhTiMb9-XmcdwFhdZ6cs6ZsKVS zft$(*ima)tYXz$IK-%-WyG^fYYUa$BV(W12fnov|)`H*-W#ASCK>#Y&NyWQOR7CfR zJ7WOd-|g*NZSw94=`5>fbA0WM`|5oswQk#$vwG?mAO)RF#LY2^S9W$;jd&;%QqczI zaP3Cb@9tN4mo6w9TRST^_WL`k{!2pX8XonVHx!;*3fgqn67Z&9zEjaRiw77ZXf7D-1i?1 zzTLMSu-@C|dCi+!UPElkJq|I5)Qi2fY1ZYJRSL>HtEWJjI7zE6dT?Axt#28R863ZM z_2shH5_dk3BWc9FyH>5Blot*51$Mhw2U^KuH5!u`Ihwa?_|SGRBZlcRnmO%v8FmfcO9QKOUt6Z&5fA<^ZIc??3OJerpcXTqLZJnE-8|=^J zcDbhD(1pH%05PEQ&I?)cI;_tQ9w82L^hA4Hg4?sA-rQQe`%5E$>Z}--&@3#!)t*;@ud;4^>Lc3XOhfUG9wgUN56%|0F z;J-W9Qk@*a{75^_bnfmm@Arwdy3E%s@w+L#V&$~*`a!K+ytXbjsyiBz#hQ_eTdk-s z{mx|$eC=; zZRN+-Hg>J1VowY9mi+Au;3D%>u&pGwFKS(E}`YQWumZQe~%OPW*dZ!_Xp_jl}A zx-IVakACgKuC}%}P1~(`q`Gczi@Fh9*} z&wp#Tx$2VIhL7CcHq?1xO-Kwhh&9BwSan#bEj0O(&kybKf+O6ux=Fom{l;4W=|C30 ztSs&J%ryeYODJay)^!;y6-kL8i5Q=$Wd(Dl2pf%>-L-A4+W!D=2?Fhg+#=m#OnTdk zvo5c5B3eNepo~Mcu{?iL^6{84J?)!Yhc@js>)w#^`YU$bqj6Nr&>Mn8`SN8XsFoPb z)x+j^?Bn76imasxBv|ijTbqj@S+{X)Ez8(UBI+qu54gYa zhpCTWySTrlp6c#2wwqc|1q$Lz0c?emzYst8nqnKA1wvR+m!_rF3zB4#VKS=|iraRzVVOBmU&Un)3W>iFI?zleK$$4uy2v?Kx$+4nJ^i zTDI+S=H0FzPSgfhwn|-FkDZl5pb%iOr3Nr`n{u@+8Yc}Wg3{Z8WF^H4*GHVC;u^v> zqJDr$y7s}5@yy~ccwC6vy=X_jdh9LRo~g5Q%^P+W1;EuRUOh%PJbDbV$7K`w3OTq- zD$;7XYU*tnP%8^+FE`RieODaIErS*6V>~45%l`m&K}58*E{ch9&a0N~p(5qWVQv(< z`Jr|*Dtawxg$w@xvNo~ePuo~_4s5NRzP~FNC9k>2yGEt811gLTYuroaPZ|1MriCoaAYzgk82a=GoKMd)=+8qtUd_b(jm9(6hJ)O2QQZZHjy_EG!Ky zNuO|Aoxp2$P}&!+Hm^)u48qw3i4y_?eCMVUg!7@Dn@VewX7&xX<9TjRV{=Bk_x}KS zY}>d?1;0%xWsmmGsgv=HYkIpxX#sa>P;YUt1*}{QzueN=3K{Z(xfq3t&P0r2q?c7I zFl=tj_P@Kk$lLz_W#XAOO#cAg=6N97PAbA96?1OkUsrhNAT6s9L9Q3wRGHM)m4mH& zKkfUp_$IZx=kMO`o<`b+7WX#B--z4YB1o~a1h(Z@qh2KZ201Ugdnu^YCy6)WC98Jr z+O)cDTDF$0T0x~PTDCN;yJ(|IEwz9Era9%kSmnI8ki><61XKdmCbgKE!hQOHCrL6) zjN!aMkBF%lYF2;DSg7)uxBljsf?V{U1JlF)Sf2AqDu*%u z03AM3FvX~Y%T=LZWW;I^L=t934(Vt5$eW60Hft@dhZpKv{w?!ISb-8)_{ zx|O(2QSI~g_%GVsZfkkmHj(WMKkp5=3vZ6}oybi(mgxi@gRgIWE5p^%)!F|5L&kL; zp5D`@-Mrk&-Yma+L)v%tyshr*+;(o~+v_%adtuu99^c)r-FLg^+1+Q}^E{osmFxE1 z@3Nw8+T(hr+?RrJ;wiMNdh)j2TbJ9|c|M)*R*hXnI4;iL#OQHwEJz9osh`!>0h&n1 zOGfFAObI=5k&!tM8qOF1OiL0>8jhrngQO0fZ~%zUTKZ{{RSk$CKXL+`H^HS3lY~^QeXWrpUFnzo0-S{ryaS z1Y`Lp{{XPQ_-%cO7aE_?X3 zkI2_o4b^5M;9|#3rqpGW0Kr~JAbdY8eE$GvZfI{)^cuoRa3lw~mc#kAh7hO91c6mi zP@=Io7v0!c-Ctk_apb8P~5&O|Q*m&gJm#I(g=a>zMq9 zy+X z0CJ7K@qs zW%sYNEU)POUh1l9cI@4$5!r*+JzLtIh3k87Yp&_`?<*FMGVo^f?eBj#HkQ?%;@Df< zs-lCv*dIr6b6quD+Fd`kwhPc`B0Mqmm$QHN<7ahKruTnNmElh2)^%FC@Lx0Wzh3?n z*-h_yCik2Ei~f`Sj)U#K_1Gc#X?2H;|`p+G<|B4Q*D&SMF7p#iN48ORVS zWOP($;yH#CclDmr+G@EX&8ZsampbE-rN%&xv zL{`pF<2VGvg56Y=8PYPQn9B-y6&aAVh7f8;Sd}gR08UdU_~Bs=MuV{vu1Np@-cta< zFeKFCvA~-1N1ITC9X%#MEhNl|{3t$HLmP1U>7ia&;cG+ zVrpu9YfSUP09xZQH2R>>6_Eynbr=8w(pC(gr|LdYIRlgd^TQYo863qvIrODT@x$OT z3s2S7B+_EN2aXbfcoA+iDJsAiks~-DnDH_3!cf+A75Nn;T*!^fx94x+Hy+9fWlL}5yW+cWOPN5l)Lot#>R!IT|nHhKhd@z7)$*<4n*Et?IW9|@C$OeFn z;-~df!w5V^kA&3pGg#_ASWN&jC1goC8qzcW0Mm$ScxCYf7pMbORpy>=F)>I7q;&Ac zR@ttjR)-OSoornmQr6gNI$9h507zDerZB$4OBq2e>Oi@+Hhk+k9vP0kOZbpXR~*Wl zm6p)-%FzHWD$3PI74jbNde3Qn&t6Q3_%|ZI0dhHUZB=vs_B}*BmhV-WP|v|2ncIZHRsStEC7-q zeMAKkXbg-6d0}>qhcsk}b(fL!Aryw7sm^c}60!}?ID%+)Rrw0q(}f9G`KO=QtuSpE2I#{ zgeZ~(R-na5GfeTEb2kn$JiLv&#EK5E%O6z1)e=OWxX~zm;;%A!&}iiZ(@&ZRGD#Ia z0-uf|sm6Om)<%{TfJjySOi6$kh$rDpvz$d!PfQIs@Dl1H5fdj+mNG$zfFr}HrY>Bm zT7%LN0ZFi>Kn}jEjdM^5qOzYe5s=RrSt_QxM?Hgu_5DUc0P70}>JSgbTN5p1Y6^Ia zt-SjQ00OAY z?w}|!6D?6W%qR!(#N9V#36D{=P<4d3$b7`a`N1*?G$1JHhj)dEQW{|_5thQSH6hrG zZ3JqdBr%-UGmK}6jwI!0h|x_dLl-qHq>@3bf(<$d@Qhs&=AOZ404>IGC4!=P7NnLf zMg$Qt7>3)kdm_7*RtAVkV>!;~zX#IdpI@^6n$uk)^1nM6m>(nk$i#M}{ux za?MNO0~W@wF%Vt=gXS7o#b^ru032m*5u^+B6^KGvzpG5ZBjyass-C%G@AT(T{6B-B!4R5T|z?TOSE)bLhS`rx4(!jE@1)*rP zp$Alg$Hus{qS*fcr}r-cc~p`#o6sdfl?^O4FebDgh8>e}8j|z~y;+n?7$$(J0)mr4 zpy~AiGzDpBpi-dkv7>^7;Wuca-`aR^%Y5Sbpi~)R3Sl;@)KNIPfqbIeqmdL3tipphU+#?<;qzB`7(x2dXhsokV0H<)7h-Ca;@641V$S)Vi1eX;9T+ z(@_u(lEN8^EpC%}+UkjA|v1q#zMI&$-8)|i_o zkNQL#+fhv@+QyJcAZZmKoQ-NLOeB(WAc`!V5>zRW3DPJFY6b?W=qZK;DoV7178;Wd z3>jLA0sgoETa4E222=o(Au<%oB$C=id~g8pB!mqEQn8RsC1h44y!hY(Nfz04BXu5S zH6TdL*YU!#h0L`c0#I~=rYR9VXqY6Pk<%H~Cv3zIB`vV}q%0|@Ff~qNRWqcVXp(AH zgvMuxE_5xz+PyVGMvTCMAxNyoSbF1t_~$@2+m^p=u6h?OfMI=TQf;W!>MF#YQ3h*< zB-`Pj(Ay*K?(S|}e@^Y8Xl=_6O^?)FLGvq8mCFgg)T}b)Y5`klqeK=Y5K0kPGgD6t z5T#1MCj-Y-3F%3hEVQHwkv=$})rG5AF)^qR41qo%_~DB|1-6yc?9C*$x&tH`G!zFR zh_i@&%wwettxG7AJxQARdGW*8f+NHZn0^3X`2C=B>CThqxb8smSz5@L zs6WpYw`QCn%2|3A4tJ8&PLmexskLcE0$LCOG5YQ>#oiL-O+x(0R(*`uJIlJuniB*K zL{CFeA_P)=af8jIq|;c?wcH+7)FNm}D;hMC3WGx*jwato#ZWY_)Es8S3Jm}>2-D$H zNW>=UqR&V90O%T5%cOt|si`d)=^2{O#}=Y7qa{vfw2fuMv6V8Uh%|#agZhNzMp%yr7B+_=w8@4=s>S)1^T&Ixr)z zLs3j2l2*}X1}GTmiW%rbW*`hSpA7}tnE66t6e^QZnA9igKaMF^v{kCCz$V-Yq}5$Y2kQ;Za~#eUAmI>kEVcK9UGBKqdu2$Vs2T zVKwFo_OOM81nC;70O}wy5uD~A)+ZVyCf~@Lw&ULOg|wQe1N0?IAX%Wy! z(qu@O$~uxv0})(GQt_cl_J_3Ncbtpq+gg=I(%XlW+pbx+>mX&M93@G&n+voX!IG~H z!|@6?9G&&Mcg(}q0O}$?`Il-oxR&(=BSpigx}iB0f#czh9nP*4)$uR>Gs|y7UvggR?pPAL zg<9xOQRR)u5~Vc&6^w`7RCZNE^Kl7_x*A^ey zYb`h^dyi^{=K27ZL;Hld>=;1M0V)EXv;P1rOY7@o^$)P#5{LK_ZF`c0(|W*?9Y(D% z#DG|U^7hz~C67#A&s{|L$BA~?kMS@2FLPW#PD5KEW2tVKZ6Ypun%PMtfl)|^$4~s# zGtGi;)2n5?zvyPXZ@U|tI!kX=g#cp8(pn37kgli%3IZ#Rs``bKQ0Bjx&GtAolVkCI z?^`UZxo;mZsvS|GVW`A|N{}(xUcR+l`gob!X?-Zzd|$X5UH<09y}Rx0?ZVtUtG93H zy0-yQX*TBZMcR; z(!q(TQjONN&mK)h^+}w$PBM!JBig)X`%~<$e!}@CQ~=f)jGEdoZLudc%Ng5c>s<<0 zQw+iP{4V#6aGR?zj2I2YxHg#4rJglRR009UPYxan<^KSuHSR5{0VhbML2j}PlDWWx zLxc1XX42G_i0cQS6{JZYo&h$Oi0a$%sF@PL5d%7BLORy~l<^7%sRT-sQVT{xMA8q# zrV&Bt1k6hXGbDutOoIm@B;WzSsK7uya)~`j1R4Q_kQdVhMxLNjkSHQZuA$QjvA|kS zmS{x;)c8SxT)!+x3-kd3r1`Xpl0g&D-~jdMV6-AUd%Cl?n(9P2ZlVD<1g?Ap3%r`Sdp ziH&pockS*TOKupwwo!3Zf~{{%G^)}-sO$J(=eFBRDviToYS(g(ezl<9({Q)#E2B}u zkO9l6Bg9QH)TWO=>SD5?>Whu9{ZP#sNcd5!_*WX%)M^}x(-_pdtX$HXq==S)RD~He zMLs#=FI=v|Ri*NZsczCczzHz`kV~A}WWYJo!vylv`WCYAKWrl^+yp#;#Dkig%|&ZW zK4lZYO{Io9j-;(YQ>uVK=(9)>J#Z%~NNq|~#Da4tDhLyR0cC8;=u$xd zRLmF@pah=`0&{^J-1Jw|P+T<@XaFZuNr5B%aGb_FN8&ke$~?v;fKW+|L{TlbsL1o|tGK2$ zc;Sx#6_8|-8iaI!dJzN@KZX=#h+Q39>8DwU`S{_4c7y;~h|GbIsh)z7fOtU(AP+Rb zp~!>rp9~-?I1!P648ami8TjFh5Hy`r4Amf$oWu#j#)8mM5?~sc2O}mju2jGQL5~;& z$G{5YV?WH{jBFA?6{N`U@zO*cF@Qp#1PrJtCoaD{h7c$SnhFksI%gzjmKX_0lT+4n zKa7Zz(*S59_0)R#fBkO=pUVb81ONqO_!)r{Sk4Sn2nvxvGoKv1Y5*kucw>=OqDE!2 zHOhoX#{>XCK-5V1Fk}3>*9ZpOqJ<>+n7~rPPe=gd26zR5#R_1Iw9+bPE}bU;6fORs za)U4_mycW$JOn56@DOR!;0_QK3aTOrB*2;ote7xGaQsExz`5D5ETG(615sT_raY%T zY$Bx1J{arS+f(NHfMmC*O=hfMikYZ`T%_a3M=qEQe8zz-CS&6wKvP+OA_s;Z5`~}* z9-z)=Jmcep@)9iwgE^5s0PFaSJ_7`G6_N!!Yf5#`2?n|jL;z_8W`t!i(=+qK5HuR3 zSEqn74q1_dPZ5fIt?>dgrGL`|h}WI*&+-;Fd!8e=ZCc)Qx2(GxHy8^-%P;pWwaEg_ z>xnv8<&J))?{A{s>ZqNqwMNxf`82SQsd}!al-&9oQgCN3`}O2^8-8nRe~jKO)2nHH zZhE^*cWyH#*KYS`U9~2LPOQyw{Hy+A_Yb(ebKJYVU%0Eevenw#+O|1qr{eohwmpOY z0MR-RMcb!A%I@l=_S@qHqUWa9P`NE?(SUTxViq(!WJ`>GCA+)#6K~_Wp8c~+I=#z7 zcGJ0bjw&nZ2TWWf8)`#IGY41oC=~DpxO*4A-Ib|lR@&23rR~=0ER##L+WKAidZ$UW0>+c&KMZ|2{8jw->YmWw+Vsy?wfc`o=1VSZ zNpX(kemU>I;{K1OPshUCy5AJUsXxDf+jhb)J{h+oS7t z-FIsBXOjKt*}c`+oy2=Kc9KCx)fWxW$fgp2q)o>VWsPA zaqT^8b7}3&uMfntUbS|_+qhB6+}5E4p)#adGd@iQvDUcJSu!@^w%-NBt)boV+uJ;k z8-Dj4$!#}6{?Cxu-ZpnuHw;Z}-LwO>m4FVSLF#%?v!m(y z{+9hORaJe9YMMPh`*i!iz3B11jqbA}?rz+(v*UZN_KRCh+TKkmXOLMdwzz?#)Fh)1 zsxkZDv44{(xw&44)NJdy!p{fEAIZPN7TSBBsqN}>Y~|XCeudNSTkM;K_Zctu{{XXh zc3d}dHM{%${{RJLQFu<_xp@PN`*qu?7C9T&7IlN7`!EWBJOM|blrC6-01Am zPgp)B_h+#d>%F$9_PWaJSB&@`IP&~oE5LFat{a-;_k2e!$KJWM-t4y)E?C@J-fJ%2 zpk)H%mISEFOk?Q(08aHTo3Glg=S_8LHQIg;*Lr_Z(r&%JrjDD6R(OyQU%Cj?E#20( z+CeuB!b#RNjNElO3S-NsUTAr#zsb;Ykt$(+->f?yOyt` z7PoWMw&L}&t^=tCrj?V9ZlkB^`l?%Nev0&KMs@A)+iP;S+Ot&g zFH?QW-`B+TvunKDZ)|P1dt3ImTRqjZzqj1jadyr77Xdcz+I8}}FcJtk9DW(Qv$?Z( zx4TzctydjS*0#6lyIy)U>jb!pisauZIehV+nKhhYY5hY2Vq#D52E8e(JT&D=L!Oxe zLavH}YDpm1#3U>9w0Kx76Fo_q97i$ zp!z@~64c@80K2ei{{V13t>Qb%&F$JPjfXahO|A8`3u}7eNLxILs8g!o@{6DrQv}ds z@PFlh;SWIf=SzOKr`uaTwyNUw#J zOBQ|I=dkVh?H2lbI1Qp)W%9DEw=r-Q1(XON))ue<7_OfEUrigkH{`z;GSZ)vcoVp) z-}{T1_nRBCJ;CLBJ9LWIF7J4I-kNT9j@p$Q8ArUpUC`|-+#uP2e@{x)$}y3->5|663xlq-rD|EV+ilpNMcEW; z4GlChE01yJrL$Lq)%SXP(495?!)UC!Ni z0hN_o(>iXVLtA7Z0;S}eicB2<*X4+{jVmg-H(#_q`S)kEd)rnG^Un4~##?-sY+kr+ z+t}N2{{YQAP1bfBW>u2b*ne_5V>{8^D!--vhMPP4y)D-6%WBeZuXMeG>~FYk411^S z? z+FDzW=6x0XWBk3n==-$jeOm4G^9s){zCGQ?nVkOs70d8E-s6Jq9yfW$a~yT%x47fC zJ9e?W7Xc#8;cS){Hn#%mR#{l~2=|vYcpHudU09F1XWtTo46yDV5Q0NMP<*h!7xSnKx?H+ZO$MPc*3&cdnlwkan+< z{*!@mE$Jn02sZC(t<}1WuVInu8l(}9t($IaZY%6NR`qG7yJX9IXJ@V3dp%uieW$8w zRCpc#0QT+oal7pA+IE+@o6DR2-ZwVeE-Rk68Sn9i>04?!W-P+)&16m7)I@?OAGrG` z`6GXB)%5=WSF?GAZ9A0sA1r?;{{RZtaqfE8wriZbZLh{s{Gi+4a9?J@~Z#SfX84 zWea}Izyk(Z43Y82(>{^wT_3D;_2234tyh=b-2VV$@Q+jUZmZIF-p2i5zmLUnEjp3i zt-RXZ+D7#*TadRL5L8Z>025MRMm*bd4KFL;crD7RK1}?4K_P5y+RHV|_ZM|)*gEYw zN4DX=`J&6pg}bZF49c40J>9zR(e3Ue=;aSKN zv+gQduZf`id#^6;;`j~o_Ufn1vRz^P__n-0Z$6K`e&reFdPFqWl$o(_hUi9DS z+UdI1?X|)G0At#Y+U|Y_yEu)HH^6dRZc~fi*tdGd>u+#eONnwAD-|V?)u=(o&z*Ot z^?e5W>H3;F-o2;oJuh3c*6gj_i>FqmOo+aN3Qa)L4SqDs9zCPAG|CL3fXN~!DJ1xc zn7}dd)SV_4B=iIr6B%mh;Bg=;f&>x=mRbPJ^jM_eT7eywbk-pCsnlvbBk;ulgnp)x zAkYZt2VR8W08m#c1R03%f^+CF0O1;h0VAjxOcN?|f%xF@0H89&00xpNG|Hza!JrCs zs_C6S5@>TG25~vzYmgf9i5h^@UZgQOs1uOG$hh}FCZI^D%!x8SBxEBFKo0=`gCr7j zngO0B22>fSf_@$yW8)ZkkQM+kPIc??8D&G^gF$K}Km_%g_;u-7@c3b9GCk`FaO(go zfFzI90H`P9{BctiX=yY5gj$t-zao?b8YIB-fdX=kUm8;^K}xZsao9YThlPHbKdMNO zPlgh&8Dk{E)+nGFf^@+&sgpm(F<>YVXReZ957RzU0TF-&@_C6Pp%M>D2$K>z^udq; zgqa3ve6s~X$b6&200=TMCIHT{nI0L8F%&5}VCNL9ng|~+$Hxd_#YkZ^nnyrka*6q1 z@Bspu8bK0N(D=-c;YFNwgu;d_05h`G7kSljw`!50~kKwEkUQEW1+ zi;U&<1SFV}MmhOf(@%~ETi&yT^H|A>_9wf2$?eYg?br8P?kTR1Uyg896;a3ck#0h( zCz`8$~fvI((l15!48QX2w7RwaHnpztdXTP&}fJ2g_&Sn7$pS zuTQ-8cM{f(oUiS_y0&*$)3-Ux*B5hc?aMn|#^wSSRw!)xmlaq`0qN?ivQ zyT8=(JG&EKxrzJ^gSWnYyQ^DvDFiuhF$zUdjRL7${BcfM!{xR$HXm+xF5cL*#_sJ} z+d^6jRSJPyc8VIOMhdDxsci9^NiN`wI>O{XDv@o%5S&@HIc?r-+{Wi&C`j}%kQKs(saBO|ACt~%r zD$M2~QlX^(08*@p9tcSBY-0BFIs&q)g_cL&yn+w**nm{bu@gXG>1ZQAq4l+l)x6mI+0y8WdjQZRY8ES?u$MI~03>XDGOMS+9((cUA z+OC8Ra2&NTfhBwgmklSWNf6s_Z5dsgaeCoV0g9@r2QHetem!vK5H~KmXj5$vptxOU zR;IQYUg?^Wq!Pf#OwM^>Xy;K(GT(JorL;N)kOP2#&PADsF2}>K%N3)IQAy6Fq29{e zApZc|nk|cdsQ{Te*m*;=cp3R&{)G-(y`-*$OIFrc+`hrcV@MY0rgO@eAR3)Zm5xH_ zbS~|rkwt_;21c+F2g)$He-c_z*o=>B$!$X^4RP;&r6S`JtYj!umm!JB8s<+-Pb-)q zCniO*f+lF(g{`#2C)FvK>|q`&NBje(gBzhnE2{9c{hmIH!@0CCd z7$Tq#F{VV!fI5HGfuJn+kuHakCLv@`nvtk^g*;%!Dy}iWM<;#C`&Dn;9>?FJGw5X?C&RUrQq=cnA+~Gwc9tW zrMs4|U9{F2VbPJ9Sy~JsSb^~Aj!o^AS)Zy;bfu-Za$)Xn+GYVXu9`$!I*P_xjle<7 zjPjguTUkbm%|2?sGCJ4o0K&Ph zH|e+e7cJr&lz6{V>8rW4x2l)ioTbHfo`iAynJA=RRkXk{HrZM4E7eU)E2Am-_+!b+ zc~SE{YW1yc3rI7ak0EN(2e>WTR#Br^CF(!~SXna7ohC6ayHlTun(_OaS3kLM+BF(T zg+kv@B?xAphvSUePzxpOZiU4fZEcyg5$i2oK_IA4R!*X3I(0Zu^hR-lRjAK!ODR?j zsDQTAO92F`ndwRK>4zA@&_tEHrDEN^y`ghdGI`rf5*W;qU&F6jVkSU+Zny}Rw&)l2 z2x)SDxo-oVXY#`VtJAC%VP;OP3PWnPM41K~SC5a&01w(%xeBiCN&e;KkOIt`dQ?jm z0;lyHse=Gq?1Z+#S>ebLs_v#bvt1|0tbI}8iO0wbt*=eRu(uF^U@8W1u0agXtg5In z`1Hc&OB_%a8xL*4KtS~B%p8PflM++_&_qzzA&7@ut{^jUEjT6aT9+zK#U5fS2(nI- zPJ`evQ_b=X3vT04AQU=QRT}I`S;~L{pqhh$r_U-RX~ULTH#XIaDJ&VK52Q5fMm16e zOpgp)z9Vi_BG0--wloA~wQZ%XAS-d#qN@QRW1++CMUcHl&#gGl8bH9g>WPcKwp%joq}kN`QquMYLkR zoxMyJPmORU(#DKS6__J>*WJ}O7p$u>D7Qp{Ks1$!)d!?k4RMJC;Z{=W};(_YM0yYeA2k-2$bldew`K4{^u?Nu)*; zRwe2@L@h$T7R|sW?cLiJI`7)oY2Ac}7T3xcj=c${1m({HQ->&mH+QdVJC9EChIAK} z;blex&IP7of=bOv@{f#SvfpS&F=M~F7K>lAxJ7x>x%4foJ1(hEj!IirubxB(Ia3W+ zn%uDncq})$HoVXO0Jl)U=sUG{y1H42OLn&og2lV50vUC*16tyhe9kdcxcq#AVU~y7 zZS6MT-`wtRZf=(KMce1px^(?Mt9sjyO+W>eMX)F-TqReIT^>i55?Qxgv+Ws1)a;tu zT2wX;?RMjAgaN6*It$qqlCE9btYP6d%$&$VR>@~x=QeI4ZGZPMdgEQ*Zf~mb*2#@_ z_T`1Eg3PQ+TQH#HP6x{JvE2iT#J3N#`j-vQKgK1GRkwb&>>xK8{d+q_B})weAZzVx z8PTajNCe_imjbO@Q^3cscT*HWwBt8GkOl4Km9?|9Ugwluvuj=3J!4Ul8d$_)xh&LW z)E!jeri@R0+&td*M;m{c-*0&3yl!3N_PP$w)IuR{?;hQ#yo$NoSSTn7X~Cuntz$X? zdvWL}1CzDKwZK}=hJCw&OtW0v{{U|5Bs4Wi^)!x=hikV~o6v6%V^7F7+3zB@=X6UK zdux8;>b@sI1=X+IUT=eg5fD!!6C$+iq`eg~lKDl!!ZW z7>`(m6)FT_^XJTy@h-6Osc$@m&7O-pFzL5M)w?>h-UKnzrsk_g`>RfsG`nz<1PR2u zHrh`FH#uZ(N4a+!n|7_CzsTD4wVkN4i)s-{`nS!aZ4$r(Nd?Z38Hpr}N>i2*j^h;H zb3_qr@&eP`L3wr?J7Mp&!wgFm1X(3OATunkl>kY_HrtoLs@7h37{2GYw^o|1{>mzkSWNm@Dfg_R=k;kYb@oRREEO zp*H(LtYcP;sX2kYo0sld7va=)B z`AwzQHupQbOjO%anv4V|`zRhRy`%_)tpQX3N1Aa;$zuRsAG$ADx_{fOSQk-a)!w`A zF4`@nQt;ZX#X=Hh_x6*l%l zfJnGQGWm=OVJ=^c2{kjTB3$OSwi`?C&Hh>gBb$qNZkCRfTZCJ8(Q?|xq#6MwM482= zm0{_{Nlw_oNyy!McbzX4+`6Tkqd_-rl2|JSP|^gDmq>uj$EFpM(PKOXl`Be?z27Jm zi<|d9a=Ug9sh{?jED*NV)vG0l+uJCZ^j+S zw(Oe~wY1)ERTz)AwY^M*BhjKwGb8gMytXE0}PGfm7b2R7WT{h+?qFWlo)G9|m< z3)il@>1Bf6vaRX@b0t6%B;h&2pN_!hZ&)8q-rJ9BcQ5VM{_A$vTr)b2*Q`NS+}yWw zOI(_bIzR-oL5v*VCqI!>I2^lkk>!{h?q6qQIbGTjWj5$^m0OPsZTA-qLGv&=SIPm! ztId1GE+H>5ZQF9&E;{inm$?hd$I-KCUEf+EQFi9>iL}bSK>=85H8F{IU*-7?Xh?oq z>oMPMFRtA`O^vmLQFt>4I<7N;>P~bePLKeDij~2WD@N3icO1RzfBTz$hT8qc32AS& zw|f>%P3PRaJ-de8HO#QoNvOm;xwFq`;ZKJW1^!vLnsi?M;t~v_Z0OnT-u}{czV7C$T1aBPh-GBCcqG7JRU1(xm>8$I%U2(mPv}D2 zZcAIdn~UVyGWIq*CG^FTAhpAG>oVH9L=6O1kO-V7tS%(-sO8|xJ^O)d0`~n2Y_)QM zZY8&%M^WkDyzHh5m^yL-aW=hD^Fk7xB0fJ+v|YZ=FTL@%QT@Arx!eS`c~}xy8%*~R z9uJ#IA`h5A#Nn=F=Dnk7wKdf|5u1~`_pTk4yA5T$rodJOkRL6}m##9lo3GY9<^hl} z?`EHG<_dVS&3(4$_llEp_0p#0w<~XIZpZzULZGn|0Y+;i2{_5ynZuOO%VzI&z1%2U zTWcI<(x158GX-!H>bRWB{OFT<8{yxaC71Zul0K2qDpso_-z^IlT<_)Vw)D}|Wq%3u!fH5sr zww?gxxGYzFIQ5Dp(r-nuLA;G{5vYrg=WQhE)D*3MsxcP&p^qq=YWC)Bgh#fB?8t`V zTLstj?9>H>P-ThB;@M`LzESCeIN^D&M`+;O-R+DOwRIgx(QTsUo2rH`8Ty*6zzHV< zvsIO7Q~D8fxjVRZ=u8tv~!vio0Y&1%|K zt@ayhiRMMaX7b*<={nkWmp|NBRVd+D>I!-j)YBUM=Itvr6!PI~qc<-N-(H@D8cJCn zlG#hXvtD5l>fB{pVL}fu6a&W^S9!IE493*v!_1f;efuxizUDsToZ_yhYIi>A18#Tx zY8!lZ`O#V}Zg}0jrQ5yhjL`d(0p_A{t6NU8zP<*PYi-TGmGSV8Kl`_f?!RyOYy1y( z@Yi^uYUA74@2y!Qgx;>EOKq~>-=+JPluH6bf76d2dRyzVYxFw#`Ij=#V$S7vmdjja zY0&3GsVrbGrEaY#2UVDia>Km3#P%1>GLyl0+ilI@QrncY09&fwXaR(yT+G{F0a?W5 zIAEKYaRuvZwX`jtPUyMm+#=x8Nw`i-tmD&IT(EHl(s|Ik+S}X=!rCg5q_dHdb%rJo zs6A$JHgN>qrlA*0Tz{)>(JI8+Wg3ct_nL(vS`}8mS5xuB@8U{aV-Q{K?8UTnmwTa$ zJ-b#;scMPq=-KpDHNilNh{RVSjo%4 zK*c%bO^10U7fKeP3~5+BB!lzEM%6iT^r#M9&8Fo&iDJ!IwA$EFEl5EzLS{Kx!G0PzKk0!cCO{O9Hd7&1MO z7~H&R>NEp6BFI|&PfRIu+$NLA_OLP&kTG33POs^JaKcg$IAxVOlt?B;Y0@wU3}{mk zn)Mk1sbY=MgW59Tllji?8pFaQTh1)ygc#Qu0t z31_@n44|;8$jSp6k^nt?xF#F|aj9R z{{UF-)9mc6TfX9Tp9QOY4|Vnrp}$@CF2=>H&C~6^d-f!b4J)Bp?l5u|A%QD)=4{00 zOn)Hy-M!t->u=uEd(E1e^E|Wd9j98+QDG$u!C?%ei`R#$K(>qO0D8tiH|qILJX5Q_ zS?z{Rp!)=rqL@bLjo1p3W55d z{{Tvw9~@y{w&F1UKNDQlV?n!)6a^3fHPQ(EBnB}Brfc%YO2v6o#FnFh8s+wt&=dyJ z2mlx>FvLw(wK?HC^J$gvidsP}Hy2ekf~6SgEMbf&tc;gbQZdo8)pEb_ym({xGHEv) zOP3wBZcBNxlC$7ySCtbhr)i5IRApeXe& z0&)G8_Gh>DJ+1AYi_rRd^4DWxm3}a%^F9>yzfs-wUsd1h_Zx3>alGps3*9QR7!V8@ zH58!+K_KJWnvG8u2p(z-;wLE|(-rw)2(3f(fJx0n(437Vl5jl+P+-zTd@`DY!AKlTt-z17glZ3?c&(2oeMs27}=w=kUPP51P8l zDrO0p5tITVg1;Obusm?kshap1tPdWUV0s3Cek1260L92aB#h+e^1&IAc#ShfU{Fkc za0F%e;rDSR*(dRV2_~&TAhmL#&pEqhpLYhocxzLc9jNNLD5z!wShY2&FAd4qLn$iUI3hvnE4k1AiPSX<$kA>OL+?#KB=o zf+PVWGZFaUQ^cT4k|s$l0wnbrgOC&Rz#v$W(q(|4h%h>kWEsE%B#3}XAPD$O88bpU z;fxk>oNAB^kUT5#j1VQOK#r#5X(7Y0SLlD zG$NUiSux{*U*LJhk2_%mb;3U=FE?Bg`f%sG5)f_+c*5jhHbE zR8mQr0rfBu0=Z#`ZOM`cnP#;ng!yKmlO8w{%<&jHn22aPMp09c407_~Rve%at}b8_ z-Fyz80VF{Du}?sOooDbQ(qIwer00d=ALQ%cAZhqYk~4rKC?cQp!&%T}1Nvjcl4SX# zr_Pvp0R>0Ih>DJqVls>vS>hfeEYzUXL4ot}G^KG3$T5a28b(LzIf;X)15YiZlU%0@ zlCcj#%MhCvLaU(=(tR=z$j+asafP-g>4X4!CCKz{AzF|RmE-_4&N=O~YAIm@4wtQ; zI_WZF`arMJd})?5foMf_jZ7tjK#7ARI0B+RQ~Y8H)T!rYpFfW-|J~xgiKqFlQ);HL0a~;&{MQT#(&vf~=te zlO?ECMw8Z&Qxn$=Ipx7t%dsa=lobQ}a{^5yk|ch3M722ylmsuTSg9aLpfJZ%bS$*Q zw6OcoCz3gPnnp|Ibu$D;V68mN1u=Mj1G1JvBr{OvL^M)*saXO)*Aj=B*8 zL`)F}PNO)w!X5B1#B%br1r*0VJIvj8GMmGbb!pGj`>O7_D)YPJ{+w zWRNL7W<6qRQ$kZ;0y==n2Szx3C1$99hfszS=Kp0nfajN~rX=)<@6hf*IfSoO@RDl_Z z2T_mVg-C6?WpNrCT>uI+38AQBOL>4Z9yqGki}?!B;Xcs`u25K=2Ss3lP{}%D;fdT% zQ%mMhE$TH8>R<$xfU%}@xD_&I<%X`C?m~IO6}+mZ>b9u>=uJwcs6_t&LGd_Nw_|V^ zS`3g0TaV>rVyaqWNg15LrQx*_G9YvqoyVMisdaeo1+Al8wq~}5 zqQv-!pw$uc#&M4jXsrcLKK|Nu4R?1QRA?5u_+04E4k1^1>-6ITUIE*{$e<1d}2KWPl_@Q^OR$A=g30 zs00EgNa(sVQ&SRW0)|p@r3MK4nOUR|q$whDl5>c{wUT)z*IijZ;JT(jyIJ z5=S=}JPS_9#EnV?3q&kbfJa`KR&bjdQ!lWXExRex1dRmhjUj2}BQh)V2L-DkIQfpU z3NQkMtI5CEDgdzzsu-9#;W-q(Xpbpz zb|&Sp1lLYtP%r8txslTijc7|y7(!GU=>!58bulC<>OMG^`G{~SlC>gqkj<#65Gul% z;LKzKH&9p8g$Fh=O*Dd6qYveP2LWKLZLAVC4N}F4GX!K{e+&Q$9bQ7e-6~6SZ;hX8;c+y+R8q=m28HM@kuhPDX279vXmtm`tNlGQ&{MC@&n)nA%8mn7;ygqz=Q1lk3z>n4bydU6k1SO{!dbMBnFd7wtq3^Q1S2S&EgDIt zlMH7d4~2gm9l_jDQIJ(O*-SAySOJ-UAd*FJ04rr&p(9ioiU@9m=KvhAk`!?yIsjWi zVJgy4Y9Fd`)7pTuE{ zypbyBP>@w&L}wK;wa#md@7Owm`ofZ+ih`mj8kGEeXB3iY3y6wJ7;Rdfg~$Ye-F{!` zio?(~@EEuQx`Lz=sk(}%>Lvgr;w{28K%N?U5-rF>DpR1GjzqCD0g0?)ra_YcWk5+) zEJ!ouCV-j=lO8zA*|A*0sJ>*XGt}uC^nx?Y%#%1)grPEFypt^2)&2=gAA+)x(yo};AT zoc9_M_jk_6Y3YMEw}Nie&ATEBs3x%eVwllQDD4x16{Wg-*{!)9z_`r1ytNZG1QQd| z0i0y;q2-oihF<9)fJA^=x|9$qBg{$sF(mS-p7B^}CSrm`P$;AlCS;!s0Fqh;il_9E zT_#*2y)w2qr*8&*tbI3bQ~{S61p45Hn*bwWarqDd!Icql9JX#DXl ztrnn*TY+(mf)`23HEPr(u#qzq!&p!Qo{navRu7vn0W|;!n9SgwAY@!O0e6vqRl&2j z8g$$!b-Y9yN@+h3aeH-b%lbjM$+I~A18uio?b=o7e5IJ_020LH$M|ERQjKC0{-kp` z(^Dnd@ljSv52xTKDvax%3acx5^ap80?RLt5Lit4mM7BiuWO1S)=TPo7yGnJOgvsk% zg9=GF8%Yj07`Fcak>B0D`(2H%QSN}Y%E@g;glK|#$A&X**S9Tn1dO|e?YoI+UgozG z06ohF;7bNq{?f1;hE-d3^oc*WLUic> zQ0F+E&E8z_HLX(DiJ^O!++D8OuH3u2eZ}ZtNnvx$1Tgb5nG+}Fj}_GQk>#tKn^$hu zM?Cj8yB8sY?nQvQ$|x$%R4{EssU?)=REdd2 z;M{TQOQSlH!c>UVS_D88i4%_*yVq@P)^CKk{JT!IwRc`bnw6=o`EPVI&DY!_+Y59l z4{RA^Hv%&gp-Sm3m>Rkfjy=y%Q18zb{>M`2ZEdwO)|fSiG4FS8@%J0|{l~Q`6$RxN zk-)fZn}^gZ2@uh&o^n*y)$~X#amPR8q<^eq3jMhk#~K-jKKxa z$8~9KvIRPV7u+wF2tE~0LzPzF!j+z4w9bhT8uCmz>*P7Z&7P z{r1S~NF<4E(RCKtAUX1qD;UXo{@s&qwo$5%>HH1<0Qx@ba^J)gHotgY+g}!zs19N3{%nPu&K# z6`X2jycp>aVibw_W4@h4rFG`7X^pyjQNzKSY&+G6QLH|eDyH4zZsQ>%PKa|CE*}{X zF}*sZ>kd{-e%z+xD9`wQ{{U6F>89%Na6+Q9R@k;A`B|aaJcuGZ_L)x?=@EONCD zerE9Pk9N14M@4PPyteeus#xh7)R`d5+fdyE&Uo_M9;3Nj&JJzPoi)y|bZ2Y(nZ@$4 zYW2}>=m5E5D8{6#PnZu66OTR9^>p8&mk;Api*s#lIl@NMw|>U<$%AhFrV!H&A*!cM zK{3|2=)T=|Ys%Q_+KVp37UVl=3pMSAZ7z1DyrjqJq$>O|#^~sxi^yL!ZQ^20X_D)$ z#VYE=HMS8903?-RCUO*vIl(Tl<%SZn416HO9LO1oI8r@IDgg$DY3BX|@xY0CV0T7x z1i=P#GaYj|XM|RzB7+JHz%v!fgr0{FGBCn^nKRSlOsVnyI8Z;(P_r-$*WzH)EW!SG zIY4w;ikj4@li(zLkHZP56pUR;#bRf`)JV#Z8yws9TCbUPnfzz-#tS|r zLzpBfDn!&}D-#fUkEu-M@Wz{Yv{~R#+QE3*5Sm((^uUG$0g>t=G0{g3R)%g`&V}mj zgxu|1GO5;uNGl|Qq!9K=hxx;a@jmD_hXedW!xk3!)$HtxeiY3iUsn&pjl zZtj-d@pS(HBu@6#m;1@#>)v1NUt6#>hzc0N04SOQNvYIo20D2;a?ClU#}enaBS<-t zBs7YOjE{tWEN5#r+Mg(uV%*(?`)XW;KS!E}>W;A$k}&yf)?bziqlL}lOt!YrA5MXC zQ%xcS45|()y3YYWGR{*UOKBy7=`s~(DhY)Y@WlokF~Ca5AheJSbT$1X52RoiX4)|Z zfYZ#AIzT=hSm9|c=qb?-t57bI02CnP76Bb8hO~XbIe?m_a{{8Zk>U*p&j~(dBVw_o z43P#62{`~nWr4U_gSRT}D1rx+1N4ZP>PhetXYs?=AUUOSJqPivMsYZBI7KqhgD`T4 zn4cV~Mgg!vGowi$iZa0lGnmWagf8NhAfA9s#RSZX9OnQ)LJa*Ta{yEjVwqR{FaWY3 zMNU;Y{Qe{TFvlet%9EHg2AxmDP7DWdiBeP$UpvjU5Bs2;^ z=tqQqt{94DtWXUzLNt?6PNb8CDQYlH1e~<^);j+Ht|&n146G+LiH{LKDZm8_@X0td#5QYrUCVW0M zKY< z&h0G$pbUVDews?gSn?F2NlM6~T4;@@Ni*dPI>hHW^r!L0fYwtG)+wYf;wWlKA1|EX zf`M$z8K!ah###RW3BW0D4^VPFK>5^GIz@0Hieo&DX-Za@ALb`NAcz(Cf@#w!69RA# zJT($)TDL>eA|QdCFvMfs!OZ^vwQWjmbl>Ffk!xqRokY788rs~3DuB&0j8$mfcoS#K z=8O@zUJv#*p7!qV?m0cx(|>unWtMBVyu}c}l}Z8N1u>1QOr`X_QJr$R?Wu?RgY9n- z-#b)&z-_lHw_$f}$SgJGC|>~7k)Th-g{Z36pE-H`C5E{`l~GIBpL zkLMTiAMvNG`y-F+>8W9xrw`@_@y#nadRGfL?s*BR~kmS)df06}4vpvgW7}`Ip3S?*a{DWLn~JG+*5zGobKDN~ z9E)3<8;SMogo+SKFrgL4^q<(D$o_@zPfe#)>HF1vNBL6;r{H{l?w@G-pSSv_({Hn^Vaw2bz52<-1~YswG>ou1%Z@`5PmD97k~ zJL-8Yi9IX+HMTOG*NmELZ+_mdP6hjH8s(BT8)~zqhH?rXv-o4FWl6~O7`<#k{v%QP^tK@yWx3ldpaW38FdquQt`0iNS zy}0B!y<{z`d$x9Ce{84qPnAUFiQU5#+ZN2HTlsv+d$)4fh`;WD`P1gtA96sZP<~aN3ZNA#> zl-el7l5Sgbsc+b5m1QMQO5^6ARP=76)4GS#b(D17Pmk>T54L>|++LgOoh>@QP2H{b ztdykkpJ#I{{+8c%`fNSBN{Y~KYFE4f*2ESRXs8sCj|+DYvC5h4I~#Q0r#&@%I|N(W zN+#ep_W=vHvoN+pL2Ya$8%WO?yIPN%nk>6KOfO0__MtS^XGiklc2C>a-G4dlb=w`i z-P^6tIoVq5rJc*I-OnMwD3rFU+Kb)dksr*ET_8m<`vTJH5%;gKnzi~*Qrdfc zT9lhn@%;}Jd;b91{_^&xx;MS6-+W&8i{I_k3tWS3**LySXk;emX}Y$?&D~_iVS&ta z$JD-y?jDEMI%U*!*G|t`{Bb^U^`CF`K9$tHuA;tH@owV-Yt6TJPf3_sVQpOsvO5`t zRbl}>W}su((yi+={f}FenNjg?tJLkEwr{*X;r4@bwe3#z-)_5u+tGI2izjgHy5#shPZxJPGEet5fC7CP zCPawKACvpT`17UpU8{ATonB6{sOT=bezwltI^)^>PjCB2ygP5cI1Pt# z_OCCp=D40p#kLfl1lwR9mO&D2xoL*`RMkDPk{08HxrH>tNx)lt)OkB{tr z-_UxOP1o!#{+`^_d{+Y~LJ7}IK@HH)QgOg}9|7=dBv&d^D5+l)Gk`P1b0N@@a;I4U zfNC4#o+pUL7)h-3^2v}->Lw$mCuRkL7K#DX8stRsxOQ%JEVMr0hJ_3mJQ66}myk=f3^^J@h|*`bOucdWO}0 z^G#Ok7Ol86;P$_4`?J)&v(?wA=Tu*z&93dIrJ}DQ;|SI>L?%+ zKZZY3{yY9p_3vYK%X_8XyXkFp%~zEiVR#;s?yqI~XSsT3P3^j_q8wQ){7KXnIS$D8 zr?(q`?oK|&>9;9yZ)|rK?Va7X&`~e!?lz~la@W=w4G72dr}*RfThP7j(QWSRZq;?o zL!;Jw50QP)x~RH-@mq2Wg66i#^JcFr%VD#m^!k;=B%pbP|T~ceaY^h zZF$G$yEB)&V{xM1-;v|D0KU(Yx2U_=YYNL{FWhe^xIsA4`K!xlXlnbFakk>j?Tzmh z?Qh;EYFXSHTVC7uM}yj10I;>UY0ziY0LHB2|x<6m(?Rr+U z>srN^@7jK|><{HnRra@4PM>!6w?#Rta+iVT_qiV3cW<>_!E=J{?lJbRZr?m_F>E>G zcQ&MtQ)_=rTxGUkA%d`Caq_>oJ-O;$gVjElsjFL*dhmbuF4TSD?GJr=Pq_LDZ*<$d z)wNeL;-7)9muGI_w{%6NbuO;#%D2{H5=51D8H~+OTzdA;QMu1;t?7>6oVY#J!>sK* z@FW*oh3(u&xR*;>dq#-C)+3_?W)-Y>W3nNuFOxa0@yUFqp{K;@{{UgW8A8H>IhGMXQJc4nIovkMa*$=-bul`s+LNY7?Fc zb(8T=%AV7+VyIt+gRuB@srRWaDA!vfA0SPvi4og!g3pJuW?(pkHYs~ z7%bZ4_PfhtTJgN?irsy^!wYiT`M@S4JbiKOf8-zd)~{FT+uYqPwXDy`_$S`J#NXQ9 zzo&Y}#kRVdy<@Yn#~vq*p6vTe-rmsnEB4QQaW^)%JwbPfVV02YF^IQM0FUQ8}0r#iLuc78qtwY}(m(#u^zcX6iO$BDP0q^c+*O}9{B zjEymd=GWYIP0db)zP8dzd9*qo*nhcR@b(j*xBlOMd(L)_>w9T=zTVzlb8gnqjTf)+ zw*1Xz@n+Q!R0YfodM~;CmD2j(Piv~BzLcvT+3o)Tb@d*TyUBaIY`z~Ihq`{#`^ni} z@b>kd;q5L;-SWU&-*ML+Mbom@X5MZqiMDH)ni+#ek_CKg{Bhu#hI!Q6e<>YD49B34q?$3QCO!mWcoaB5 zUokMXpDjU%8gmjz{IGWb%jF~Eopk~FsrqV7aKHjd02!&4BER}(m84(+#1k@e8GlKd zOyy3v03-yEpiBZPYARx4fujk4;bU$z{ZUEt37{swq<%Ox0hSD~4Ei`bYw6BpJ#)BrM>73t2L`9}`nd$BqCNNuZ4+)DmS z9!~E!ca`m`*tfcCrKa7+HtmozVWbTud`3g#k2zRs2z9H&(84*bj^}u{Q}$bZcTrc; zOBbHit5QOGj>IX`T_JiBNsKEtvHm1FCcLtxoVVV+jQiVrl})bH+YIStENrh`v#r>m zbxVRBNhMW{E*fQAN=xKzTx#2A3ww?2t^Kp#x3;q^t#IB&v2xTZL=e{jX0(Ak#KNzP zV;k(c-5Hq!Rl!F5u|mjp>m+kZ0LNHkWg z8Jw{W=|AXo^4ET`br1AAyV`Gl_rM~4Eo|Du+-AFImDKu}TbXStfm{&Apr6x@zcX6-em)V8 z+pi5#zq@1HC04X;Zo%7~0c=@7Qq{)nv!t@(43X zw6r9H)XA03w=Zc0mJ||R;L?kv!32T{d}7e>yNqX^c6aVvxEFM~0{-9BxaVHx+?be=jW+I*(n{M@J^#N096^g3_MXLibrD0d8#!&3Dq?zAtb6rj4#CIR5ZEcOhvV>W5Gc6zX z{E)0vAEH7Jjx)0D)P|xIsWSU~jm!4IK)P56RxrjXB)Ed3rc2-sCL;oR<%MqRTw@l9 z0b!iHDoKC^39paTeghK0Qgj|mWNL+yOqgI`j)c&N=rUiP6K1JGf#GlHEUp;O(lsiQ zN0h}ieDciK1Cc11Q;}Uk4y&hMQq|A?uc@^k4>9S1BCuI*+jItWF(WNThD=K=iW(k+ zEXEspMqqL>EGzk*)u6}-VRu_7CZSXq`PMR%OdQP(S*-}y_SY?yxn}wzK-K757OjG0 z%UnKkOjE07DS~BXLmFvMVP@QZ*`68R^}{;F#+3|cblbP)AbhaYypFxRS}m7%DP>5u zjFL?Hik1|3zyXV~iqJsAQ2a`Q1;cTUw4EwL>s3&w_G~9{ng5|Nhe7Rz_ z*g*c&w6=o+=_R0w#-l+n1lI=uv~e>1rtaV%n`nj%n{5Zp(1vEI11XadOblgce@kRc z;L5gp*eVQ`fJ-rz10@=dlmY!;kS7wVlavtn>R+vHK)0kZkQi035pfv6mcZ z9wjyPb^4f}7CEUI0tkg~^vvPc>d8FScuyoNjspPBH9a)tG#@#Lr{PRoCBs3MjrEIL zt2ZoMMG0^~bLJ){RO;8|SgeNs0MmzCa@i%Qnt5_~)AwKPVs?*tw=c$9Z}y(zyK?^k zrDJLeZMSLzUsq)f4|Tl9Q~(4;ajx}kxm9^bvid($ZQZwB*;h#}@5JJMPQ%-0Qh+c7 zTxG~XK3zb@u7Yvn?OL@qPn~`Y^Oa4$CM9|I3vou-N~tBok_c06L`lq0(3%rNjAFXA z4I3zooy+$B0Pi06liIIrcMkLa0C}=SwZ(E*nV$XYI%Rg(S=&qKBTlTx%N|Fj-uu2= zeM|HH=Ys2cI)CP_vy-+sj&sqsZLhMI1c`TzHz(>*CsNdsG0|$hQQPk1%3S z#<-U+0Jd$(5IwjjlH>Sl?82g?c^_lO&}ZZRN>U>FGd zbRMFZ5(}}oOm(Nj0*TI`NVRV3TNc#rOER$a8tdB%xlAZgsQ&;Cm{?A6kSEx*zy>U* zNGfi-dY6G&lF&0h0|Oz1z?7(pLH_2NJ;GQ7)M#~SI-gR+)DD9Zteegl6Vm>$vdEUl znGi&tkj6+Woc==xDtgEg{cu)QHH0!oK++D9q6veZQ9)cTSY6>H8~ca2NETRIFc(RR zXC`0@@`6!9iRdNj+G}ArX?3Cc);zyU4_HyHM=m{ozz=Kfd|t% ze6!*!I5NBg>2sJPqgz!6ZMU?p0h^bch3n@av1`sV6ElIl!8U2RjFHmn$-K7?`rtD6 z3azD#*;3d6N-SnhSVF6W9_w_?YTJv*wwM$Q2$m37sBjF4r%dVwLnPrCi4V}OJ*C3a!wy0aS%7H2li!Wq( zGztQ01pw=Z3Asa_!p(B|OHzR>Y9zJO{{VedgXe6-_)JMAxJv`qz_PydZZ2F!zjof? zbG^A9p?@r`&83wAHCzI$auE_v2N95X(6sMefiGsxyUxCy+ox9Jb$rAWO<|Q8+adsp z<%?BLyvzLuAB!>ed-vTh@)pIUv{v5V)3}MH!)rG$3vUQi3e1uKz^6+5$1z@7>pw8> z@AkW!S1nrHv!peh<@M9D{hG1TZ!YrTofRUchvSLRlN`Tqj(<;Tw|AU{t4$X6mXhtQ zmgI&7Za(lkUfi7uDvF?vwZrDjtwTC+E!>AE!g0VREpIrX1#9ak1wYCc4P+P zGeIs`>XQ`4lI@2a-KAzscXP@v@(U+WuR#xNy%%L z7lwsltY}y_8=akpecs;P&Gq}L3vTy!=G$GER~CRS&uXG1LwTtafhlm_0cjJT*pFiN z(QTmIUVmEk!t1%Y7ZF=M7VZMV+NbGaOxqtEPI-y08;tn&7Jc_KwMG_=*1Roho!#$M zHnKd#m9`r7!eUw#W6C6Dfj`8Jd)Wj30E9c6z^2)T*J>EROGj;JvgwQ09gnNJbz>_q z8Hq7T#VGlPXENW$3}cq&cgdwLT|xjC1+}^8ZEmCeBw4gg(#)$1CR9l?IEM;eOLR-P zf;*=6^56dVbh~S4gxlL&M%!;Mf%R>O+r-;$t8mF!6q7A1aZB_5#Zg9I$9ZGjxegB6 z!Q1+f*DhURLWU%%&}1s9Y`}o?oMEYs;;hnBmdjPW?bN?>(!KuWc2HluS+?74wv{2) z(J%VY#cQL$oMe+uYn06ExeejJ61N+#Mq2Ay+1WqVwX!Xho8?J{I<%oIVwl&J zJ#xowsjr(xNnUexwX_?3x*Ki1)C+Rn-_*OhaUqy6kTl((U^IZRuxA79jF~D`rqak3 zxvNQWUu$3`$57*Ob{BhXNhGW`t8Z}4Dq)P$F-wk+f-w&Xb`fv#ckW*GF0)u*4yzk> zbqtGCw9k2oDe0dws)SkUP9pQBmHqq5ain0H+vc{xl=@yoy7q2d4RXN_3SGT)HkZEA zLJ5LE5CFudIjZr_grzT;d`cE)?(G&z0`ftw1(*3Sh?tJS(q-NWt?1V%_B>I3P6~QH7;9FL)&%W z=i~Gov%K0}xqEZAYkTd$Rk3$}ykm2Zwk_tC0MO}l#7vn{1d`ZLr9#R=(*#|{;Q?*N z`;bPqjTZL1QsvZ!Cg<&Js4Ah0M7X08z!(!!qH^PbO;y)iqAjh_DvX-7~ z(M{S~ZzNsAy^V@)U9EAJ+UKU$tm(GNtxke1D{8u0*gjwjX*Gh_mZ2u`UcuIlxO$Q8 zZ@0UPp?xk!=F-}MXZH5bn(2aC&fEZfSrYOzYJew6!k1h)VkV$+vB@qgxwvvmv)c`nPoIAKOb_Z8sdpoS9N{ zg~MK2%~NT1lI9_5Mcwjya`LvnY}ODZo0kJ$e=pN@QMB6BqM!hE2oqC+YN5QZ)TW{* z>0}~rT?NIz-WOoaxa2ikLj)4RNr9x-N`gdFrW~f`sm53}8ENvC!?R1b*5>J2?W=W5 z7N67GqO;_{G&QmfK!Y$0!NzZO@X8F#$i?djTJ_Xh7VYa{X)MjO+t^S&FxP&u8Oo6+ zzfq*Pmouh|U!P%6+m>38ZP~~c?%gsJ?pX@iYo-W93{-@t(kk9MbI0jkX_>)%B$B19 zGoZ4zpHh{%d4oGz0;(;D7K54AO?pN{5be#6@dles7j2&?_N^w98Zt`Nq; zmjJBL9OwpkO|@KOz*tH48#99M0cDci&r{I0G~CsCeL}TXyz4Gy&Xo~BFy8cIw99gd zsnwf*i07?tO|8=2xE9(Fn{rt#D=`I1+5k1zM>Q}p(YE>J)nLQz<{S9<;l$W{S99<7 z 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 Y6fExXl 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

b{l%dT0I(pe(uB{CjsVvWLDjcW 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�!Me83`)96YNxUILf$<0d`0zS>^r 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%0D)K!HB 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⪼L zm$mAW!d9PAnSuHQ(g?uvgw*~d3zpd&CS(b;3=wpAqIIWr$e26fY zD(0#7+P3IK5^#F-SR8324ilV64q z2Edc$5^8Jtm>wqp6hf1n6C@}R^w5rx0Dl|+ReFgMqLD)xMs+vq+mY<#g2pW(?8iI4mAk7a<04W|*;-flr5-UJ7&(8o2NtpnZ zoghf91w=&tJ~#jekPQd~f+n?~APG55V>|+G6o>#dAnKYK04b1SI#)ac6h&J-ORAsL zXh@|GOaOd!a9zcGe%Y@&CDw241Z7o4RMHSXm@8JZC4quQJf_>TOPXh}@)!GVxlR$g zJ8Qf5R<9vvv$)jC`WEwCt*t>4?nt3PrF5)KX^ks>e2E)>?z5yIa4n`kQvT`$gQ| zMY;p+?z12YG>ITJ!tIp7oav3Jc$)4v%HWq=Wa-Y=?+f<^tDD8R+JS40ZPwJTV^zP< zrK-YpJp|&ddc-XZIg^N5o2zBN*zeF=^+P$Ux~0oj$?7eFl56#R@ebLQ^q4g-7%lv- z2esXRH6_&0&FO%iXps#EGX+R_UNo-5G zT+CMk<#vYh&1rjD%{^e|PU!7>+jeUf>}fX+wR@(QR+9Qfz$}8&4yyDN!{uqjrfbj2 zrRZqB=HeU^X6o(lB9A?*I#?-SA#PnH9c>u{^2RsU7|C_IUSm)5JTlrB0NYA{HKeOc ztd(|dq7U%I)?Hm~9mcBF zm-RxsD%@ZheJCu(d?C#AtVhEcUacv|C|=K+Y^FO+VajY#ZnnFHi!l$STHlu-0MC~EbmF}ET6YfZOz6&jpbAj#2C`1MwtNr0P6W->0VTul-Z%3@Y{#c zZqRiOq#|hql|^7#m{-oH<1vkvR--NW{bm6H;l7cG_0wx7Ga)ZQZy^>Su}Q zZ)Nw+*OTHl_Akeyb49Y(K%1*@kjet0>rFHSkPKr@%2oN(IhtHJrbpb=%mo}ZJ#h}w2ojtSW zw{l01>pE&%&tI(_!^U?VyXdcMh1AkiEFD2OX3xck)WQ_VyJe+2VfHtCxdt zcF%Fyv@F^;l#PB@L|ZVzG&RBWLd{i)CL>A3eJ)uItqzUt4)ZGMZFhmyQrexx##d0m zn6N&e4!W4ak|dv{K*o)$)0F1juPw2Iqq}>!?v@|8Hs0QaVzz&_R5}7IvZ;4QX_A2I zJxIoQN>}D8@~q!OYjK>K-(@NQ`dFPnD4>-GHWiPZ1mibYvI8^O?lmdZYy}Z8@IwAo zATA}sZ?H5c-LY=y1QtQ0Ji*Dbl3=huAF42)<~(X(oc6^|uO-Xq(xX%&%|il5{{Tea zfWuQ5)=j9@o|s0I?j5(FZbEGq+X7$L-4|sDV@0jKg>uF`unh$Vn;NArp2ms8H7_Bw z39jqhD!Q1ZrnUPt4K!vq8s?i;!%<*Bsg^X=b~hudapu&r#oLG#uj&C=P1~$)8$>88 zqTi8g607V$|`6%1el=5dh2w+}^6D%YngJEW+IfHO8mfrZvy(f|+%3lSt{txS=AvBOxHkrj(QGx=XeRE87z5K3 zO4k^>)9IYSPOc-c(ff|!x|i8*Zf^Qgj|TUrZNdYjn`AX3=?7FA)Yln({#WK$;LX*0 zvXPeXUgK}}FJPjBZqWwSq`X4_MvY#@ zL!xdk?vjl7H@T%%^F{?3LKrx3q{ilE$S&cFAH>H63bkhSK|X&QP~# z_c8u`r=~rz-J31n7q{JP_lawY-RG2?ac}?u6aBe8aaQI_neb3&YNwT{nkOg9ZbEw8 zjlG4GbWI8At;SLVvO5u_g~DcnLIAX!B-}XSW64;B+aytYYqxuwv20yb)-K+Ax>nYq z<~vkkpuVH$iZcQvTfaaa~e!tXZwfSw{_T{wXcUSi|t&Kr!vh6tMnIRU^CWbm8o=GtRvxs%=)dEc}`7TS( z`c_Qd+`X_QTHRbbYgVi%ASJyl%*q~PDQ3l|%MK=gs7C@y^P7v7E;Xm#?6&g=H0ZR! zpGuGN4s@xB|xpMXUew?klo4{_}Hnam((WOL9aMiKP zX=_s4I;E*9=OMS-T>ZBbw7qV?wqEtm+%xU%s5*+l2rb>V4x&t*Oax+`)Ok}$0$A`D z{{VzbvnpQw^Sc_2mA5QWbp%^Gcdnqol@7!a<|7$f&886#%s6?Jnwg0Bfy>i@h;Fu)E)n~k%348nu0G#pE!=yz8AaIK zSw~VX0zp9p27%KJPL6w!F7gnyyRfF^oBIwQV0~-fyt?1J-&}1?&d;cK7Gz4SN2Veq&MC~}85{E` z${)YB8@Ul>$9H_St)<1= zCh>13-^g~mdkPZOwORpn5jN>@Skul)GI5_b7`8bX5S*#jON)OAC_CK&(zH4_sgxPgjE5dv13(7jb)cdiC3FchqBXjgW|7`fObm zS%;lkVZ37**O_<{o2zw?Gr<<-_xA~Y)!VzJOUtD#?U8gPumU3L3eL*WAhiG(6HV)q zm0@?53;UggwrgIi+q??;cG~)uBUClr!PKMH85XDnn$r#A9Ai=N!Ea^VZ>Mi<)%Lbo zZv+5$z85~cwjGH|)84K~}4%vM~=5p3RXcN}%svm11@#xARQZkI+nZQ8R0 zdSuL>F%`n*Y8P*3?mE?~aItY|Km`l~3!5!!TM)kF%XsVsSy0CZC$`(AlVat~ z;+HzC?m!z#5vAI}0^>L`2Bw)Z1Pp0jTT!K`M55Qf-rL=~F4ea77|qtc6xpye)sWmO z27#nhbOC&EDMmP%^4+~KScdY=y}4^_yT`eCn(H7bXUP(`eLxMs&DB@}GntG{9LnN> zC(Rs68_PSVwl_}uRRc-dZ0r^{e8h%ZrSw@k%xK7;mMUXbvS`~?)M?*uwl@gAZh23o zY}oYeLm1O?<7#`?PxOf^9WbrAgsX_{4rKHqJKNHhi&(H*TQJ*}cUva0>9IOokVtkS zN$ZHeE6rNw>;^-~$U(%}i!Xb@|+%O&62lqy#3>x7~y zHF7nObe@C_L}W31%`VRHNhc_k$6K{!Uf-rSHV7z-w{vdEa0>$s3>K9Va?UY~##GB2 zO3q$bmv;$tEt6>*LaMIb&?K9NCgt100n!->1OxSgw#xZYaxzGhi@Q*g&5*?6+xXlt!1(klZ z&k*IgmKKi?t(3oUE!r2a0N$D0x{+qn#4#3@3o{(c85orK>O!*Ba3xv{Zi`nO1R7P= z+ZMK{tY_&SXC%^QCmJj^o>29|)SYP+U5bPA=RmT!M6j4W$E+LdS@p0}i(3&IU(aoE8C;kfJTxmja{f zPo#WEI9j{`dD`veCD&UkYx8*usenp!Wgt+Pfq^G%AvGpLv)Gct-MedJQ$C_t66zqC zfdK%Z>w#8ZDkjOeb&gmv{xgqN{^iBCtaPrjo{@V-WfV3>zX`_Fs-p6}Q85N(ve*|< zrAjV?aOx#BBG8s|I;bFJ`C@F^Sd0%$F4L_&nfra@yVm~Co9+u+o*T22rN+9T+TQaz zSU2qW`%R^jY~nTU7z$2-kr-QXH3`09zb;QlxSlJD;5hA{5yI>&alBr}(%RZ>Hnzgs zRYCQ+9&5K4)VoVD##-uN?aZY(OHT6StWQ|23`7|cM}`4b^Y!QvVnGWz2#n_=@fb#p z%8I;*E*Q*zsDdQ?YlkK_cK-k=6Iq~Mxq;HNBdk*dlOl(ZWX(jx5&`)C0M+Awr7o|w zN(7qFd}$Pc_yK|By|mS{*dbtN`DH_#=QDtZcyE+w>0*4R`A8Aht`mkOZ#OcK3JD== z1IIpqe1O7)v?aN61!`tjGoD@q(360w*~+g08I06@CSpG?0x)+Pq?3y1^$3}XrB11s z0*C3Ik$@_w^prGmW;J+q16c3G*+?FhalgsqdGyw|yVE->`4E z?{79cYg+jp{Ps`%qwY7`od~mcbGNzK=WpFsc8CB!-Ps2KobjD{owk)X753l#%2(t2 zn$nw=v##B%dZjZlCitCllG9aem&|?kl$j-~RxCz4g4@dvV^j_eQO= zx!WD*x8eB}+}a`;Kx)$+G<$oG{kK~s*yP6hs)>EYYSp-wnp5I-5?))oZ{Ao`zq7s- z?Qb@hQ+c$ytg;z5J5zSW#c`2S7^^0tW(^hS@S1Ezyny(V)MpSRnS(t)3`8lQb33e71aWN05ied5yk2o zZe2ij_N(1i^}lj$dtat@eGf-TynQcn+&kfZr_=uc#J-HZJJDaLZqKv}r zm-RF?-X`H@NCX3@uDQ~&Dh5Ic{y6xnf71G!@3pt|*M#uwKV4RpEVbO@%B%TEWgw7b zkYcw9>q8aBblSV0yDI7F`*6<8F$71pmaQ05>b1aFEl4d%AWu^#68E-t-zxtA$lg-n;!;<)Vn~Y2;q++K zM1+V8ND^91)Oea>X5+kkiNq0H*CY-`?!jGoJ&p zgIi09Wa=*H36cPXs2~ASO=*wm^3xh0D!7!~$m@BSO;IsB^pasl^ zp(JGTY6U;?zzJ7Q0OUyps%Zp-)t!2o!T=75s}nk=Jz4HXC<#4-sRf$?N=C?Z&A#T z2*>eH-CnoVdxO_HpH%7_ci!H;-1fHGUxXiV^gA0JA4|8=?4-8oO4Tm}kqZ60w-J3% zSZP(DjX5!Z4?!8@!P1-m0B`QyO&8>K&1MrCZ998&ZAn&8rskjk1d`CEX5gQMjAQq0 zvo@xTtyB@7>RnRyB>>ZGTVxP*7%U8ux|*||IJfM#pWND9t|C8Q#f2qA$sG;Az&qPg zS{Mqzk}LlJSHK)`y6#G=vPj)oYCcF(0BdZEMxbJ(idQ8h^{ivFr>t6DKfe#|X6)XB z8-PM8FPm0^MMDN)-eu0DV|~i2LZV#H;zZljV%CxMEyf@Kx&dNZo?M`kd~tmTOMa`Y zr%kt6-nF4F+cyarZ*Ny;X4}@qD^~tVWb}*M4&46$;J0P)ynWR+_qXg0N0ALsyY28> zmlNcO6h=}GKeXS&9?z$;{{WA=4@*iqtL?4L&fa?|Yvg=I?=M@wult98u9o&Wnx|r_ z$M-fIidLC`Gx*QXJbtEnu$qsI7>EL*CIn>=a1Q|L%9U)#fX~8&oB&q5;)F(hY38m* zFaXiGG?GEiCMg*T3c($Ga7+^Hla3~W_p`VSt%lFHw)aiDyX%dAbVEn}+SF(Uv`d#7 zvTGRrcK-nHck(a%FGcA;kGdV-x7Brj?r!EhmC-)yAEtjEdS~6=-1R-m&fOGM_rCt) znY~tJ(X9hQ=_Z81$PWP-laJ)q{{U5b?R~ALs`-|CaDK&FWjCA#+l@%<&c+Ng44J`; za%ND1Pt0L-{;R#WYi?H7`;xhBS(#nyv-2X=QOji&@6fn${mIPmmj(VmklbxIAc3yl zrWX*fn|E!tq^P9EKUVf%^Dn=>k<_lE(mhM5uP69Bb5Z=BkGHh({coZAZ(p~|zqMAH z!{Uv%!h7Y&ZHidtwrjtGpziFEV(qd`B|OOfMy5X1{yF~u-+r!^r$z6+mfM?Z7u}-E z?QLdzPek=U*I^6^5f&ced4yV#HtnW`g&KWGQ=7AVy6g%ywbF2aY)q6 zK~X_jGATLc4B*emsN=*^NrI5$NSbK?0~%y?6Mz6MrJ6jg15jc}kx*2|V0^FuBKMg@ zYn@pG1ZkMaSH}Pd8VL*`R01^;D8P`cK$5rs3xz~1X*Kc7Ns$1U9cQ4yJOUP@20&mc zKB5%RbO4s9)%lz;lpY`%5lAB{d2$j&P~j=#s0h%+2!;TKA%Pk|g&JhUet2LlBqpsu z5#|#nL4rIZ3HG2HmD4m zfG5qAz?siK;BYi5=z$P?#DGUn5gGhv_+c!vyNaO@L8Qb9Eh1zYrkpjeaW_(g5;Of% z=9;lNQ>8H9c7m)|T|xxu6e0`(8Jv&CYk<5+7a)092qcD+oOB%q6KjYOoJyLL3d*OT z1VBF>GyE|e1O>ZiN~toz0A|zWYEg(iVC9|+e8YwdZT>ddEpp2~-Sk``>=Fw!3N^Ay zup`C*#Vam9AJCf1Qsd-Cw!Eg@i<578X;dz?l)M{C!kc7(&_Ef+8|7;{6iBnbwRYpJ z*A|?tdUsITG9b~2h9*BcVRG;SX0Y~!#b%3SX&{27@+VOh%A*ZJ&Y(C9>eQu{0R&gf zNYw{DKf@B%a00Tzun;`oPNO7ACP(zfe=Jl+39laz2?3aZ$2DeJ4I}~pCVvyt0!e64 zq=PW(V3stj5&Ef0{&*t*GOTnqvm$jas_83GJYb4}lwklRi(EFzCA7hbAV4JjH3ZHS z0FVNJtEOf(R@njw&#dBvDJo$|)UPbf6qS-G@IDv-Y`FqXqQw0K$pS>wfJBeygO6|m zLaFkI5M)kavI@1JKP(N%#@avthNh(@hnNZzJqE~HwAi8%@xCSxj6C@|2* zjnyz3VM>usfr(<$05v!Q7~25EKw=L-Ac^WL08hsZm)@j3O9U#{&E=>a024COMkZFA zOUTf5KBAv1TMEprAc91I4ow-;JPF2lfZCAK%S}_1jX)Z}@CO;{=ZFhOB+L*b5tV83 zXd-a+0S>JovGW0649u7jH2(m@0}s?}na%|P5+v05jAtLm2vfs|$!ZXqkD7)H5=28F zq`=Pz0b&$Ns05v45in+=03ZT?jsO68rHZnV`pFO*pb%gyOdK*I8*5gCZ&8MmZfa_^ zQ`SMwV?T}pt30{X5TXecsb4h6h%&MDFemt7LPG`EBza|OCr~m(kpBQ7pTh)7jvyGj zMQiZz-cDA5eEap^6D-*8c@q`MK!LkHb|hIK}7sA_+W<+4d=KyYpGjg zfTDo;noQRy6zPQudjmo}?Z)3}ZEsy;Z*Q*Mv#2v^H(VkD1f6Bhd3D8iaRn~X$MPkZ z(3&Ncl)E=wITj#}f+#D36T=rDnHs~}HyL!Y`e5j4T-8`QL{NqN#w9kNE5~7_`$;+l z#UY?887kR2%}z&2c*_)KIHr&;DvdBBAi;zQiixHG8bwOEmS-hc8jVz-@SNiS4>Qmz zh0=7b!IqF|*T9~b0CP#UNI<7lfdVqAmL#cyBLIGY%AuB3ECE$>0x}vvBz;j(Cko0` z6GruGDd2A5qLVErOb8?r0HTAc0TEm>xQ`;6e@>Eg=?Y+piSnn1Uxpgg%aZk2(scQc zD*YzmsfxvCKmJ$Yg@viNh~sK&XD0xPbcQF*Ipv4LxI9Rv(J!TeG?al7gwr(1w{Zq5eMdA8c*kq7*)4fdW5- z3J^k)WKybMoLAK@mU-v8kk=nDY{5wXAqy2#_s;q=zDaM4d87H3Uf$ zg*gy*kdP79Lk%psNYyhlI2aGxvJ=z>;b2%0DgC-c81q2DGGdh;Qw9WqAeJ-}Jw+>q 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

A_Wm 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 z%0A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

xWlBUV$5skpadEn6#T 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

H)B+Iu^WU$U=(caY*yE?(bo5Lwu5?Jl<6 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

HU50?RS6CyX~R{ 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%0A6pl+6fDPrsWGLc;syXTVQg? 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

dT9B2H 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

=)CS^y+#gSG$W(;f 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�|xb2wUnp?t&5n$R4K8ETIKf<`!?3GtEvsQ^+2afAY& zoCvH8gvZCI!2mSYk+oH|3ZDQ>p9+XLBm~fO0S!#@8ob$fOy!0HHkE_K8WLifgrC%8 zj2r=zQG(Q0Hj`1;Aaer=HlKLZPINFH$n37x>=fpHS_npDYBVD<6)!tWq zaNONqw2n&c(TjZv3OZo5?RzzUrV6}2HBq0_Jm?7{!bqQhoG2t%0D?^9K_VkCN5o-< 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�K7%7Yorw9%Sj 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�oEB2{5P>cGqx zr7?E0PnU}TO{D?GfF1t;xvR|Jl`srXnN*LSDXsvgj-yTe#8w1cDnJeCkl>01(nQdo zEQ&?~T3p=DbQn8xd08A=aED#3A+-oTYnKGioC^N{QSiYqRIPXd+csj-8IeM)xq#AP zin=g>swp@mn>ehe#SgCBCA~08m|BP!LePp6 zZQYecZ7@RcVqiwGrm70T zGx3ZG%93pyxzI~?WCVg3J19!&KA?$}paE-4#wc=<0`ANZLmy2R;*jG=4ADMTUXmvX zH}(BMxw=hrIoG#AQG^DxWckC_~AHgn^wHs?^M1dZEe~FUbes4Vv4VN z)VhqE>1Yb9Vx&kX6KQJI;=j}?-K#T^rP~DDwuSN=ZqlW$9YkqeIS{(V4^EiUm71CJG+c z3WlPDAIRFGF%+e})SSm~>-t)}!3bcX^)ib# zMpF$yC%_U;B}t_dPFmm%rBu}RwA@x*CgXWW)JX|zO8F)Ya7t3~CA6AkrM4H-V!Fk$ zr4?v}i$=B}euC3V&Nj1Zsdpf0G0V0T9Y`gv+;@Qs^C;7Ui3Jtr_>=_X%qnJDL_GNsB*(3 zk9y6^h&>%5=w-MHF(XWqE~ce(rU&_rr5t4wHrBTcikpN`@C#hG0T_mu3p!SjUb238 z6ihJ^iVDaQ!^}t$6v@&G)H5;4D~hyp0UqAl)4EF=jK)m5!v+L?lk|~2KO8_0zTC2r z>aDfZ30NL-A*Z1siKl_X0X;Cf^p%xRK`a0OC?tY2&JV_z0Ay|E8RepGYRyTS5oC0kvN-0ZhQ5dv>plU0T`i)q&Mmk|( z_WU;wu;X^11=($rY~E+m?WS*CGXyhUCY8s2#d&t(Tm;65b@=zV!IY0EYhl8&hGQlG zCVZxo@bSivZA98~iIm%KFZ3fm%Hon9(U0TjN?&*wz{L~ zMqLL_r{!V^fULrjTc!%p*HV*mxb79o6sq-I}6w9L{j&&ooo4QE0 zrCQkmb+OU{u_bz)N3V}eXfVp$RZwk@s!1Tmvm~6Ls)|Qbh6AW!3I%3TU;(7H2#^Fw z5hQpF08+478b7z@VWhz;6%N#er_6N0`T#d9S#XSPT4@@XC{jX^w0985)MiSlUX$Y%|>GlZCO+O#Gipml>Y!M*v&Q_;*VWx za9d;z7YCJ~0TrWa&0=eeER*_vkza404eR-tUdy|HM@74#Mxa%S{{V1mpDZ0pq!S$p z#nn@Z3bxzRCRMcVWpz;3Rf!~NVl@z=NHxfTmUD@{lhCJUM-4bKO{Z~MgDp)Zh!Z4( z6Vp@B0H%{%NUvt=gyT7a{cn=BaRRvvWD=l-f^#a(1hUe8cq?X`d}N2WWmR(IyUPv| zYXN{qVM~UqPpU|%npY1I9AD%VR{EC&%Jeq(O~!a0p;mJ;b%;_5o`@<>;f|QBa_|(+ zLA}M;yKJtI<4gl8N0y2V30a(Awo-WxR@9I#_V(WL7AT5Jizmsc0k%SiKu46CiRyF4 z&&s7k{Y`nEvBxGox$PaZiS&VYEufaHgHKJ=K!cqLjAotc+i{-KxoGmTjC*<6cAd0Z zLl(m|k^q6Im;sa)Z4h-$Fx<6_H>_k!Zko3L0HKL)yE5I&U|O*R!6VEcGpZnILI9tD z%MoVN@C)0Od37+&_hPEv^-YQvBnE}JLofu zk0F4?jj<=`A-c&VoM~S&=E^3mCFW9PJ0A1DV5|C!V8u!;=9bp{_HKwm3?HgKr|>!P}3tPFNPOAVRw}el{VIg{c8U0{KkLmdZO5prbd zAPm0&g)LZieq4@=g3QX4TdZ!|0D(Dbha!R~1YthWPntW2?%ubn%!CV`lCpvjv598V zPMroIpBw|Tg#@H8ZsQ_9{@ASgWeSEdSZ@X&I5;?oymyDGiMrqoI+WQmOIoZOZE~Ym zPl&}=Mv2v_i6*GMe%oAgXd9519FjdXU!~E6d8B8a5{S;FV2lvkx9V98SSdb}T!#=$ zUabfKlkvgByqsA_85}^!ww3PNYkCF1N|s_-jD^%B5tVQTGlE@~wRCzUJ;$>b70!^X z!dPv}i6BODOkl|*i&rh$7f@MasM{_U-lm4trI@`H6qy(SM8|0Tw1at+11bS#1Ta=o z0-zu$wnlI;0|Ci!wg9*ekf~@=+oqp8xN563k>W-g;tD4?4$jWamAZ`V%W%L!bQTUg z%*Y0xBoD(ZEQ1c+yXuDUvIB%$X=o~ca@dlL#sT#$^*I^B#)2Ouy-N*vn|DK-Z*6?5 zbJQxut}2Z#6*~Cf0o#_XxVE;OBCXv(P_b=ALo0b=y*w~h+Pz0xB;b?%-MMnw3d19L zfk5OglF=0^(@ZS4-c_705R%2FTZFJnfU6Wbm01FvB~(m@`1Ql#JV^x)s~nhC5MI^e9MyQTAht!;SZ9jOvLtTj$ZdO?7QtR-CGyiy*+~L zhUK@2ZGZ5Kw)pk!zF8TVUAcH}_^;cAyQq_>p(Ggb$0hm>iuU`woVQ97t{~TIsp@tU z2=C zjB~z+sM@1lHtg>I0N!f)u4=1WYL5M@ABGrPFY%G?-+FF1{yXkp?+?Cx)As)WjNI+- zZM#2-ZT+3UDlM>Y+j5((OLcqEvE|Zqqp%eO9BH@H^|8sjxVav&+1xL?w5+d6*|h%v z%ZJGI)3Uoiv^}=%F5K*X#o@Nx4{P@R%Erfv;P}-R_WW&|YDv=2PU`LZq_xY9=659H zwzX7BwZco{d(5|N_b%@7KO}M=`7!qMxqZ<4Fz?N$Y+2lHH{GMp_P2a*_PaDU_Z*K6 z+xzA`vWox~yL)YGa4rM@lc3^v?P_iFD{|JZUxtPB`QNIKHgVc_FWP6jJ(=#Ou|C-I z9iz$Yw-$Kr&EPm5Q;*wSvb&Balj6ADzQ=R3+-(rG-MgjhB!IwbnsvouI7AN0F6!4U zxXIII;VTL0v+5d2GBpYn)H>-0t{E4ts`J=Bv6$;$6PYkEB(c>BYfmncM0D{ZEmPCO z2{gwTg@V(|@f$WK@xc3%K(8{JMLed)vRW zuJPkG7p_|7JO2QC$98`nh{x4&zuen5eLHGH+z(_CHHjTgGTpkS+`c#zP9BEJ`(XCG zdpGv=?Ee6^3u4WS{k_;+8Rd$rA-&IX)<53)UB$*ATwh;ty((Z+Ok-q{s_+w(&IJDe zAbWeB_I=ZRlzpk}N2;8!dB3>**|fCDcW%22dz%|xIj`Cpho^6h*zVYuT#3eejkj7S z4rk<6)vKFBn*RR)8lOPM)w@MD_7Eo9XoL=ell}xSi?j*CoC7>z}c>U_$PcaQ9PTxMa9>g?m~_0%?wG^m`Uf zQg-(n*0?%9=5^b9YMko(ONG}qJ2*l(zuInV-2VWzf4dt$WIpWsfy;Zj*ISzqN68 z^4oOsEmiI+vX%bJBKc*tY9}wp8dY7t`(Vcg&*CkyvvGiHB(gq_P-zB1Q~f|gP}aYR z#+6di?O>6y_^r6Tbb3u8&09esZY>Cwg)k}Bei-hp7A*2`UR&khXS*c^+oPK%`pCEH zTV@wk5U!g*jW*aEQ%yNoDf2g(OSWLmdqaI^f$q-H=83yw{kNIo&D|nW(EZh)DTwty zy5RgjJS@vxAIIQNHRU7di-f&nkl5_G4YR4SyxUpaS}CL|rQ2%YQbe&e#|4z-wE$?nLua6!CB03x#Z{PKJkgjmIOyA!)aFRKowlBkeEOxf+HUvUN+qi|xPD)I zv2ql<9p2k@dfnBy8osTfx_lr5j+>;k(D9Mv<(8Ud!_!Yn_+)K!Y#T*Fgci)c;_`zQ z+UBpz6|Gd{l(Q>Q>w8@eLAbgK3!vFkt%{|8xtVJ@f!F1Y6OX`{P0Q4)R#sN#;hB9k zbxXFGo0ki#LDL6O^vs_O@K)Nc1!%F6!fo73g*B=IfCrZ#z-7AXNrfa)rf{A-1iSSK z_X}w(U3+QexT^OTR12rd%wnOW&rDN}1gE)O%ts+`{qePE>NS>hxNXY>lC10_BIc7{ z96@Je{gC$x@!se67jItOskhH?8(v3gYTlb~b8}&W-nyt;&OI><76AM)hU~084R$S6 zyBgW(yU$noxRWOZ`-t%OFoUmn>&ZOdW~;tmW+|qjCE{Z$;)pJ z-;VQ(tW{N3{{SgGuzS`3wn?{o@rM^vQM6V3a%VA`^dBr4PaCtQmI&It1N5=;;YrLePcZ<8cHx@41`qb4uXl*Qyy6|MIA}I5GcBui1X)XD z1ds^>99=_GD-!;2Gd~5BF)s4g=oZ-Oo)%+qk%$ha`@JNLB&%_ul2fUswel2r30< z9!F~2)KjWBH>=5Z*JPa6W%MK5Z%o=V4xrAJXjXEd6>N#=97VX`-_L%x9Y~5Qn z?X<1Awld657 zw90{|C&wAvcb9KY<4Q006>Ift2c(_z{zX2{eY>-B{qx@r)!*+@z}zn#+xw6Aecj|> zLG-_EtqY5)K~h1F#~h25{Z^`d?DCe}mYg?sjx6tw^Og47!upBXU6S^|uHXc4cB;s!R{{SRE zd_ME-+mE;ICvpwF{l4bj?}_&Bg1WY?*;{Suq5lAC+Fsoyvtmo?XbG7WILh5ldC@miZ0-?(zZwHVs zd6ecCeoMyNvo?Wl8{5DZp*<^lg1W#9>NP|eG2=LP>C`EB7yQ08u4m)&FMDnehubv1 z+s!kf$z-_xmt!i*}CA2HfHM zcZ2PFU%Th;UF7-JME$U^#WovDz^;R4#--K(8eZx15-E>Q-s?SM*Ejy(NTa6XRirN8 z)cYIKy`TJZ{2%F5^`Bh5I*)Pkb2n&hJ}Rp*oex#N#4mdAJonsJeek`*!|~6}4#PX{ z)xW&4YW@9@+3&3#-L5wC$hUs>-GO&sK9vGbPh#}nL+Sc0t6I@+qPd^?dw(oabnZTpR^fjz25M^)IRWBCW65KI`AeCXlN#T4 zhi~#d&%^hg=Z;_g67XDp=Zxbyg?3x}eTMep+}&)OO)l8D=m}Pu;FkP532Ae4aWX<` zx}vNnNDyl?;|4zhaEIV{xBhJVA-NxBeW>>y!k2#0@2$sf@4}#I@Oob2X@(&LNaOpbwjPn$nc`3?Li=vU0EI^Q4O47-UclK==_@*JlvLHw@21L;OBj+M8J2hmu3^KH@%0TP$nHX{@0xRMVLL~IB$K!?o6#;HJgkjGP1fM^j=L@ij%x?Ec+a!V=dBHmxc+WG+M@Vks>d z%wSVx&sPgb{mwSqvPu5{LCZTkjEk%bG8j8Ee{ajEl|flA)31&NWbFy3R)qYva{fWG zDq3c;4a@8l8%4oFf?z0ND>&0lGzz)O&_}k;E#|i^YI}+fqKg84nyQh2vLVnG;xwI1 zMy)4PTMTqtWuh{vH1IfGz&&Y=#@TDK#;@h_JiR`Z+XmNFJwNmLd_-Ye z>3#!WQhnitInpbTkB{bXD#AB*OHmmu+*h-3O}qB*S-t^2YZtAxtEfQ!rD8lVt!q`L zwJ_XD>7~T+e%JV4_Q#g)p6KU$tKJ^>em|P-4qut#_+A^1;`T$1+HzaV+mW$-&C6Gd zT(B;c4uDZd#~ZEMtG9OAjUprSa&uRu+pm=+^Kx|OV*db(-?I+Ly>E4Q+ik~s?-4B} z%bn}X?|FT#*RWSh{{XkMTiQ!pU3F9DV~FP3ZTV&Pz5#xgu2pQ;hBN&R!R;?-eWUCv zV%KH+W7xg20VQv7owdbn_cZ_&YvXKgy#UOdv43{jELIBJ={B~L)%cqsF1585?C9Is zlNNUBwos8l{9I;}+Vs0VyPlYBG{QD_VdvjXo#%;O1$_?4w1I#Sx?f9v(CBjQ&_^&0vN| zKnWvB1Ij?Dnf^o^4$Qs1Sms800BhGgzF5uYCV@xg)~CWCd_UI!Kt*Svpd@(D%fR3V zpxKgSz!^|P7|N#=p_6XddJ3x~7>Uf9bn(iV0W6XcK-8i?^)^Hdq5+Ek030Igf#MYx zBT`5NQK^vvoiK_J2>{UQpNPmFnFTbjju@7bAp~X!ohC>$Ae_Yo2+IJRN**8xk_oI6 zBo7Jrl7Acn;yMXEYf&IfK!}*gobZ4d&&p{`=)WxM@#%mHA}3TaAeyn9pv-5VTmTA_ z^n!IC>Bs}|m>GEB0nH$a<^cr3=w`D>iVvOu1^^@ofO1u!r+`1m-~miYkv#+v4J(~s zwp8H2w-`HiKr$hPE`cp0;CNw5dh6#z?0$A00fLbq)f)5bDDSz>6XSpg{Dq@?VY#*hk!Y|3GSV*s#IAjmK> zHOPs_k7^tVlLaK0m8K5s-RxBAy1b<5PeNDz(z<_F=x@>W8d+iXHKQ+UaqVt%B|ayEKW)E# z{_K5=`>o6UqkZ9VT&FAT$7b`kxE;rH?U#AX^S;fVP&NJ|xi}m58MhtR?3Z&`xSP$r zvR`q>*}BVSmY&l7dFZ~k*L!oTewXV{{{XsG#UB*7M{4-)Jf8PWx75*f9VU>bzxPH@ zqD`+k#dADQ7tQwXFU5BcZ}a;Nw=Kc<7X`hu$?%-#7reGEZMhC7k=r}i-ED6nnNuod zNDK(a>RTK8Jw+DpPi1YUr8TBc5ylwFc{S>3<3X3p#~bJpDv6Ru{8#v4HyVzrUP;?M ztM2ZFRX&=q^&TjK39m^YVjZg7a5Ye}^ar>(J9}$mW3?zWub80#RC$4pr}$!FH{`)K zv?p#bYOUtwR53C@)g-~xNX`e;Nze1d{kE4g*W)HtzdD{L%;)(z<9MrIc>T*3mf!yX z3_Yss9&ekQVQydKELh+0>A%t?FN>Rfouzg)n{aXX7xFzTwd%a-V#z3{J$i%#y=6!H1~#PZVb$%j~99p#(df4rOAhVOH*?WGsa-LBcY zyLn-98E$H|e(l>!Zp=egpo&)>PpS1i-RmW`;Xlao+kGt5}i z@;QT%Tb4Hqa@DfwyJ8KHipSNlTY>>n7~5(dsyuP--3^+Z zV-K}M{_sZnR&upBS7z@l?YNF0ZH2{4+{VLlFNKTd?%X=uSW*inhtgP3#cMdv)LOqb z)6Jb?4@mV3x^>OyvHiSFtH@q$*1g5MhSuuhTYDF+4@BDJHdmK*#@@E;3u*TIt0>FR zkr?!Thj!f`sO{fkU8}iR`8^D;WoUO^U)1{g_DkGLUh8{5?O(X5cFpUZ<=7p$&GHSk zaMtYePq4MNP5H^ zldj-~UVyKfXQYEphaG&C;B;2cMmk0Pqc-DisC6Ly#@gU5XLD|3EyWo(^tNE)YfeYc zQ$*8nWt=Z3Z*Yncowl~vE%ms4OZ;C~ea>d)&f1yvDguh-j@ob4R<sXR#5>E;|pK zU-CWoRcqeAb}shMYV#;Pwf3i$-}c9B+_Qe-+U7f!#n8O}0C~NXcH3`lSh|bG-e* z_OF53S=?{7yyv){-uBmR?9rL8?fCZZz8`(c-`i~*8*OKG>0P_H5v717vYdDyXYTKH zp5f^FDlFG=W3n8x8*jI>YE>nBH8}jd542s`U*7K32++HWiltT*sxd{=pOl5i*miBV z*x2?{TWWZ(z!i#RCvPc9d05-1}GOL**#2R8Y7Naq|M7JSAq_FicfrkRSC(6@xL>rw!FT zMmdyIBNXt)LKZwaoX^Mb>4zXVwDAU!;4Azv0OEm3&Y&H1HZv zhlTDY6BxR6+l_^Lk@EADv0gCrmYH^*_$6Vw2Bq?!5t)}+KQMlRMS<+F6A?=x} z8W3q*etqx%0OP+z_xGnhkJPs6x6<-%FRHJEKiKwPZhNQHJ-O7a?wZZ*PHOaV++ZHv z`(8U|lHYP%o7>-CM{68a-4K>`(_7#b)R)|v5e&7*<$uKA!CQXG^`4{EeP`|N?^e;U z)?&S{y!O9#{{SIw`sYPni=vusUOE2&r}a090!RhPsU&p-WOM0{r4|%$KP?528VM^f z2?j@u#%c~2#>#S+#A$4WA&+ z2}_$RtQ1|i^d&^*D_nN2U3IC!4{pO^s#{}+e{kFBnZMP^t`OCz! z3%1RrDj06Jba$MfM0Llg-BtepZo2lGbo(}T`?hJLs^C-uJ|s{40bFpY)oUM- z?!BeY*zR>&;rZ>d>f<>zwl%`ED{Z$rAY8O%l!H<+^B=kWpXwfi)jIB1{g?4G+eas+oM$oZFWs-Uo30m}+HLnJ_DXLymsKru-M7nX z9-i-xy<7WsE%aSd7T^RJ%O6>LFW+l`T9juK{aNz&xjn1YdS>(7+ov~3+{*n9eScER>kDqf6u8cT zy;K2=0!qylDFRHI9Da#cTP$Ts=-ZO55d)WZR*k#%t*yJ3O_oJZOe=+D^IlsgP%W6% zk;MJ3WjE4u*e|-$^5d}TueXo7UgGv{_Q!_hj{g9-{l45>w{LsIvo_<9;0u7F?+I?@ z+U?MJp3yNfMIdAIe|P%>r1hFxspzVy*2K!u_@4FcuX%MIm&?<2ZQG`mj>Fl`%kPfY z_XmO6cNb}Ln|@o1+|$&taZTN|?IE9UxwfoY)%6CTfP69Ycd2?$Tj_mGx^AwHw@V=de9%|B{2&eGF z7`ludQ8IjM1Fyld!VrZ|>dvPi1pp*hI$!}w3LrsXO(Q7)pUQ9mbk3|g48Sz3)wKL@ z06}1RzxhbW(g?r-5T>3YOu#kFMNAVhfB|`pAV!!1KnJXYk%+(pYvh5E3xdYZW3g1P|ed#0Nr{&TFf*QvNuhyE4a<>=zDcDaW|C_| z)2m%M~!QM3R2{WCKy7& zX!)@j59fdbZ88BTNj0QL$_H5MfB-P&2f$aPX21~u(*Ok^l0g7T3JeN?SukpF0ZOn5 z6f>ICK#~uD7yzn7n1M1TqH90;Yk&kW!|E{rm@r5_6wCc^0II)89$y8CkpNGcqQA=k z1xiSYOu>*d5JXgiTmTHgj}izJ8FZw7(0}Q32MJ6ejte6o1(*OugVnBjq>c|t) zL7@i#0(zXuXb}(z=|SK!zyquxksu9H7@7l|P(W|xfC2E&Jk3Uzvm=YR@gK@lEq zkW7<9{{YI(I$!`)$qEE2h%zWxc(p1i9}F>w2>^uzlj0b`>I7E^K|umkL>UX16`fNP zn7}aynv)>vugBtIGQc8*evn9#WQjgg`3h%%2T(B~y2UaT6cP*qM@Xgs9U*c82#`9E z1xcssCVxBtHb~SFjZcB86f@yJ$}kM0UZ6u#O-T}Hxf}ul37QJ8LJ6LvXG{Ppnw+$X z5N9n@6V!h^04o49>E_76N`aB7t^hu09ZKCLUG5|mWF!HVRFZzB=w!ghhB^YaPN%hP zXw0WnGMSc8i>?eWUl^RQn}shx9aVNysTIQMM>D3_ElomXg+gTY#6L4lN*^nEL~)|o zQLf`b(dt3aq>>JkB$Qb4o|wM@zVYjpL3@qrk_xRg7*R^FQzW@HBRmyRRJ#!)Li;Kp zI!gv!21wMcFjWueF&_*t5%t3uR$`+`)?-3~L|4q}D@?G`mjDu7A(F{yQbLzOEzy7i zk_`P=jmYI-^dznOR$I|k8k{Rr+TG)>$5jtU*iU$Iu znWcIhX+XYuwY)2G?rjP2B{@T2A=~TkiltQWZ+?1^`6@)Z7R~b2q6~G z9!3`!Y8r(MPz+Mj8UVT+YlQyNs=t>=xCIr88G-~*FAfwj)W#Yz3IvujKPbSP zVUeb@blO$7b_mk$Pt~Lfs6)`?Fu<#Olj=w#FpM-4ETob~v!7150GBDF%cIIe65)#| zC3TP|>K;Bd#((Z}OMzxcZ(G2U*Az~KFB(f49)*FPaokOpN7!mgrg%H3G15zM`RyA!SKLd$hQ+>z?tQaM`w$7IirsCW{ z$iie7Com)M!(80WIOX5~1L~Ll-M~Vbbpum~G87O$wuE@kh98I!8Sd*<7F$3PZX;U} z^D^ai0DgUN05={y@QI**aLB88I;{%DCbYmPhTGya`YziS2#TA!P?9M?;B@j+5ng^e z1$4<0@wa@6J+%!aAq9?+1z`LuCo@b~Mr3HSXwpei7ga#@93TETz)$x+9WVn~Olwht zSXKnJ!c}!?sBHk14_xR+&k8t;mPn6is}pYGTo(efnSm-G$$)xL;9+MfA;})<&B*~` zu=z{r$O`HaImQ^$g#bFN7ZatJiK7NB1gKG%8P+R+V|sN!K*%6yr;v?Wj+&6LGd>v2 z?fIRi1q4S$X)E-S5UK)6LQbtyDhjvKGdOfml6r*Z2%1SH4wLDI3haFPfgrA&vZ*H{ zi)D+%kg#wxsgXRVaV?Qhfj5?*Y zXVTDN7}^DiX(|fy0Q zLXvYhafZRTaDlsP(?+&VvQBz@n&`>_24}?LNVM}JBB@fqy}vG_t1_1elB7(qoVrJb z8K4DPvO>Vti6m;1R$@p2<1dB)6;o3(tPExB4r z(pIDmT4)qS2jzt%{lwfUUL$R2fJMpFNnJ?6ASquqqgH7@IKYQow!jv{0t5+{0z?xb zMwXn4^aDIH#tpk=ZUU|K0vGh^0C}dU3YyMX1)1&`xnSugthU5Ss+~ko%mym};21Xc z(4;K6Fbc7VCSa2k3O+ahZT7(48q!n=9$7K~8d1)fE__VpV?U$n;K1OTZ} zrX=}k0Q3q>&yE#o$fI0?(-X}r^#Re6$v~>EX>F8{V2LcblmvCp#&X5!sH&Ql`$sM9 zNwPKD9#Qm!IyDuE6F*Az@va;Xnto(!TV^YA?d!As#TISGk!ISDCAz_g@ToYM=EF1O zeA(5G3rgjzl=@vpQ8IJS4c4mD`G+qminxD}K9#FQ-$)ZGS#=F2x`0@z zS_u>w+ZEH|P@S8^;AGi}VK5Yiw;&=*4NibT)WxBG80X+Aily23vDMqPw^E_Mwx(6> z$$AhNF&dFX)Cvq*R^h8OS5|P)^X*x}GLQ>Z7@zxK&;v86svgxO0TJJ zRS63tSe4QVAUG3Q>*IyW+J`T|YhLnAq_k~1`XuCqNCwl%sT1_b=yJnJ@LBlJ;tjc% zsvlccP%vE}5QPN;N_{G`)=%ewAgg4=?QKb0+L=?wADZcfXrngaOJF`K^9ou z^#+(0$yJRKz?y*(3pwUz18w2F3Nkvjt~Rz}*4()?ki@AbOF{CIVg_L03=Qqw*4oIs zX4>3kWkx_pmfJ`7ZYY)|Tf$&rS=oIcI2Us^Rc#Q@ZJOh>=~5x6WRsszNy7qSBSM3A z7F|IqEtCY$nB+m27-3wsDqSWCx8w$skmBv zQHh{XKA=zvf<*Mgmav`$8IZiT&D{eOaB0I9b9R<0dECH)XE8_hEb3)9~^4)N#f9n zOKRQ1ODI>UVhN2}yo^GRFr502kj6vL0iErawQE(h)KJk#c_vicGpAONr{~iED9hp+ z*+we zZ0-G|g;^eUbLJx=0vQuHRHrQFP&-T_*T344>QE?13{7-t^D!m~Dmp0YYlmzpdLdel z)me<-!FVnhbA8?WrnDZ%1dX{G!C(E&@DpzUm@jAo;FV*pcfvFi+DWDpev7tY99+;9a*l1QF*w^(1LL`=gRL|1`4A!=q&2(}{ zO`Oawg39ZpfEmG=W@?bD9coX8A=X;6Zc~v&w=ckhcZ_9n7gStrVZ};-vGo(Eysv@z z<3-ApB?uxgHv0i3~2vg2Yl-2$`wy#y?^{ zmlcf#1q z6^XVBrm27l`dErc#9L>T>xM<_>ZK`WS;u$6-f*6=fUBfC07B-*O9EK6K>}wG)HtlP zo>%B+S|^(|_~+(k+fMOPEydt`+6gMe`Jj?XI&G}{I^ndHWvC0C*#NNu7(@wbzIyS8eQwv(j<3bzp)>yK7XidTtNK+CZnvhVAzBo^B?n+vj^E))2iIAVS zw$8wtR>MxEb^)0nX&^`n32Zv2SIbt?G-|0zN_ZAa{j;{ZkE?3K(^5nP7a5oS*e(EV zB*)=0ac^yW#O%J`nJIIV8{Kwb+#(~|L8LOSfF=o6a^!-Ht3o2UNvc`bE%?XvAzHD@ zl)^E+_hh3u(P0RZMYRMC2}fXb^%)XsL7Y;uUtj8L$yT!*rX{@Wl_i4PD&e&Nz_Fbt zTF>gXiY7d9Z*xSy5^Sl#7`E@UF4_u(ZaTa^k#04^4^PYhA~OTSy}PpR;TW~EuHgZI0f{m}63(WBF^6sM`reh=8v|Cdp*>_Is`*w}tWE~7%3i`Szw&soI(e^F@nS__&3q$pTc z_}31$Qx0?^%Q#HScHPgjvaE`w-s=@`=TciF7r5n&`hdg;%MR9;90t=#>5dG@Hk{R` zwgTQ;w-5(q7ZeLgaL_9g3<5xjG|LI4s??P+lO(muS^cnhE;QUfQn|DV^A=WupvT}a zXoi&O@gvrEwr;WqI;?tZQbgRjBoS^vGN9xIbL)Xtd}J)AMtA)d{Wwi@)N2v;24MYzB7AsMJQJE**1Y0_8TUEG?cH*wK zU;zLxr%)@9n&E`;Vm~5WC#!5DA0R9vMY3U9K$tyGOrs7-NSR^5xoY#Qs*`LwOKJdq zm41ePuM8o}N(lhiwwG@DtQ|=jLV&F&GQbd6^)!KoMn`PxWVw7?xCP*@frt@pH7y6~ zmdFu+Yf@G7cJOOVzKL5(eM@8(x&rxJ9)?$^ObK=l%~sK>9I)sMYC470OO1BuR`g1F zO=u2YGENOrNKLqih9hWpUBGZ1Q_?q903=sREmXbDRrq1G!+|7{eNa5`^j*pb{?Yxo+L#bRbg8aT`yn09_ibv}n>BA(=Q(o(boC{JbD`-rX*! zO9^z?O}C|VGQ*p?bsarJiJpTEnlA3av-^g1vZ$9VlWnyKw%UM$X0ugMS&CsV%yQZv zyw@7wH&fF-t)V1`RzW^neMzTEU=voAq9yMQy}&Y}@(?{eEe~xdHE5!nvq2Le;H2qb~!EM~qKZ!AqD;8Sr@e8pPRdY+xJs9cCtRBD#X@U8($ zKrtAr{+q2k#AbHZrlbeZKAfZ7ge(m8G$;9>C+5{ z5IJvWY3&xegeI$ZOS1XTLj;;jFt3Ih9AZS=>~EGyC@tEP=@<^v?jE zL>BG_)#ePVY^oJ3sI#bPwhx({90MIdE?p~hd0q7BKy|wr(9O|YH7Iky9y%Ah6X^vP z%G|Kw7%+>4i6T{i@{+AXSr}qv-re>V_ZF?$OQQ9MvANo4L$%)RiW^r`a*QCY+iXKG zTr6p1onLN38{*UMJjnMC>`!sVcV7Ph+#j{ydArN)$C%|WT-|T`dxu-Rw`6Yl1P^lM z(ZY+?pJiiH8Uo-0mU!j2OS?+)baz!xF>M#m^hTHJ6`g+lXNNY8n1o7tXD+Z#L1K=$_Ili=*#C(m});exYRP$aUK z@|;yV&YsJe%@cfa`1f`f{{SBEJ6yJ>bMEXrr`mt=J@$3)0&Ul|J?-raJL~!;l*m;ta2I1s%96Z51)coHZypUVW~Pa=oRoW7AFBxF7Y zPfQK2El5?g@OV-FOZQiO>HE6-HTz@Q-Su`muJqe?mvq=)J+N_eyQqzofcYu&8u0qQ$gGQcgUXMzJ*fBh{IC7Pd%Wd$y|?!L+NZF)Z*U^++Sem%Y@7|dmM$)&wRiV}dc=cL zOm)U7^Ih32qg|>!x=o?;XZwG1-rYgm=c$IOW!8u04F`e6=nJr;1}Rt}q{#$;Vg^_P zj1>A*Y9T=aPNvap0rduB3aO-2lNc6!0qAmndUr>A`#0{#XW4%0?q6{`XWZT&-41Ji z*xUVw9eeiWb3$Vs#()X)J)5^h@z1URJzv z`KRP#TGyJbHn&{LpDmYi;Lzu_e*XaXe|PrhAKsnU?cJ+=na*~`>$*6ubK8za{{VO2 z;`f_N!qwi#?p_x~u1e2%k5N?Hw53+yWiSMqnSOfm)u~q2tvwv@@HC@bitfqqvT8YO zzHV234a3+T?DoI7d){-0z-Vg0~OTP7c{{a60 zl9$~#y8X?x)pL#G`-S^Uhc{WSFZ*X}+y4M;mDcQS*}K2Bd7uF^@y66~UM4{02G+*qsU%Ca8$9uJR!LSfCq1nBlZZ2GR$N*@kc`&-X1Ex! ze@%(DinSV9{G-PmIC(U4IDhHHyKeUnYi75QTwBWNcW!OllefKX(ZKYMrYtm?%&cQ8 zcK-m}X8ydqBj2B4xwh^7Z1`ws4*`$~- z20MACxzmB-FVD==`b-|n>v!E<^M2fmQX|#AE~rIjQBbQUre_sNYAXp7Z!J_L+|G0^ zD&eiZhBn&DDqReqGp*G=qoE|J@~(8t6q;?Nk;BJ$whrA`zP&qxq=kB_s~Pgif$9JS zGQ}j=lUfYx24QU2)ganME$S95y4V<~J!Sx|6KN@8(iaj!+qrJREE4sQhWoX}{@gM1 z+dyQU2P0eyD};)!&m1JCyEdgX5LGSdw(RBHjYP2nNCbXI3CfAiO)948SG3&!0B;<> z`yaku+j18NqqpR5?zmmXU)uAQBf7u z9$*QXttOxk&mJ+TZ60A|WRN`0q=I8miX5pm$bYT^it|()#S{Z4R-y!&L}l>nfDJkC z{{U?s>h_1eICT?t=MR4N-T`p8cG_rERvE;x^ju-}b`$ z>Ts6r6*g^wLl!PTnw7YR$~qi(q|%0Xyu7_bxo+O%HOoPl)q95L=oUZ#pt_oM0MKM~ z2Mh@I@7wgsYjj&Tm646LHrRf>uqLDis-GUXhnx5hfjZUp+gxGls7ton({iEAA2y;C zg02jK;o*zNZb_HHWJViyxh$7ZDMkY3lIt`qs!XK`dzL)@#!7Nbs#bjkSH{oR~#Gl<+gQvPb1OV&aFKZ zLFfgt6-XJKP-cR%Ns@mYV0Jx24<=xPG!jhGx=8rsFn0jkGf4A!KwwGFB4Cdn7{DAE z=NI311#kC#h1{05+lRi_cN|Uo`*giU1J&Evx#_DDtOhC!0|qOO&XzKszp>-`*L2hW z03YgbwY~$GV!F1QyJ2kH(r?_eX2OOcq3&LE2!NixW0pECYSnVaPFlLPgjzW+?(AOI z+kwyfh1vbTaZ&C*-*wDwUvqhw`elu~4$5Ja)S3V%8U5X~{ys22x4CaBMw0F?y8i&S z-p)I_8=m{#_crFiw|(~f7Q^>~{^+nnV#WK+n|pTcqytzZEKRzNn%Y&Tz}meQ{ghU% zBSQBN`40BOVRq{FhqgSIJXPN9yS>NBdOJ```e}9cyIogwt5-oZp$53c_0+GGDSw%D z=(>(rztuk@pLy@{A@4^h+qLa}E46z{*5=}yYq8=@_S;*sK}!~|?k+hX!PLY9T4jta z*Iw$z^V)xLptJB!;JUX!qPvdOd- zrrVt0`Gf*-gWu{oVK$!=Mbqp$u4O7saQjZ^=Wnh3{_mIH0qS3S+r7p6nkY@@wr^Z^ z)TGHDs9RtiD+A!&_TzwRwpLedgwnpMHK& zcBf(g0E^$TZ*K*woPV*LXL4@#;1uLL>yh90PUJEY%HrPs_wB(${{T!F7_YapTPsm# zyqhh{sI{7X*k6Izou}=Gwmp@!wZ?XLw>^#8dl6~&?3@>DaU63SR~OS^arWC(xpgir z7%?+2aOI}7#{lKTJhh{GqvF%pFC7oWYeUS7CLvZnF{(52et#q`kx%CXi! zVuh#x)r(tgB<37RD$emrRlUaHC7ExBk71N{w`lJ9^Lu$|?s5Dw7aN{p;L!J6kiM4_ zV{oHLnj3~dIShCoQT6SPnZ2H#FV@C86Ythfpg)ZN0D(PI-0q&U?y2bgyQ)_5-sxvE zqK!=Vd&>6bXl<-ODtst*5SI6Tu&^d&l`_+P}o!pKodZ037Y@+teZ*s*{JL+TWUdO=G_0_xzUca<{Kt zyK4R2R>633C05!oG+TC{!U|43&!p(~dJV6))2>wyI?kuZe!cELT=z#^Z&LNW{mtH@ z)|hV#IfeNhxBfVL<+~g2C)yp}=KY&IcR#+~cE;%l6MS;}Yt}6S^DJy`ZK;NsBxjDD zt+iIwzsjzEQ^PxQy4sDeH|~9fxAv};nb5@y)cHw<1b9w4&m!__4}E*vxjnu1=aKIo z*V%3N`_3bi;g0gg>24ciiQI4PZTTCaZG-*WHZB$bz$Y>>R7%$6c`@FzttPsgLt(s5 zM~~R=(^97MXJd2$g>Wz0OOim;wGH`UStQ{aRn1dp6aN5`9?fp}`!V;EW|pnozuWwG zAKn{9fNmwu19&$V8rPJ~$FZqns+?BLQQ1RszYNJc&Z>>u4iArn+qI;#cJ=#gZrMAPS+>2v+i^N0=>z;Hch$aI z*#7`>`vU#z_qY9<-@A@OY>uPRJYPFv*5C^@n{R7$t{GyYqY-s)wyfeMon15YT`d{y z3g!)GpfePM1o%cXXIT2lZ9fWlR%SIo>mw2bkS4V>BBP}!56=vwq;Y%zFn*~5nsYxO zFq)ME4gjjKl0?tKWPueCSj7OjcxsX)2?l0D^)Ls^01l}0R<(!_RFELa%o^bUMFH#L zNj*MhDkA^_L60oV3K^56h=|UZn^nC7N07w?56HzT4Rh<^ib@c7i#`SgU=j66A5Y?N zoJ>7LFPU3OP*2A<7AsSetAeAftVER~q%QQb6E+9OPF1w}n0U?76faq;N!kqx=1U6L_7{>d$(mRQE z;C*L*iq82x>-J;VyG!indDz^)JK5WdZV-BD$8LR1rL@vX(db`YBP}>LVOFn#Jhsf+ zZg?Jy+cVSZ1!tflo<11o=Bv_8Y_OMO9Vh@1)PqV81PT5fF+h{H5ITIqgvm96X0-T8 zj4ORFz|~@~!)sb(wq{5(Kq>e~jw5f0ou+$+g|-CKO(1~B$1^piDSc18kwv8rTE$Nvu#9s3SO>@s;39E-ERtaMDsIq`{~YIg$yl#~I07tgCiiSS<(Y zV>v*`jWSH&k*cy_vSv$G2`mH>Yb_KD0|>EnRsonX)Ea@AionHA3|(f}?GD|&Gdf5) znW-~BJSNR)R;EWlgD^fb);d!Npnx57JqJ(uUP{Mr3@4{bFAi+6EKf?eOpfZrB!~>U%Wk{OW00M2sokWmDMJH~=Fe zq|%~*gBdQC_}~CRATf;QnadDJIp;V5;Yi{xQUIXy0Uv?tO+P#_tcXNvfODuaL+Stq zBk`sIPGF@I6229hp0x%u>x3}0Fq1$gU>d~C0|GO{0-&r&CQLxB4_fr`z$bvmN@QZc z>pv_5Sq=n=AHq*l_zW?Qs_T`2Ljo&W6(En}iMCV-$9TXJ+t?t6vv%Tjh*vqzL`FP) z)LH?TIB1}g225ue(t6@UBZ5cY{3~w zBBC%7f*`h`I!u#4&H$Mh2L)0FW=3Ny@BncnWIBK9j=zopiaemeHT>X;)`n*Y01`=` zfS8B`%=k#d5V8350DLLarT{1iWF}-`uCQE$%Nfp*dI{$Z=kPN z^y_Zz*Z%;%QA&lDzprPB)zWp3qug7GO*r^=qs33KPrv@-`%T|*y@%ZgknbD}Wxc#WP$P@d%;`aW{%ZyWPx4PQ-J`{kLv^~o~cM4YL=04l^cT?zl-|_m( zb97S;c6YDT@;z@&wYjxkucwYiwC#GfeN*=5aQ4r6cK-kq-W{3ToF931e{gNB?)Wa| z?Y=_CDZ_GmYlx19#_MifZEjT@dbS@;>n$qk2*>WdH&xR0+coMsTdmETB-39U4+~Z1 zPl1wJwQ~Edn@g$K=M)3P_y94pw7x~Dq;W4h?ahuCXXsfaw>Jly%p{nSU>OPrOfF7Z z@~CbM?B^T}S;=noYt#v5X)`q@NfYq?7^+p(rz(6*uV(73&40@BNo5?l^FuQ%g0Qey zi-r)uBj=2Ijmpm|(2BTeo(6xGZX0NOquHN!cxEG#YaF+>9n`E)o7`y)&vvfujafY% z>D<_wg02NI`2PU%A5FE@Rc^fQRb#y_6XIyi$1S$=f5+~{{yzHcxlO(H zzsB8b&u?fN`Wsulrt0F$Cf{<7*6tYkPEs-XPes?iP3mh6rE4VDkMuCxZnoyH*TCZ* z=kK3&{l@N2L$$e%XK}$4<~KZbjsv&%TbmqS*_QMAZFh8p-QHWdZZtERhNNYW*J*x} zXJ)(GUS#T%6&_`*u-}(Dbgo^L4i6aFR=!Sq}HFnjC$-|a`W zxEt4kUhMAn_XDtA7Yb?W`Q)2nMl zmwTM&wfCCS?%urCdRD1DFp=qY*KoH&xzcjdWEP0bn&w3@?$vzHxYfQ?yGy$1dtjAq zKx!aRnq?!bn8V`(mlAN--{0H^{{Un6v7D9O-sTsI_cz?NzuEnin|rF9g`PiiYU1}t zGPb8xt2<60-Ah*-XgiXiS00P+&s?vhdR4Zzuglc#C{e0hV5-||cF$(+VNJX^DeZg@ zmyPc1ZucC0i-zH`x3_C!WH1|xx9o>^ZO#248`t+&AI{mcNhWdgO5eZRzUy(g^Z3uh zI5(|pZmoNMN2I^wr`v7MxW9D%(>=?U+mGx6%zKN<9TGO2e{Ahe*N8-50kd;=&GI&v zSgWeIVU|BZ{vhZp)_bPiRJ6K%x48S~%O9F5w@#|HnY3j3jRBhDv4Czldz}WSVp~CRWO`#4m#^X>YG4VZQJ_;Uf^b!&^PmVQK#fL0 z@ql`d46$=oo_Gv+15UIbAD`ecm<|CkN%#!w;hjbp1||%6#N|(%)BSLS7!Yd}838a( zNAMT`QVHo(^qh&v%9tQiEC45@bc#>)QdkM;0)ITPNJv3sfI`fHKnw+lq3TEGFaV)O zpgxgO2&H~TlN7=M)>s9iKoS6?i86Dnc;FD!)pQ2={+gOoF`fV@sQCa+kR;?NNr*Fm z3eqGnip2~VB4|7*7-N$a=legl`=z!Qxy~D7$ll`jX}j3&H&#;R&9(bN6_waXAb8_S z?(R`VUJ11ovh^|r0RRemX{9D0Wu8OB65DQGqg7SF;95`+WC2eZ)gK&4*sZ3YD5WDP zG?+7<07V5EFqs(~0e9L(ORu*8h9ST?eB8>ueQBHoqwio+i!BMI8P76@$cWi zV0)+8?ol^fO^wen*!!eN{qrc%K8GUg8#awySKLXxFYVhAL%f4Ffqn zet7)La<84L%ro{`!-R@&}uhzD!G+JY_LOPO4eF$6&v^FE8~{ePi#wcqKlZcKNm z_|)}3bNf%x{oB!7qxB8Cy~`+8;-6|~r+(4<_t}2;@cXXD@136=w&%ASZ`$&mxyiMr z+j92qC-*LF7U^}lXGoA#`nI}^eNXJKe(ZXsX?>l~wdyJyOl0^&`78LJ)P1qPdfRR8 z`c<2YEU4^$2MhhjeWLTe)8FL#+uQxF_qu($y2o{Yg|%qz`L52i_X{#@!U1=Z;n23P zRO-8BWJ)%5Rh^v<`cT~tc4!=4`_*u4YXU1y_p3d+s& z^OdTPjSp>ooA;{lo2_ zQ1lL^>~%D^EcsssyieY}58NFOtn60%7E1Az#T$(r34(Nk70A-DS*AT@tmjkDrk;b! z71L0G0!$w?&*hoR1H*s~bNmDkmSVX<{y32V)EJThsh28ls|^e251C z1dt}0rho$^Mn|BC!U0TyBnXBoy3~HMn|p?gVW`i(<413gEbOh<~rwq3ati_B*8S1mVN>Q&SZrNN6O;nV8HI6u<$A zAdqx{KuL)-2Q2B=EC3qC1S0`DvoxfU@W2CXOv?g%(=izXkq{;@0bL1zNS0$+A}9yo zZ~&IzkxsgafJpd^z!?kx8_=&$sLYwEiogfqUkm_MG=|D1BEA**i~v;!=!5>buSg??VqP_<+;r_S)p&3S1oWp7oV2=sPB;Wx74zL9j`Lwol ztpNH=WH10qe+Us@4O!B#L5ko3OMEiVs*|Wd&LaQ-L6XD`K%SradYbjX17x%q9ZC7L z_;`rvfB@6xjX;1V2(F_BPI({UfMKd26DCL$q^y1vlb_+90R#YpF)~c$6VjkiOke_x z)?h&^;s}65O$GoIX`zuI03;KpfJlZFF(<@+Cjbc~ z$f%()BxhQm2^~%V8Z|n#9)g*CAVCl?0Hl}%)SUc48j8q{r#_ef`JNXU^yv&5;2MOF zR^XjW5(u?Qk@~UWwK_O=j*FViwZ#k?bOJ+ZR-GVDU<$=Bnv~EEgLF#=9-FZtNe5BW z5~2wT0gA>Vo%%xk3wC&KNCxHKSrq{ct0|x|0AcLp@ zAR{hnY4P}CIsX95{69G}pTI>3OWbtw!343?z!E?rV2tY(#Z}EydbBbzR0YnXtg?Y@ zokBn=qS!eX8ATx172pJkk4oaL#Dk=Uk05IJ&Y=iviVzBL+zr(;^po_V?r9D_A+W@prnAD(vKw@hqF-z^Y2^Bbw1LEoPYK9ED zN{DF?1fLd~cw;-$m(5)XXoSzKT)G%M0IUcofAlDmUZsazZAIllJOdY1t&m#exL}CX zfG8nFNz9)dP*z=2dcfkFidkT?g)Ac2Rb4`K5m2=HhI3p?Rpw3V4^+Vy3jo&CgB4P0 zK#)N2tV2nz8&Zd;;k?YKrO_3Y(N1KO9zi}@+!>tkB?>YFhT>XAokkiMBPx(I<_r}o z#2+qrn%|kY(E!TbR#W693##bRMAQQfV@^UckO4Tb6x}{;I%P;CkUXHsG$I@TB0$1o zZ-z=YEhtuRGKC~4^D;`1M1aRk88LxMQrI^cdJxFI>FKt&Kn9zN#aN?7E>yT$!0^Kw z&PkRK*hW=V1Tk{X<;*BDi#h3mfC}}eQE{XyCZN3tB-DZRpTHa>l2{d7sTu&hvJwF% z;^>lSN0e$lKu=hS%M4)MOW|ueOM##QST>-*nKjq^#wE6%HSFRA3xI`HVidC>Mq)w8 zzM>;Z1XITpDa#YgjLyDWajgQ4JwzH%FoRsc#M>*yz?+o$a==ATQdSM-w=hhB9%;0m zXpqLeXAf5;CYqI?E})S5{OCa;%;`lF-kzJ+~zJgj=?`1kqPv;019m z%_N`IC{Mg=(;$NY1|^sV8icV64Ftk!pg6IIa@w#0`O+i%ewhWdk|Z$%XY#HSNvL2% zxo*`JRNP9$4G2UHOQWkOto}I0&C#V+(nw5*%Vya@=73c|C5k~H(g#gcCj#7a=FlV} z5Jr_TEM$P8%u)4JC{QHEbB)uSp^#k^+yE;%`hqZo1c`-GBSVru@W22Y*AObDuQ_iu zxc~tMSn4{IcvGeTA{&=9C@5IEGaH_nT`59ykDwG6V@MSP)c(T_%!Gh&?|X z0|Md_t`Ni(h$c#{O~cSFe;)|IOP*vxTOZsiOB!dS4@{CE1|%(8Go51qOz1e;!s--f z9(^$^CaM+y^1veiz;k(sV4!G12hvGW!V54pC5-<7JOXN3V^;27h-{P-^!Y-WBxOx? zr(T#svX}*JJNc9qFAhYp2_Wi29#F+Zz%;`eome$h4#i6tLgs`GP^w8Y5MnbkiciYd z41S|eFqqZU4eBqMnOn*j5XDwAifK7w48P0f0kffKiloW%+a@LkrX-rj{6-mdvu(%= zw`V}nsEF2b4?|K&k_S)9g8@>8krXkwzyQJtG$D;Xp&C_2Q`ZQKH_ZSl-B1}}KnxW6 zVVLzEXZnH9;rQW|dlCIIDDGj8l zB5D0bBQOR6h6de;(B)nK08mKRtUIs(TN!VD@sLh3>Hl#l<8y)94H#d)V&P`x_%f5x@}>!{Ue~V$$coR>Svt+ zm?|XD;&H*sCyXs1X>B_V7Z*!7fO852N!39s;p2<0jdvFEHKDk zOpg*VB5RpL&|ljGSO})|)HQD%M>5bgT>MTdyt$R1j1R{`ty?ODHM3;-hKqG137Aj^ z)#KrwBY-s|YpBl1wpla>Us|P`M8ly~sBtm);ebJ0xzTM37hpzA$P~fK5wfAe6|jj~ zB^gT)gv9C*Y?TFrfOQESaMrmqth;%;FgBJE!^kV7Q%R!`GXbMhK+B-TJhu3vo-BsH zY?jvAhSWmpH*QxWP|=ua>(>zf05Y3^+R_uM+MRH^R45>1p@FE;{BS`ws!Di`U9e=f zmIX$)GIbpzN(KEhKMW>}z}qd|EY~#pilwf&1X~ZPfk`E$l>H|f)nc!XLx}6y^;qji z3N$*k5d+Lg3Rlce;fS+sikEAmUNZ`6#zo6l2lZQ`iuilo;Sj9v=$R>4vR@AQpcKT z&`q-f6j#qVe;j3eF|?Eb`)ei+g;;4_Y(a*ks6VPq)`O-aT=6R^zc1WI+gp_Y=^**F z0tF%tL`0mta6@WR!2{lt1|^j05o|$SYXG*QUO`zI(x(6u1-6BFD8`{t0gxyPf@)7$ z#VX2_11g%BFO`0(tZN2K2_9%H2hXMsNBsbhmY7g4lgm1qrJ{@g5VEGe9dMdUALYaf zx1<&!3l`K#BT^MG4Nrz~&|wu{sFt?G7Z7u1m}OriOvsYJ0=W0(U-!I;n41 zcPyq4(hNU9q{Sn|c;G3*eA++-Er1r%X&$DP^+b?O8%)7cz-Nn1Dz(Lm0v0_aX3!X{ z>JCJcJ$jfXgQ&y|b#3~5M=h!516$vqWV{Ch%1{#R{D*nnJsOAR*<4% zAeiuInp}mX)rMq_83c*AUWE*}!F4+pC~QRJeTY=2#OZLR*~Z z1$yE^xXS|dhpdnc!MFOAfYqH8m=*Ak955ptlInNNGRqMsP^r=hjS=vY4iata+6Fbv zy6yINuA-=QMhUH2ReGL-5vK-5aR#*?fFB0n4)t1V?0TB_k_Lbq~C|GGFijSnU zEQdkReshKvyi0w$3|!dE!kTIV6_;GW)=8>Df?{*ST4m&<`LkUa4Y=m=CAK3#g<%Tl zHJV1L3<;R5;G9nfp!mkG^b+RCC{m1I(1RrDB|&9?zGXBYpN{v%g5*HH``m8%wT zSgc7sR4Zgan&pQoAY)?H$UdQYV;*QXD^SX^AQTnBz*4nZ4kT$%y0v8Os45ooGLp#$ zNg38x1JVFBa|9BFwG=8zD56O$vgcBt&U`SUR4{2ga4Gh7FA$Ao2~Vp^1ZEBiX>kE{ z004tRaXht#qft85;t+{q?WK*a>(&Yu32c#a&;)}*TUE*$n&pVL%^os5Op|Tzx!sxu z)n{?_X2qU_6<0|Lt4O6I<%wGroa7-yJqz~Vyf-_4Om6LN5W!Z|rPd<1C_vJd@+T}~ zxv^T?pKA^N0#&UzxH6tQzLCHQd?=kds2sHcK%Y~9rcZ_?bMn4t=0vMiTa{>M8y@sl z2sP?btfNo_h9E!#QmG|YLuUsV^10@HrQV6xn^P*<_gdT`-*AdVfo-4708BK@FU0s_ z-EN$($Vy|()EPe4x&1{1Um9%%B)*w53#tS&8)d0KmNrSR5?kg?DDE;Hr#rW}6kICq zPyNk9Q2-k11nOeFDIIY(w=2T&6=~ZNUoCPwdx12xhJ86e0uGW1nwie05zm=l=uPcd zO1dI)?<^nGp^#`O-YqnGL%`1s*}CUfpzPr)wUN-fb0Kt<1S~4bpfC(-8jA`1u^61Z z4RX$ng4+vM!yqgPV+KIgND82uKsEgH!>Ut1;wx2iHKHKDZrCSYfvf@xX$0w0sIHNn zC`hTCXzvOuqZ3q@+ZZet`(EA6R~FC;2)dvtE*$Dj3}k?wnVjSkjC|A0E=r`g%iE`M zj_!Lx&RH2%xxgHhij=I~)GoB*9)Y~ju zzR5Tg;cGKrdl^VKIjFqJdbUn;nAR#wVXMJ z5s^6)jr;qGyI)5I$Mr3y-sf)j9X(`{#crh-EPkcSQ8`S=!>#$mBPO!n@` z2?w-qK)XS|xgduej>-jr2Ks?TjpfF5A#eXid)8Iy+h8>|N< z=b0xdnU3GR4YOojyob@&w-;`%i=n_&WwxVH(%A!58Jt~HPHgZit8vwtM$fpmw^fDB z#gG{Rxa#e7%ZHCmZRS?qp&(XF&NO+=Vhpnx)qH$2D7DYqxub9DTYGm)C8CTOk!>ls z?8Ziw)lZ4U#vm1=9ALXxMDGp^!*|7A*HgfLxr6NvyB-#-tTLDgE1Nr zp_R2WX=pKD&}wVpisCrN3D&NNE$SmB(!er}D3;_XK@~=TCYVEsWy;<4Hqa%|1=Mot z6fg^`M6(eJ?H?I9Xoi|4ThV6qtx2xh+Yh8TFFje%A0$!)#sYN7D)C#kMcZs_Uo5L? z&D3D8Y%r#k9#v^SEG;|++SQcTfnQ4ESpX%*Ta3gb5gJjQRwGfGia^CYIYFP8=^z_g zQ8X)C(m?YoTuBPLU@(yY)ZtHPgSM+DR4bik(Sr7*$Rg&1jYjArl3Lc1sY5G zqgI-&09i6lWMK@GZ5;zMT_KAdMV*q}uhVP|Cc24$4P!HaX?BjSyMl!40I*=72zAvS zY@9OG;bf$~VY2FdPOmooH4UUiricxpj*zGg3{0E@g{#yQSFxb~0B-HQWP)`_GC&Ip zssi}ZaOOM-N)(jg8IF>4s4l3bKSd0NT07Fe_SlraGlUgVaou%J8>Rbo=;D%3JgmJeF~I0Lw2 zazQ{DSJRtKa58`{d39W$)>iMrm=l2IPf{h@dvcbk=?T=u04-={gtHh7s%2>y6KTrB z999~(g{za{_`YLje`CJmc08We<-3-DY0GT({D613zMC`K-6hl@+9#wL#9oxY{zRJZ zAyTTXQd0hhB72wqJigHV&J5hovc0#(^GuNZ*J#+e+5EM)K5KVc_YBr--g4QwPlho6 z0E5yyc~hkEU#YEkdX2Q5Zu`BbwqLtXc|EDSw_$VrgSmM< z$8zv{d)az6ZrQ!Iy!IT>$~Tu7f5GZ2WVUyFpZ9k7l}@8_f85)vYmHwl_V)h(Vou+_ z{{YNa+x5k3`%i3s<~wIrqe}}blbvBmW zTedD+I<;y>cwB0_jkQ$mHE)9{Y;)CLVb^lJU0nSC0I}VE)c*jKkFyVVZEaJ5_m8)@ zo=b2WPZixaSAgE5S5a@?l(JZn(aiq<3_rh4WVy2PjGEw;zXPoK4}E>3<2!42-P^Bn zJ174DgWCiA;uEjKJpFShNh9yk4^Z%^Gf z-k-lec}uo^&$hj##6Pwk&GLMOm$ze>7G>d0nKS8ceq)~}&p!INFKB0-VU0`Jj@{$`8X{l0dm zZofCm_FpI5ybpTv94Gq+3*OuQXM5dTmuGS2^}Wg3cJAM}F7GzmUOx5fN^jZ#E&U@_ zLLGUk)w!>0EG~D=9m`Ej_jakdY2~GRc@$579QT?ZoBL?@H*MM8;$GPIuG^RHuJQK| zu{+y++Wnk&p4@ilC&Tt_>q*RUJblhTbT08-#oio!u-lEoy}LIrqU!R=#N8!N_W7u} zr^w;wUR`tD#7>sIc`uwOcFvu;Pl>R7i1x$0xX*KY``vEtvE2MN!nU87#I+ilk)d<~tJxpv}OT}(k@0Iyxjt5=>QTd2G7UEQVD ztv6_@v(;DW`F`hH06;Y&AbDVl^#H*zJaF(@S?1!S-Q0Nv+2FjJI!PSi)Z)iR%j~+gY|PjaH4qL`RTzLl&)xG6+clZ1Itjy_qd&q9CZf@NEtx?S_ z{a;a>Y%RWrwQ}2BZ&880LbAp}s)7JjnLSM7YOKq7Gj)gN(9brAjcVP?mk9Hs+PLFQ zrCKepbkY@ssmPpHGKhF#YfFcrb=zFD_V)tilXBeMwg@@{Ubr+MR|a*~d}j%zWeA4X z1K6*!ZfW^nWVqd}={NXJXMe>KeCTc4AlfQHEC;6Wz~tED-Bzns;NbE-8&;!BgF6@& zP{9BMXP^=@Fagiu@EFD0Ftj@3@Eo+qG6a@@!VC&iqySDP+LGr)PE=qLdc{Y_GH0L| zb#G1*Rce~Y3?4=O=Ju-be)rkmTDfT~_fKr?_fD&5tBdP#ig6%6oi4Qjo25nzkO#cD^- z02a<`XK#?=IW3LbV&ZN#dy6k^hOI*Fr%)znWX7DUjW)iy;$^!|dbQkmCCco7+qur; z;rDi4&-+(9%IsRm8V!J#?meJlBTcqhJprJ{kX@&Tcx`bl3!q(<)o$7T&{F|}Y1B(Q zeJCb}rWZGw7@ic2t;8Osp=Rn^^+`kt1e+* z_AV!;v{8EMv|C0WsF5t!bo?g?)wc>3gz+Rb+vJ;UZ8-$9+$yVUNg5A6ca)*FKz6bv2@9$T4^EWFMOx)fKLQtH9+QyU*TE!r^^3xoNFG zKd`^K7cG(MAhWf*cI(|a0j3G~H|-0%n;b_y+@1G- zZp9RK-w$zi_w=+qhZm2=>z})tVzOMO{-Yjmu6kMZL4PO zx*Su^d%N$Kc3kzjj`;4a;kjzvkg3UT(J$H#%*?1Zs*5E8lj}m+|qEc{VBM z+vHo3`u3TZU$5a!kMw0XWTV?l(6708*{Jv9(oZ z*FH2|{7KgPGX2X-`>n;hY^tKl!DjR3w@JuAkPUHl+jU)!`PA*MH$nMfOr0sW4eHOUuki`rZ{440JUkvw3Uc4K`9-$#$NjvxSHf3_&#z zVww2kIpXk*yaz}m%!r!mH1kK5XQ072lra<#Pn*CRb(r`8mrSus@DwzBntzp!&A;0} zd7Z_`dRH39dG@ab&0E|AXm&Qv)zz6$2YtJ2gqqNfxZic94$I8WYu>AwOmWlq{f{{i zTeY}LZza=G3ww0^&gq%;Mw=*~R<`&+t~qx%cJ@^7HB|e1JB@uO(!FEWx~01EY2%O0b`g7nz7qcc{>x&?V{dOlTie-XmH^MJ?5ENw1VX4FACbqB^v`cD zn(wIVY_GnwTs}Kb$NvD5f1mwh-4%X|?Z*0FLuux!8(G3I3zu*1Ze6|R^%l%K!jFEdgO;jl1@%W#1ymtQ2F~;$Hy@s;Zxo$I$O-9 z$rzg|t2of|J2vLqOvgL-woiKYZ*umR?w4e|{{R!XLeL2&<)6gojcrFb zg{nMVoZAls8`qS2hy}oJh*n1+AY%sM71V@NNvz?+@~7MT0(`k#O0t&4wX=DSyMe`) zWsNQpg^3CqTu^x7H8)SOe&q2b+ExmSZsN1Dpem_FLK{&bh|(HFwGJ9lpbn+W!6j8* z<*=nxdS_b549linK6we6#u&)$aqhd@C(M_XN~(zfnbhY@wYBI@cy0IxhNZ{-#KMZGTr4UPU`^KFFbOg*t=SY*N;zUQ%TQ!K8 ziJyqCQJw%Ba|a=mgAgeYU=PpZjjZ)1TJba|-7jTZ_Y>`}-tNq~VD1k!?e9Kp+5kJg z^I^2Pz1uP)gD>h@5!Q0XyA$^kSd*WsT-!EpSUw`QmTvAgRwiv+w7<99+HgbLyJ3x| zw|0EY%H!cQ#?*yJMEt3|oGrUPZY-9YYd)IXxa`*%)h-=ikf4F&i2Abw6&T44!f&vW zEj!$3y1tUS+a9P}cT3dHdbKi+w5Ab=<*N!G`}G-B}Hbm zrZfWSWL=v?!yC7KKcop=Fv;Z%;gMT27#&!3^LHU2%r>f5~Ibr^jLBI%`=jN2^D<2%${@(pmr@ zNHjfSGRGRtzGqV(B1{kr5&+NO56ojyRh@JVLr{t+I*hDE234BkEp?j5=5#m1fcA|{ zC#>h6OwLn?R%=2UmXie9rm3WAGBfy4<@w_I)aXwtrf<}>)j5I;OV265;4j>LFIapTseB!Pr!kzj%jKpB`dreJ190B;!un5puZ)lf_l zR0!*z^20oT=bMVHG(YKnkpqNeu)XrYjlG z`eA~|Y^3>oL=#aN4NNjv0|*4rfHI#s1b`_g<0Mdj%K$8BDP1765^AzmK3YdnIs7of z&x-8`gY=RNQ~^F>K%p~OEMo`?DguF|R!H##8T`!G01K$hX&qs*B#M(GGCzg@2`VcT z`4B}!0pS_o09+C#Rske{Ym@;V7y-;Vjp zC#a=lWtZcCV8IcUGw7o@h!w3)02?$}%m6DHlbilCfSXKUSpZPZKoToZK$FmdKRhCZ zi5XUv%n1JgtKlSI0*nPF4M>lW2P)6=zygRWC{Mr$0F281XXl0hnw5zF%uGcAsTCQF z0(!2&$T8BVsiskxtegQ7qky0p%+M}*M1SFcX>ckl5i)<`JVpUTH{KARgnu9SoCs)8 zzaP$-e>^dj8Q1VQ0I2whnWs;l5DssjF~}+%cD{vNHJKhU&{yvt}dlf1O+3h z8CIE@oC0Vy0yKpb9#ip&fP8C#>KY3Gf+DpO*F5Myjtu;UP*MPjl5&_a^5{hTumMGm zKuO9>5txHcqXYmlbDZjl7}s%Shwt#ZTAO^X0^s3RgPKO6%HlO7cn z8OBtZrEq|w(DnYG5tLISL4))HfD@);;1A0q)Xz)+DG($ABvgJGlbIs|>;aqC*3>B~ zSg9%?YSUSf)-X;4`wJUizqh`dn-A$-wRLX?8LQhNt(DG_J~M`!!dV28P`IBj{{ZDn z?Kg$?58WOc-Oq2f2aooX?h}^g?($qF-p$d*dwK5;*1+Yt?Ux^V%7L@sd+%!R$n5O3 zHv7AKgtscnqww$Kk8SOAo7MF$n!LLgo@BI7_L=+-FX`LqC(~{;s~G-=IsK7+-g~3= zd)`U7<68d!bbC$Qo9DUiZ?zlE(vJDiX&1KeM@! zrPI_sx9=_g0BrRuV(q_9v`ux71;RW<)a`B7&dcd*hH`yw`$6wVw4U;IEst=0o$szA zzPLTc-)j5oJ6qQ5_b+R2Hw&x%le~L{pKSkIJ*SeRHo1M|m~mxYNr+evHq8snDc zQpys=;D$NN5+O#Ds3x?YQOdeKb&-!I(x#{0|ruh{o@ zadDls$a0sT{qL6B{{XUaiFV!3PW`)p?fG5AJKM8t-bsyE@7@E*Jv75%v59Z9;%P;H-7`y z(@nW~2eof@p8?-HKH%hdU54v*%HP^-w)?&NTiWsI$c84u?k>9eYkPR=6&dJm=@guM zAEtVi^XMjB`--{AdP}t2ZtdN@q0}MT zYEr+qG#Xt1fPNVKJKQ~X-se@hxwzYHuJ}B5?)Ts8Z+pIH%+m2#IV;>-7dK_BNpDZo zi_5D)R2r7!IR%23GRy>wYv?=6Zg1e>7mB@V-p^$BQsu|H zr%tB@SZZZ1DFgt%Q_?f5tx zxcH9l<2JY1QLV2l#{U4e@84*owcDPi=VG3wpaxaP?w`h&= zT~BhmbDvGl+Q;`%+y&NBipD_l20EgCc>Rl}>S?(|xcq8f^<4LU-KJN`cRvf;90xbt z-O0(>;(K?uIIZtD&GI*&O|6$1$J)8L+}vX3Jws~IR9Tj|LV+h89Zy@+^j$r=o%<^7 z(z4t5{0v^_C0(te)5oy+IQyvkk>7pL`^(LHmA|#Pv)e4UJ7e2^E7iH^@g0}2yRU6@ zTP^*a-#>8|cerA@h0B^`z{krz@Adxx{<-Qqo0f0>I%*dLl;gy2lV@dD{{Y6k*}m7o zcULB*?T!_9_mOlEFBKLa)m3ytL2G2Xu!2m21d;|nKI*!@M5{)n91C&Y^G~C^_sjfJ zc25<<-1m3Btz5d?^{vMT?dJ-2hz8F04QFJW?>4(l$Lqbib zrF9;n*Dd#LRJ&m;{w@xhD&KWlsi#%?@I9Z~T}{f943`iOQq95VMw2@HQI1EhKXX=3 z37uGs=v+X62Z+i{iqw)~vG~RqhZUd*1c-u28G~MuMAOF)gbXE+C`Cw`nV=ABCVENmzySf2R<)YYQ~BTk#M8!~FN|T7I6A=t{!=vg z{{YJfU!Y(>>Cnv9CJ68*a0qggXv^vcF{Yv>f|2=Q2&$8)&=EidVtgwj01h1{Amp;Z z2n9*%2brR90J=ni003#AB+O1xNGHbt1V)HsNtls8GQhwX00zhrLP>#~HbfdxV*mpX z#4OC#Ptr#~C|Ym;l3V39IYef4L{uKQ06)TFB4k4f_|WHo2AOpl8JvtzsTr`RhlXPe zU_wOHz^oWDWK-eefHfS+ejo~Ttw{r+{v!xL1u+M#5U_O^&nkb<3}T6)gO-yJ2sMeN zGQt50mWc+TVh80v3@|O6pB1v?_S=ny{{U~d-R*aFp2p*ExwCI^X7#28Zdas8@ zd^5&d`x`w@)7syvw$sB$XGPcbUZ2!gs_8Fnz3Q~(ICwm;`+)mW-*#^6kndk__S?Q+ zwyq()$ad=6H@OZf{{X5KKOMJ3Z`|>A)#NA!<**FMgO9mmS?*FM3wUU+ppqg&t6@AR#Uwno#45Jlqk{ z%UdbSa!<2+dA8+tytf^?zsGW1W2WO{z1!UMZrHp?o1**!bz3Mo< zmd=->O*H$@9qOKy>Hf3QTcPXeTkY9KRKe))u-|oCZgF;fm+otA?DH2u+U6BznO*?-90KVQkxb^D8NtWcGkiGS6f7k?*z3-x}8 z_dQS2cHZx&w&uK2{)P+p8}?+In>+6M_CIB}P2KzN$aCF-wXwcOKECgD+fArj*>A5O zGg&9nVU!a%`rFw*$lIMKCq?Qucj+7@XR7R;h! zY>mC`mHmy&yKUvY-qGyu>~2xo)%~sgt^F5lDm@gRt1%)m^aoAVZFPHVd#Ad!ETu!> zel@wVeVe_V+Va}E%FFot#I?M(ulqapuG+7sb=@R6k0}yi)s$(RYic_#YG%u@=5AZ< zGLF*kE_blG-M4f0k280L+Z8i#yG@ac=Faf>NSX8dn}8)qNkM^`4pZ zy=@h-tJNM$(!Ecq^v(~}bdI!%EflDl{J_8k4Kl_F6Irj9Fea292LJ|VNit%Tj+CJkkPZMSf^>>0 zk1!-;2+D+sZyW$FnoPi$k|m@lV>6nc8~`n_DruyG00v<7FmnXp0;5c6sF9&x z>EQ=3u>kmB0)UcWgPC9=lLSQ1o8f>0SeYb2CrBhxm4F~r8J~^-1XYXa8S69Xv=QHD_Pb z@%a&e0tNvQBQrBoIgnr#QQ?3EV_E}hg3lB(>hG_H8lgK01PV>&#M6vKr8{6 z=satH0cwaIQ6fPk#zbmvncx5j%0iU{h>nxi2bg$Z0aigEjX)7CO+tjkQUqWEh|~u` zEigVZ48~*mU;#qHjRIgqPf$dXuq6EO0AP_mKn{`u)KC&+0aiX0zyoYa1PBLJLFo`o zOoKBgIlut1BvhITlMxj@AQDbT002qQr#Xzk6P%f;lRhyx02rZZG-)K}GNFosesE8DwjsOIR{2_cmQ&wX+ zm_Nq=3Hq7{KN2PnP)1M(gx~-?q~{RR20B(|PnwnfI0hP{Ws2&s701E^WAn6nUQ=mF}{ICF~NY61+Ou>p68GLX6py$>oDGvfj@`wOZ z0nY#kWC@c7q}Nf*_*9OwN?-sp^B6QFsmKx}Fqr^>mH+_B285DC0tT4K8e|3l94APM zWHk^3kOW8~Ac(*NM1ooX0DwdYka|Z`fDf6)D|P))MZZm8Nqoqb8f#LmLVqlHZygS* zsbg|uP!K~bkgKRDF{O#9fd&8qvxvKjcY|E^it!6@Zo?HOT?(C1D=Y*RSruH4U2wMA zj$S0F;0SFc3u-84*=-?9iIU8q(Zo>5kH;3=c8xe;dY2mSspnzW(+e&rvr|4#)!~Gk ziyt7;;CqA9ELf7DI37~!1CpLU9+=IhsTSd&)DB!4S(Q{fD-Bl_MzvH^1{#m5OrDYO z#;RjFi^o!-1FIXpQ*8M}X!4*sVl|f_)b%)F zppPiX562T0bIq$0##jZvwWiQ!^LmKuP)k$IqJjvZ@x}2Hb#4~~1%quqBNY?)VTa^ecoeZ}bh0Qe5v>UqZbftp2t=yNA!Ch|K z@}e-Vr2{ka!Bno{Vyl4Tj{z-PZMNCbp7B;{v0%&)W#?>^0TKb6Y61(^%c_M8`I96S z(Lx!c^p>a-H~@IvRCFYT)UBy<@(B#=NRVrmc%@eB%!r;_NBE0v)vc3lS3|P^$fOnl zpffQtNd`f#B)LPcdedCct#FT|g#fLu7-B^0Im||QNy?N6O+iytp{1nyg^0)x#&qeS zsiqhVt-2wVX3C?M$|639s( z_Lu1cBQ06!hO1QNEQjhLWw~umm)5Q{>JY42RQZ2dKzvWdg!YDhxWvoh9UenG`Kk@WfuO(FF@}kQFiu`9kSBiIMOU zl*(ffYT6=OB}pA!^)Mv`u$qaP5>0%oodESf3cq7I&NS~!KY-B7YepjLQJBC)B%;cM z)JW(mPH~DDjs?P0lK>AORgoY;1%9alq~ny4jn3Ibly)GsSl3C?36)wEQ(5uAleQM1 zH>XWn2xViWg9eME%Cs#>@yANjyrMnOOq+6yz$-IV5oTFR3YY`S2MQlN{{V~t)2T^o zlcp+GL1PpQV3&|QaNjdtSdbw#;K;t3X5LsHU2-JpnE=IlP9tv4%OE+WN%I1r0-%N= zOi7x6e8y)Q0U5yz#ZaI`3p(Lk>Lgt;BuF%jCxS0-QL%3Gwb-|4T2K_JK3dc=v`hy4 z&IQ^E$wjRH0I0>yyTmObO9v9fk|Wd1I4eR<8FS{2B?L=rrKO6jhtuR00yLP39S&Fk zi*b#&QpFa{*?l#3YlrCoCyFoO(*O=z(pK8)nIv04tX)`-CRA3bFh)lJtr%~#L19&7 z+mR#8K!U*dlUDG{0h{wT8X=Qyk)>3rXHyVkQ4s-1I!Vl^p~57K4K$cm@Ck?Y5G zeIkaw7z?UxC)=p=CA~pKvcwXlrzs{@1gVw&cw@6mQL${JGO6Pl~)fW^ygCB*$`0hL2<$pC-UNi>Q9hG<97t9q9NG}~tL2I)F05MM7Dz_9X4Y0@5n zT(*I=AXX<@>L5h~76!U2{{R)kvrf{qDPcgsvvACV1L;y(OaT($0;^w^5DV!_5=dr& zBxy4ypbn5a^*8{Brr;$mX<;hp7y_VagRd=QE*eSk$PTTc8kfwkB}7q5f=;tpsEEMV z;w(Rt8e}d51LjvxF*<*^GY~-p4uBXDg*eD@OnI!crlN<`&>;lFIbwZ4u@xsNtYRwN zvxrae3H$~HrPb$Xe<^ouL3FKaLPHFzk`~6z?fIBPI2uMm25h4t5rk&#Dg}ML$GVqaPJ|?ogc4gZ ztYxRb3ix1&5>Cz#U$y#*C;`5xBFT}0brRc(S?kj7|8DhmwHOh}_CEM!&Nx{X5Kq_k=cU{+3%)Obt` zRa{v~s(iY<{)C0Fbdt&CFi5B{rmV1jrUqoMFy^<{3KEi8dBf~^qYE=$uiBTiPEK{DCkQQpImA5sDBwLs=|H6Dj{V} z4OblxNDkUafTy8K7?Cq1b;US&;wPwQZ>ou;59t{NfXoT~ zW(B1rtOz+Xv}g{V;`hD5~9mN6qd01ztcAWR?< zrC=EqVJ2p4kemPqrqIfg`h!d<1gU9cn&t2vFd5&O*;P11l(g2_iMKY;CXyLUo~BJH zKb8*SntaLd9{s+p13?E#jd2A@B!VP`ApItjGNGSmi9NvSx_%{?_Jm1!H!k84CQmMkLRGGThd3ZDqX zk$XC+TFFanJ6v52ra!mpgQ1OBI}<=b9cpj_x_ZR07Raa|YEkMiAE*&0NHPKz%fksW zoW?aZ{{Su_TTCxHvjQD`G=kKu)Zx==*1Sx^{DECN^6-z$ z+Q(|Pz_zQEptkB5!l+QBb!ZvpPCSik%D#W-TW-%h21e2vRb@yp0fsQXV#YHw@x>@k zSq@@2@C)|TF>lCJtQv(7S1iu1n6-MPqzO@1NfY*xHATf?E2Ydakr1^|6vR$oV)>Nv z@sftFZKVh+0(CBlfI%j*MI_`J@(>QCR0H)hR!#{fwP`l{ zU*IzPR#MuU;Rzaq&}xGWLDd=7Nvu;2M$~wOZCoW>Y6S~OjU}z>@*)HcCP2!h3gHZJ zTW{_&$&G8TNC3q_&rwBDPmOR0eKoL$Y}BYyH3B?Xs5y$j5jX>tH_gT)Kv6? zNpP{f=C)2@t!}LXr$P`I+X7yX^pIjC>4AuQO3{TXbNYO64Oe!B*Kggsn@Xp0m+Tsq z`k6|x{{Xj1S7ihE;-20mXuC|^Z!=!s$jr7q?`@q$yWya(k!~p-nS!iyX8|(=5*>N+TB(P#i|kxp$pPFV+Z#lbS+UoG$hQMXWc>BTh!9& zrOJm2zz|eBfY1eNHH>e{oiP07H?K9O*2>^yn||g_jxKps%biWC3CTv5X#$got!1v! zRnc2A%$se_tJ?&;f<%%<994j+APJ=oSkXAQEtUt$> zVYaHBs*LGYo_>Fud#EtwRN=ANM`=vA$>6P&=si!Plh!6kh@JO%L)Ggk!!oa?zZ|~ z+T9+32H;6AFat=9P{*xuz^~_-^0P}m3t!Y>w)~#m8UFyfgK{ne^&AJ%l2t*8khLSI z@i?b?=(0uaYc5xXJ)?VWUy#`_zjEuBKmrkvAz;3Rp>Z|w7}JVcTd>W#eKlF_GM$fg zZW3-CY6vA%g&IloK#41A?@$cRG*@%xBL-Kq?*jTj)T)JD!E;n${lK6YXBlGGZvm>S zd2=(^WxG!E^fV^rcIVg9O4%hC5JCc$i6F4(3HacAt1PEiRSH^NhGDVpD>v+2^h;X; z=Dot+x}Y_ibX$igxJ-fuQG}X_S~6wumS6TC~;T*IB>?o)k}}Kp^Uh;K(9Xt-;n>(-m8~0{X4}%P7VfNpGc( zPo8*}fS4U7*R7$MZYj8b?Mc+SWG0ayy0P$%vw{n(X!Iu~rnzP9kjfMlRwO2n1dtkJ zwvka;z&frkQB&0jf$qEMZ8s^UK++vW!lGlqXIwaNB-6^!FuRtw>sf0SuZT-R`xz<> zK*>jtn3~Va2D#t^LgwXADq2;(E^4@}Rh-*a(m)?c1R2jGfLZyIu5HrppGB@)V8=zc z1Sl)0l{MD2kD0?zoQ@m7?UYigpiTWnm|TM3>8q&BrL#>x!vj#^>O7=9eHob%*%S+G zmkNpWeKoDw6xQ$$fFil!IEi`+b?*kQu zn?cowSCUL>l+*RQnpfe5lTRX&NeiQH>RjGH=%EyrEWjyy;FXNYJ_ay!TyfB-WBObk_u3L4u&1|968V96AgQ;L02r?Z85Qw&{ zT+wg$H|({*7({8d)k*8cq# zZtaMNl^@%*(L4|Mdiz`AIZd_Q$8h_}&UWHm{mtIf=DX(W@R!OuwVOM&*zK%c+@m1U z!bF2pgt{cCw)vbVJ%hJVxrJUuScp}R&U5%4r}l4W_QzuO=N;MInZa>At=n84({Hij zI4&b*yG@rLwzXYJx3mI!myK?_OFLAOanzM-URtD)oZ9~YQ z_QSyQA8H=|0A982$8h$CaPLPLIm@55+9vYt;=7%w++NTwSij`GX`%|<5Oa=Bp6OCF zw8U{D^hS;`-iJj1sOSL`mZ|`; zG6n*8$VE=AFhvDgB%k;_aDs3U0FX+;h5 zpDkkbu7BNLTc7t&nP*bB_g6XX{o6ci-eREW9A4R8+|SpZGwJzxd6uvD3tC|GCe6nJ z*(>VWaaHqI^vuf+Tjjhf%lD3z%2usazH&+CZEyD#WAnF+A>KnRAeJ5{5((-?kJvOxw zq!MOW5itP$QI?q%7{N?r?{D!R001aJGA4&H@T357m7kcTmZXb7X>*+Ubj1V_1lB5!W5NO+Bb> z&JGT$IhFIwk-#?FYjG|Ox-n~NS;Hw;k>^$y6hpI34}ttKb#rKwo+ZI8ZcnG`Tmt3d zira9cTeM0Ug)m9+JxQ)L(4P_t+!okwEib3&waY1T<7hwt`cqIK1pt}oFx#C)2$8wm zG24sVgtu-{VaZ}mp>P>z2TIEfvm*q?M4^0#SXlLKUAFCZ>$=>q%WQ%)fI`7t3v9$F zHGzTI+rYOv4-0@Bw;dAO!2Z~{eHOY{fR|Vg?Go)p{BfFf&7(ku@QU0$&Bn`rWt7{y zV#lgVzxGn)ukUEK#LK0<0L^C(_N!RbYEtZI_fyz@cF#TSA7Ju!F16DAyT{wS(j2bh z-H^AG#%dfAzYK70s@Bl3&m+@bcGB$l$+-}b=2}GLXUjQ6{dJsXb&3N5rD(>mpiy!X zv*SOW0e1*lbhEUdH0dn>uhK;#Ly4b;8f|HYD=uoZ&kp_i*tY@ie}C-QTuT>sTW&`} z61u;8Y8vOKq_v^t1W6(>#`l+ZZc$E~mo4ph-Idp6&fB%adG^ZLFj*uDMmb+u zvn{^Uv;P36+R(X@Mvd+d@;lruXZGEj?VoONZ)<9nhVzm2c|G0xRW|Qj8q&&cLc~Bd zu6RqYPI)U0FOfCqDbLHg-k6Tu*u-NcXhSc zan?^EzFpSydAq*0cDpsax6s_VxxI794FRSwz4vb7Un=1+bXDwZ)0U8`zcbNZ#s2^f zUwpm%+kN+NaNVu#`ff_z-0nN;xz6*FBIun@vE!`ow;s5(;IcCa5n094V)o6kjLy1~ z_hIt#wN`fj0Jgv2F5+%IUv_@r?%3N4c3pN}-gf1`R^`wBy0ZM2H|jbfz|!G7)07Np zPM={ucWHf{rfYk9n>9&xov-cp_+I-f?G3$w+}tmDd!4$sb?#le-JQ+2+U>9EV#r^P z;nQcdp{)jgh{baB?Pjgd13q4(aW!kiyh4VI&+d=xbM4o+zSDi?;{B!eC)?iI?mjED zcYN;w%Ir7|vvb>R=L@HIs?RBPUwYc?S#4{s8c$P=HrCq0s?eS7yV{>!lTpO^CAEIv zqiksO+0p{pNw%iqs30~l zP6E2CxU;DWFc$6rXG@VHRfvMIjHAOtHlFI0kLp6Qg5}GW*3lo`)NO|Vh?dtZeBPTG zslgql?YtjBAK?4Fm96{d?bXgeI@sLy{{VGuHYDi(0OpHVxc%kZOk`XhwX_G~U}E`g zTB%$oihL>g;v0n~%C2GRCC9b4u-ErDtnKYu8m?a4TuW9F zL94y%tf--WV*+X0l^fHizU9?6)3x6Ovd&reU+**6Z)$CBcH7?e;(6Y0Z|V!2HwAoh zTY~ne){V`vD313Akt7K@)^iZ`{TDe($>klSGM~%j@@yaTb7~?b#+_&pJS!lYJQ&B;`@)>JrnpB+5VBVy+hvpRb6YBS8h$U501T>oHcir?GD~w zN4NM}H%+8}OL=rEUcYeZ)pv1q&#YfRqyR=lQwpAs>z=7+zt!&FZ8Zs5;wOUeJH2E1 zoA}SzT|fLEWpvvcy?)(!RkrG$ownlt08XC*@X(!3=n`M z4JKA8H2C6^P9}NQ4W9CKajN+K{sem{+9%PrL%O}lb8|>iR5qDVScBKfF{PW$V>*68 zMBa6e)VN($TV;*p(_!syE$Ku50LBQo$^a6Kp(uK`GIixr+*q{bwyX2){{TbntL-zq z?0bp!$?SJ_+TDKs=KHWXOIz#ZJv)PYvD&82^}F`LV7KkHs;DtcR`Rdh@_jIM?Acn9 zyI|-}fWr`?Mv<8Cub7kgPBS*~Fh0lk3yAN#-PN|^w!6Ki=d=5RbK9JyjpeURn|ZfI ze^SXcxoYLN1b9v^^;BsmE)45_X4GXH3v3Wxw5;XNMEw zlkVrUSKEKOKYe>b?T<-zp5gNw-J!Q(m2Pdhi^rF=+jSsCu)DbsVg!tIUiQ8G-&7tx z&Z^esO;t0Pw*>{u+AXn`kjg=ujw%Wt`+A$Fjwbxhst#*+25kQ1TMQn_MjzZ_DQqi7 zg=yBn>j1KM7TPX5^%Ik5}l!g|~B$+IxYSB{|JAz|9g~HX7ZAP$4 zysXa*Bos@tZfG_s-;t(DJL|5_foU8cZnf+GAtU(L`D<(1`x%}iF zzdS|8)2^X_pnj(owTzddB27HGgFg(gHn0FR5BiD74!t6W$K!+uBD$mMT_Q~s$ImGQVW!p)2{98smQScWj_L=XhSXF8%sLH$Hvvyu}TnSue5O(LOy@E?!F;zlGuCrNXV zHG!1JNY$1ASk#X7EKLu<1J^v@Vyg4vCj?F2$vHkhlH%{HJ&sS0-tpH^eN3C(y~_;- zy)H+~8&=MiR^ujiuQeKKR38o=>vopsu|3T9N3*UX+PT`D{oMRz(#xgR&8|xQ-K&b7 zO8a}N48a)ewW{ysh4II*@w_=!TAze#&8?%Mi zA<1Fof~{JK!OW9M>c>@ERZEsMw{|wYRk^yfw=OP}wtwzSmTO@r%jNNf zs!6)&WSmcF_g8rCEpgqW*XkFel-ld|81-S)o)%iiVr zYn+4b5$!(a;_WuuWle^FL>4mS3RLmh)UMsDc$V;XZ0*^$;i$)p?mdwS^#uZ_%w&P8 zV31~j#yFn2H+uZT3PC-3c|q%$pN0W&B%;cxsFN{0MGwai^){|j@Ep=6vm+{#Uzc1G z(!oIxNFWNqj)HoRgkbR#%4rCxrAabO&*3v8Dq*~nRm(Cus3Nr0^vIsI%Ci_n$QoeR zpp)?b08Y37P^1fy^ueg`&p#1{OHE6BLAC)TRD%>0>O4ZCDstgc5 z7)6SpzC-98MM*t8BRm4oAcV%L70V+4SH?Ui02KDdm?Q|OA0rZDB1cR#O@$W5tfVQO zGAINC^CS+Z0G3>$L7JjA~);ur(q^(TI5s-+a0Z)wKg#Mz5Y7sz4 z5z?Mx8N(j9Kq;h37S!9Q8GRizzZTlgH2JKfzS$0VtgpxHv;Cc)p_XY})Lp}iYtw+oKFvOZ_O7Ibp&H(FPv={~nGgYKioTSp9JOUCR zfIbrxCYgz^SomN8V2bz{f$)J-K4TeR1n1<%Vc;eroezx-1uzT;$btX{fD#3I5PAUE z1oRLoU<7%PKo!#vVzsR>0?;u)0S0Jm=J1~oBP;_etPlNCNHn3L%n85(1X-A3bF9?N z^&m)$1oGFgHWN@3kPJ`9p!wh_cyA1ts0 zsS;`ha+#0egaOBnNBQB5paJXu0G#FcU=tPx{#{K*Un~GDNvHfDhePnd0VuD>po(Tk zT!8YQ2*M5`=|4#{>T)MGq~#a`P*haNkZJMGa_V4Uk%y$6M<8e*Ou>U9Gn@jDNH9!E zfJr7yML>?22ZE$P&ZA6#KLZB<2(Sq9o}k4{eyr#WU;=;@5jlY*O(uY6H~V=4q15_5N66;zVJqp!{k+UMJz6#9w&gbIWYu}Kc8SM-66v?Odw;g9?z4^^?D*-jcl%xT`)9wow;Z<QPVy}S2nwdPSjfww)U z_rKhKVmsSm?jN=t&%NzV=4)-Rs&2L%*B+jGTyJ&o%*nOx9uDiQ6ufnzGi}kU zjQtDT-l6CnLbpY_)HR2r?ND%U?WVHy>^PNi{Sm#wXybR+s|KKx;H^oTf4z`9^{AM_dDmEJ3a7SEOaH;iO10X-TqGWk5{F3I>%j}t~1!&eqS?% zq_-6sa~hj}-fwocU8}L*zT*0A?^?EvXtnef?m+Z2!OQ;ZsQ}i;4%O1_@UZ+cR zj@vg)y&B1`#?`mCRcidx`X4tRc^`D!yR)wK?sJp4`<HQ~S-7UWQcHVW_;a&h~fJCWyj+q$p64bAd92Dr)<@BYJb`*&xz zrCkn`^C`%W3ghz6RHgjdrrL4+JNr+`_o-f+cKcexkLbSxAKYvUWP_Ex=yQmrnuVi@4S-@*I7i+-<`U+b!h1YOiYBg`AKbd9W_pfV=xP)8RvE1FVfH5+ya6PuTuo)GB^2HBac>e%W+Ewbg z(vD=jJ|w!N>bnf5v;FYidmY}JUgXE}ayIvcfpc?i;kH<(fZk=)a2TRvmrEa^{P`*BAm)zP`ZZi0MjW7O2{_m{!jg6n%cVP2C z>~_s-nD>K};qR2&@AnoO-TpJOPT?3O>pNyCxZS8aORkSKMn5|D=e+iJ`giI59oqi@ zsjk(p$ndwNFS*VC07J)nTH}jHlYBPYanEkX-o>@GZ*131_R=j_AY4GfUrBHRkq{_8 z82m$bt)(^|{gcj%MsV+MZL9s9%hmXuOWA$8yGs}OJLoLi+AYn>+46}t7E7QLHj~p8 zkPPNA>bt#1KJ|9z7LT5E`Su#^?b~l<+l=7)Kl@Df>u=dVZywz38*aO9XSsO6-<-Yl zPfF#^Pr8comgT_Iud>>`t3xxTJTdoovHc#tkL_-grlu`zs_s77x|W}Mm^wO3IGZ;O zBz0#M%v^hx_B@^c0Ne5iN^Ln43vYA;58Li%%5J|&qkQr0n|I}TI{9l6!I{?Icpl-g ze0qDOp-z_;lXlAnarA*I0Pw@X0urUPf6-Oq@TwK2T%Y3AQK)?Nbr#qp)nW)E^`V*^%SY0 zB#G&s01OWtlz?KQVnAO32drQKSTh>XDe7cRNMcOL0Cd0wS30O4)k#&(38dD3SO8cR zA{5Cwg$#T=E7vRlHWZM{m0-jYW@ZOd{ICEbbrD)*Is-FEp(bzu4Xoq^4Lract4b0M z7{x&XNu4l2If)sGp%eIE0bsULL}ec`L66jCepo^m%-W;N8h#TKoXs!*pco1UoR7#> zfQ-SJGk^+xSug1%8JHrGLDEhb!C+X(9U#yGWI)cK3D2$!e1b@qHr}ET(I7ICV2v#S zso+I0HCwJrsjKbNyw_`X`&V0(vsX@2SkU1A0Jv|pEx&Q6Bi)|c?X2v3hUQq zTibHx(w4b*W~u3|jz;iU{VQ|zS09l3a9W_ea6_jsR7e-{4$H1GO- zsp!7uyT3&-UB|6wx483W*28(-Ij9j!0#<93|apD8dadTA`o$W20);+1#$} zTU(1Lki>bC8(zeRn!C~Ddrv+N(;74FX3ah;#;F6VK);#W@JY29~jKIeC|WtFqE z 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%0A{?EZKrj173J<7h09kJ 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 diff --git a/smart_admin_v1/smart-admin-h5/.browserslistrc b/smart_admin_v1/smart-admin-h5/.browserslistrc new file mode 100644 index 00000000..d6471a38 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.browserslistrc @@ -0,0 +1,2 @@ +> 1% +last 2 versions diff --git a/smart_admin_v1/smart-admin-h5/.editorconfig b/smart_admin_v1/smart-admin-h5/.editorconfig new file mode 100644 index 00000000..4881e66d --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.editorconfig @@ -0,0 +1,15 @@ +root = true + +[*] +# 字符 +charset = utf-8 +# 空格 +indent_style = space +# 2个空格缩进 +indent_size = 2 +# 换行符 +end_of_line = lf +# 文件的最后插入一个空行 +insert_final_newline = true +# 删除行尾的空格 +trim_trailing_whitespace = true diff --git a/smart_admin_v1/smart-admin-h5/.env.development b/smart_admin_v1/smart-admin-h5/.env.development new file mode 100644 index 00000000..b698907c --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.env.development @@ -0,0 +1,3 @@ +NODE_ENV = development +VUE_APP_ENV = dev +VUE_APP_URL = http://127.0.0.1:10086/smart-admin-api diff --git a/smart_admin_v1/smart-admin-h5/.env.local b/smart_admin_v1/smart-admin-h5/.env.local new file mode 100644 index 00000000..6d07d04c --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.env.local @@ -0,0 +1,3 @@ +NODE_ENV = development +VUE_APP_ENV = local +VUE_APP_URL = http://127.0.0.1:10086/smart-admin-api diff --git a/smart_admin_v1/smart-admin-h5/.env.pre b/smart_admin_v1/smart-admin-h5/.env.pre new file mode 100644 index 00000000..80c46b0e --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.env.pre @@ -0,0 +1,3 @@ +NODE_ENV = production +VUE_APP_ENV = pre +VUE_APP_URL = http://smartadmin.1024lab.net/smart-admin-api diff --git a/smart_admin_v1/smart-admin-h5/.env.prod b/smart_admin_v1/smart-admin-h5/.env.prod new file mode 100644 index 00000000..0e1616d4 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.env.prod @@ -0,0 +1,3 @@ +NODE_ENV = production +VUE_APP_ENV = prod +VUE_APP_URL = http://smartadmin.1024lab.net/smart-admin-api diff --git a/smart_admin_v1/smart-admin-h5/.env.sit b/smart_admin_v1/smart-admin-h5/.env.sit new file mode 100644 index 00000000..411bc968 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.env.sit @@ -0,0 +1,3 @@ +NODE_ENV = production +VUE_APP_ENV = sit +VUE_APP_URL = http://smartadmin.1024lab.net/smart-admin-api diff --git a/smart_admin_v1/smart-admin-h5/.eslintignore b/smart_admin_v1/smart-admin-h5/.eslintignore new file mode 100644 index 00000000..7c435adc --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.eslintignore @@ -0,0 +1,7 @@ + +# 忽略项目中某些文件的提交代码规范 + +build/*.js +src/assets +public +dist diff --git a/smart_admin_v1/smart-admin-h5/.eslintrc.js b/smart_admin_v1/smart-admin-h5/.eslintrc.js new file mode 100644 index 00000000..27350869 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.eslintrc.js @@ -0,0 +1,232 @@ +module.exports = { + root: true, + env: { + node: true + }, + extends: [ + 'plugin:vue/essential', + 'eslint:recommended' + ], + parserOptions: { + parser: 'babel-eslint' + }, + rules: { + // 具体请看 https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/max-attributes-per-line.md + 'vue/max-attributes-per-line': [ + 2, + { + singleline: 10, + multiline: { + max: 1, + allowFirstLine: false + } + } + ], + // 在单行元素的内容前后需要换行符 + 'vue/singleline-html-element-content-newline': 'off', + // 在多行元素的内容之前和之后需要换行符 + 'vue/multiline-html-element-content-newline': 'off', + // JS/JSX中的组件名应该 大写驼峰 命名法 + 'vue/name-property-casing': ['error', 'PascalCase'], + // 给v-for设置键值,与key结合使用,可以高效的更新虚拟DOM + "vue/require-v-for-key": 1, + 'vue/no-v-html': 'off', + // 在对象中强制使用getter/setter + 'accessor-pairs': 2, + // 在箭头函数之前/之后需要空格 + 'arrow-spacing': [ + 2, + { + before: true, + after: true + } + ], + // 在打开块之后和关闭块之前,禁止或强制执行块内部的空格 + 'block-spacing': [2, 'always'], + // 需要大括号样式 + 'brace-style': [ + 2, + '1tbs', + { + allowSingleLine: true + } + ], + // 需要驼峰命名 + camelcase: [ + 0, + { + properties: 'always' + } + ], + // 要求或禁止使用尾随逗号;最后一个属性是不需要逗号 + 'comma-dangle': [2, 'never'], + // 强制逗号旁边的间距: 左右一个空格 + 'comma-spacing': [ + 2, + { + before: false, + after: true + } + ], + // 逗号风格 + 'comma-style': [2, 'last'], + // 构建方法中使用super方法 + 'constructor-super': 2, + curly: [2, 'multi-line'], + // 在dot之前和之后强制换行 + 'dot-location': [2, 'property'], + // 在文件末尾要求或禁止换行 + 'eol-last': 2, + // 是否使用全等 + eqeqeq: ['error', 'always', { null: 'ignore' }], + // 在生成器函数中强制执行*周围的间距 + 'generator-star-spacing': [2, { + 'before': true, + 'after': true + }], + // 强制执行回调错误处理 + 'handle-callback-err': [1, '^(err|error)$'], + // 强制执行一致的缩进 + 'indent': [2, 2, { + 'SwitchCase': 1 + }], + // 强制在JSX文件中一致使用单引号 + 'jsx-quotes': [2, 'prefer-single'], + // 在对象属性中强制键和值之间的一致间距 + 'key-spacing': [2, { + 'beforeColon': false, + 'afterColon': true + }], + // 关键字前后强制执行一致的间距 + 'keyword-spacing': [2, { + 'before': true, + 'after': true + }], + // 要求构造函数名称以大写字母开头 + 'new-cap': [2, { + 'newIsCap': true, + 'capIsNew': false + }], + 'new-parens': 2, // 调用不带参数的函数时需要括号 + 'no-array-constructor': 2, // 禁止阵列构建器 + 'no-caller': 2, // 禁止使用来电者/被叫者 + 'no-console': 'off', // 不允许使用控制台 + 'no-class-assign': 2, // 禁止修改类声明的变量 + 'no-cond-assign': 2, // 在条件语句中禁止赋值运算符 + 'no-const-assign': 2, // 禁止修改使用const声明的变量 + 'no-control-regex': 0, // 禁止正则表达式中的控制字符 + 'no-delete-var': 2, // 禁止删除变量 + 'no-dupe-args': 2, // 在函数定义中禁止重复参数 + 'no-dupe-class-members': 2, // 禁止在类成员中重复名称 + 'no-dupe-keys': 2, // 禁止对象重复声明属性 + 'no-duplicate-case': 2, // 规则禁止重复案例标签 + 'no-empty-character-class': 2, // 禁止在正则表达式中使用空字符类 + 'no-empty-pattern': 2, // 不允许空的解构模式 + 'no-eval': 2, // 禁止使用eval() + 'no-ex-assign': 2, // 禁止在catch子句中重新分配异常 + 'no-extend-native': 2, // 禁止扩展原生对象 + 'no-extra-bind': 2, // 禁止不必要的功能绑定 + 'no-extra-boolean-cast': 2, // 禁止不必要的布尔类型转换 + 'no-extra-parens': [2, 'functions'], // 禁止不必要的括号 + 'no-fallthrough': 2, // 禁止太多陈述描述 + 'no-floating-decimal': 2, // 禁止浮动小数 + 'no-func-assign': 2, // 禁止重新分配函数声明 + 'no-implied-eval': 2, + 'no-inner-declarations': [2, 'functions'], // 禁止嵌套块中的变量或函数声明 + 'no-invalid-regexp': 2, // 禁止在RegExp中使用无效的正则表达式字符串 + 'no-irregular-whitespace': 2, // 不允许不规则的空白 + 'no-iterator': 2, // 禁止迭代器 + 'no-label-var': 2, // 禁止变量名称的标签 + 'no-labels': [2, { + 'allowLoop': false, + 'allowSwitch': false + }], + 'no-lone-blocks': 2, // 禁止不必要的嵌套块 + 'no-mixed-spaces-and-tabs': 2, // 禁止使用混合空格和制表符进行缩进 + 'no-multi-spaces': 2, // 禁止多个空格 + 'no-multi-str': 2, // 禁止多行字符串 + 'no-multiple-empty-lines': [2, { // 禁止多个空行 + 'max': 1 + }], + 'no-native-reassign': 2, + 'no-negated-in-lhs': 2, + 'no-new-object': 2, + 'no-new-require': 2, + 'no-new-symbol': 2, + 'no-new-wrappers': 2, + 'no-obj-calls': 2, + 'no-octal': 2, + 'no-octal-escape': 2, + 'no-path-concat': 2, + 'no-proto': 2, + 'no-redeclare': 2, + 'no-regex-spaces': 2, + 'no-return-assign': [2, 'except-parens'], + 'no-self-assign': 2, + 'no-self-compare': 2, + 'no-sequences': 2, + 'no-shadow-restricted-names': 2, + 'no-spaced-func': 2, + 'no-sparse-arrays': 2, + 'no-this-before-super': 2, + 'no-throw-literal': 2, + 'no-trailing-spaces': 2, + 'no-undef': 0, + 'no-undef-init': 2, + 'no-unexpected-multiline': 2, + 'no-unmodified-loop-condition': 2, // 禁止未修改的循环条件 + 'no-unneeded-ternary': [2, { // 当存在更简单的替代方案时,不允许三元运算符 + 'defaultAssignment': false + }], + 'no-unreachable': 2, // 返回,抛出,继续和中断语句后禁止无法访问的代码 + 'no-unsafe-finally': 2, // 禁止finally块中的控制流语句 + 'no-unused-vars': [2, { // 禁止使用未声明的变量 + 'vars': 'all', + 'args': 'none' + }], + 'no-useless-call': 2, // 禁止不必要的call()和apply()方法 + 'no-useless-computed-key': 2, // 禁止在对象上使用不必要的计算属性键 + 'no-useless-constructor': 2, // 禁止不必要的构造方法 + 'no-useless-escape': 0, // 禁止不必要的转义用法 + 'no-whitespace-before-property': 2, // 在属性之前禁止空格 + 'no-with': 2, + 'one-var': [2, { + 'initialized': 'never' + }], + 'operator-linebreak': [2, 'after', { // 为维护强制执行一致的换行方式 + 'overrides': { + '?': 'before', + ':': 'before' + } + }], + 'padded-blocks': [2, 'never'], // 在块内要求或禁止填充 + 'quotes': [2, 'single', { + 'avoidEscape': true, + 'allowTemplateLiterals': true + }], + semi: ["error", "always"], + 'space-before-blocks': [2, 'always'], // 不要存在多余的块空间 + 'space-before-function-paren': [2, 'never'], + 'space-in-parens': [2, 'never'], + 'space-infix-ops': 2, + 'space-unary-ops': [2, { + 'words': true, + 'nonwords': false + }], + 'spaced-comment': [2, 'always', { + 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] + }], + 'template-curly-spacing': [2, 'never'], + 'use-isnan': 2, + 'valid-typeof': 2, + 'wrap-iife': [2, 'any'], + 'yield-star-spacing': [2, 'both'], + 'yoda': [2, 'never'], + 'prefer-const': 1, + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + 'object-curly-spacing': [2, 'always', { + objectsInObjects: false + }], + 'array-bracket-spacing': [2, 'never'] + } +} diff --git a/smart_admin_v1/smart-admin-h5/.gitignore b/smart_admin_v1/smart-admin-h5/.gitignore new file mode 100644 index 00000000..24d694ca --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.gitignore @@ -0,0 +1,22 @@ +node_modules +/dist + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.DS_Store +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +package-lock.json +yarn.lock + +build/env.js diff --git a/smart_admin_v1/smart-admin-h5/.postcssrc.js b/smart_admin_v1/smart-admin-h5/.postcssrc.js new file mode 100644 index 00000000..e2783a57 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.postcssrc.js @@ -0,0 +1,11 @@ +module.exports = { + plugins: { + autoprefixer: { + overrideBrowserslist: ['Android 4.1', 'iOS 7.1', 'Chrome > 31', 'ff > 31', 'ie >= 8'] + }, + 'postcss-pxtorem': { + rootValue: 37.5, + propList: ['*'], + } + } +} diff --git a/smart_admin_v1/smart-admin-h5/.prettierrc.js b/smart_admin_v1/smart-admin-h5/.prettierrc.js new file mode 100644 index 00000000..c19422ec --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.prettierrc.js @@ -0,0 +1,31 @@ +module.exports = { + // 缩进字节数 + tabWidth: 2, + // 使用单引号代替双引号 + singleQuote: true, + // 在对象或数组最后一个元素后面是否加逗号(在ES5中加尾逗号) + trailingComma: 'none', + // 句尾添加分号 + semi: true, + // 默认值。因为使用了一些折行敏感型的渲染器(如GitHub comment)而按照markdown文本样式进行折行 + proseWrap: 'always', + // (x) => {} 箭头函数参数只有一个时是否要有小括号。avoid:省略括号 + arrowParens: 'avoid', + // 在对象,数组括号与文字之间加空格 "{ foo: bar }" + bracketSpacing: true, + // 在jsx中把'>' 是否单独放一行 + jsxBracketSameLine: false, + // 缩进不使用tab,使用空格 + useTabs: false, + // 不让prettier使用eslint的代码格式进行校验 + eslintIntegration: true, + overrides: [ + { + files: '.prettierrc', + options: { + parser: 'json' + } + } + ], + endOfLine: 'auto' +} diff --git a/smart_admin_v1/smart-admin-h5/.sentryclirc b/smart_admin_v1/smart-admin-h5/.sentryclirc new file mode 100644 index 00000000..b6f61dbd --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/.sentryclirc @@ -0,0 +1,7 @@ +[defaults] +url = https://sentry.1024lab.net/ +org = 1024lab-sentry +project = smart-admin-h5 + +[auth] +token = 8dflijsldjkasdo3u49230948pkjdasoia8023jl3k4jr29o81029i40534p545ke diff --git a/smart_admin_v1/smart-admin-h5/README.md b/smart_admin_v1/smart-admin-h5/README.md new file mode 100644 index 00000000..c5f8fa10 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/README.md @@ -0,0 +1,4 @@ +# SmartAdmin-H5 + +#### 介绍 +SmartAdmin-H5 是SmartAdmin 平台的移动端web项目 diff --git a/smart_admin_v1/smart-admin-h5/babel.config.js b/smart_admin_v1/smart-admin-h5/babel.config.js new file mode 100644 index 00000000..58b18fe8 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/babel.config.js @@ -0,0 +1,16 @@ + +module.exports = { + presets: [['@vue/cli-plugin-babel/preset', {useBuiltIns: 'usage', corejs: 3}]], + plugins:[ + // vant-ui 按需引入,详情:https://github.com/ElementUI/babel-plugin-component + // [ + // 'import', + // { + // libraryName: 'vant', + // libraryDirectory: 'es', + // style: true + // }, + // 'vant' + // ] + ] +}; diff --git a/smart_admin_v1/smart-admin-h5/package.json b/smart_admin_v1/smart-admin-h5/package.json new file mode 100644 index 00000000..cd09ecb3 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/package.json @@ -0,0 +1,58 @@ +{ + "name": "smart-admin-h5", + "version": "1.0.0", + "description": "基于vue和vant的h5模板", + "author": "zhuoluodada@qq.com", + "private": true, + "scripts": { + "local": "vue-cli-service serve --open --mode local", + "dev": "vue-cli-service serve --open", + "build": "vue-cli-service build", + "build:sit": "vue-cli-service build --mode sit", + "build:pre": "vue-cli-service build --mode pre", + "build:prod": "vue-cli-service build --mode prod", + "stage": "vue-cli-service build --mode staging", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "@sentry/browser": "^5.13.2", + "@sentry/integrations": "^5.13.2", + "axios": "^0.19.2", + "core-js": "^3.6.5", + "fastclick": "^1.0.6", + "js-cookie": "^2.2.1", + "lib-flexible": "^0.3.2", + "lodash": "^4.17.20", + "moment": "^2.29.0", + "nprogress": "^0.2.0", + "regenerator-runtime": "^0.13.5", + "vant": "^2.11.1", + "vue": "^2.6.12", + "vue-enum": "^1.0.5", + "vue-loading-overlay": "^3.4.2", + "vue-router": "^3.4.0", + "vuex": "^3.6.0" + }, + "devDependencies": { + "@sentry/webpack-plugin": "^1.11.1", + "@vue/cli-plugin-babel": "~4.5.0", + "@vue/cli-plugin-eslint": "~4.5.0", + "@vue/cli-plugin-router": "~4.5.0", + "@vue/cli-plugin-vuex": "~4.5.0", + "@vue/cli-service": "~4.5.0", + "babel-eslint": "^10.1.0", + "babel-plugin-import": "^1.13.0", + "babel-plugin-transform-remove-console": "^6.9.4", + "compression-webpack-plugin": "^3.1.0", + "eslint": "^6.7.2", + "eslint-plugin-vue": "^6.2.2", + "node-sass": "^4.14.1", + "postcss-pxtorem": "^5.1.1", + "sass": "^1.3.0", + "sass-loader": "^9.0.3", + "script-ext-html-webpack-plugin": "^2.1.5", + "uglifyjs-webpack-plugin": "^2.2.0", + "vue-template-compiler": "^2.6.12", + "webpack-bundle-analyzer": "^4.2.0" + } +} diff --git a/smart-admin-web/javascript-ant-design-vue3/public/favicon.ico b/smart_admin_v1/smart-admin-h5/public/favicon.ico similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/public/favicon.ico rename to smart_admin_v1/smart-admin-h5/public/favicon.ico diff --git a/smart_admin_v1/smart-admin-h5/public/index.html b/smart_admin_v1/smart-admin-h5/public/index.html new file mode 100644 index 00000000..5f5a1f86 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/public/index.html @@ -0,0 +1,47 @@ + + + + + + + + + + <% if (process.env.NODE_ENV === 'production') { %> + <% for(var css of htmlWebpackPlugin.options.cdn.css) { %> + + + <% } %> <% for(var js of htmlWebpackPlugin.options.cdn.js) { %> + + + <% } %> <% } %> + + + + <% if (process.env.NODE_ENV === 'development') { %> + + <% } %> + + + + + + <%= htmlWebpackPlugin.options.title %> + + + + + +

+ + + diff --git a/smart_admin_v1/smart-admin-h5/src/App.vue b/smart_admin_v1/smart-admin-h5/src/App.vue new file mode 100644 index 00000000..f3b5bda4 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/App.vue @@ -0,0 +1,16 @@ + + + + diff --git a/smart_admin_v1/smart-admin-h5/src/api/employee.js b/smart_admin_v1/smart-admin-h5/src/api/employee.js new file mode 100644 index 00000000..76f30459 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/api/employee.js @@ -0,0 +1,43 @@ +import { postAxios, getAxios } from '@/lib/http'; +export const employeeApi = { + // 员工管理查询 + getEmployeeList: (data) => { + return postAxios('admin/employee/query', data); + }, + // 添加员工 + addEmployee: (data) => { + return postAxios('admin/employee/add', data); + }, + // 更新员工信息 + updateEmployee: (data) => { + return postAxios('admin/employee/update', data); + }, + // 禁用启用单个员工 + updateStatus: (employeeId, status) => { + return getAxios('admin/employee/updateStatus/' + employeeId + '/' + status); + }, + // 批量禁用 + updateStatusBatch: (data) => { + return postAxios('admin/employee/batchUpdateStatus', data); + }, + // 单个员工角色授权 + updateRoles: (data) => { + return postAxios('admin/employee/updateRoles', data); + }, + // 修改密码 + updatePwd: (data) => { + return postAxios('admin/employee/updatePwd', data); + }, + // 重置密码 + resetPassword: (employeeId) => { + return getAxios('admin/employee/resetPasswd/' + employeeId); + }, + // 通过部门id获取当前部门的人员&没有部门的人 + getListEmployeeByDeptId: (departmentId) => { + return getAxios('admin/employee/listEmployeeByDeptId/' + departmentId); + }, + // 删除员工 + deleteEmployee: (employeeId) => { + return postAxios('admin/employee/delete/' + employeeId); + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/api/file.js b/smart_admin_v1/smart-admin-h5/src/api/file.js new file mode 100644 index 00000000..2bc1a85a --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/api/file.js @@ -0,0 +1,14 @@ +import { postAxios, getAxios } from '@/lib/http'; +import config from '@/config'; +import Cookies from '@/lib/cookie'; +const baseUrl = config.baseUrl.apiUrl; + +export const fileApi = { + // 文件上传 + fileUpload: (folder, data) => { + const url = baseUrl + '/common/file/upload/' + folder + '?x-access-token=' + Cookies.getToken(); + return postAxios(url, data, { + headers: { 'Content-Type': 'multipart/form-data' } + }); + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/api/login.js b/smart_admin_v1/smart-admin-h5/src/api/login.js new file mode 100644 index 00000000..aad9ae16 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/api/login.js @@ -0,0 +1,10 @@ +import { getAxios, postAxios } from '@/lib/http'; + +export const loginApi = { + login: (data) => { + return postAxios('/session/login', data); + }, + logout: (token) => { + return getAxios(`/session/logOut?x-access-token=${token}`); + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/api/system-config.js b/smart_admin_v1/smart-admin-h5/src/api/system-config.js new file mode 100644 index 00000000..a9384d21 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/api/system-config.js @@ -0,0 +1,31 @@ +// 系统参数API +import { + postAxios, + getAxios +} from '@/lib/http'; +export const systemConfigApi = { + // 查询系统参数列表 + getSystemConfigList: (data) => { + return postAxios('/admin/systemConfig/getListPage', data); + }, + // 添加系统参数 + addSystemConfig: (data) => { + return postAxios('/admin/systemConfig/add', data); + }, + // 更新单条系统参数 + updateSystemConfig: (data) => { + return postAxios('/admin/systemConfig/update', data); + }, + // 通过key获取对应的信息 + getConfigListByKey: (key) => { + return getAxios(`/admin/systemConfig/selectByKey?configKey=${key}`); + }, + // 根据分组查询所有系统配置 + getListByGroup: (group) => { + return getAxios(`/admin/systemConfig/getListByGroup?group=${group}`); + }, + // 获取系统版本信息 + getCodeVersion: () => { + return getAxios('/admin/codeVersion'); + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/api/user.js b/smart_admin_v1/smart-admin-h5/src/api/user.js new file mode 100644 index 00000000..7d2b2a83 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/api/user.js @@ -0,0 +1,7 @@ +import { getAxios } from '@/lib/http'; + +export const userApi = { + getSession: () => { + return getAxios('/session/get'); + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/assets/css/index.scss b/smart_admin_v1/smart-admin-h5/src/assets/css/index.scss new file mode 100644 index 00000000..27597440 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/assets/css/index.scss @@ -0,0 +1,5 @@ +$text-color: #323233; +$border-color: #ebedf0; +$active-color: #f2f3f5; +$background-color: #f7f8fa; +$background-color-light: #fafafa; diff --git a/smart_admin_v1/smart-admin-h5/src/assets/logo.png b/smart_admin_v1/smart-admin-h5/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d2503fc2a44b5053b0837ebea6e87a2d339a43 GIT binary patch literal 6849 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 + +
+ + + +
+ 全选 + 反选 +
+ + + + + + diff --git a/smart_admin_v1/smart-admin-h5/src/components/form/select-picker/SmartEnumSelectPicker.vue b/smart_admin_v1/smart-admin-h5/src/components/form/select-picker/SmartEnumSelectPicker.vue new file mode 100644 index 00000000..976211d1 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/components/form/select-picker/SmartEnumSelectPicker.vue @@ -0,0 +1,61 @@ + + + + diff --git a/smart_admin_v1/smart-admin-h5/src/components/form/select-picker/SmartSelectPicker b/smart_admin_v1/smart-admin-h5/src/components/form/select-picker/SmartSelectPicker new file mode 100644 index 00000000..c15bf200 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/components/form/select-picker/SmartSelectPicker @@ -0,0 +1,59 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-h5/src/components/mixin/session-mixin.js b/smart_admin_v1/smart-admin-h5/src/components/mixin/session-mixin.js new file mode 100644 index 00000000..94026bb0 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/components/mixin/session-mixin.js @@ -0,0 +1,25 @@ +import cookie from '@/lib/cookie'; +import { userApi } from 'api/user'; + +/** + * 此 mixin为登录以后的页面用的,因为所有的有效路由(排除登录、注册、404,500 这个几个特殊页面)都会走 App.vue里的router + * @author zhuoda + */ +export default { + created: function() { + const token = cookie.getToken(); + // 如果登录过,获取token + if (token && !this.$store.state.user.isHaveGotSessionInfo) { + (async() => { + try { + console.debug(' request session info '); + const res = await userApi.getSession(); + const loginInfo = res.data; + this.$store.commit('user/updateSession', loginInfo); + } catch (e) { + this.$smartSentry.captureException(e); + } + })(); + } + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/components/van-bar/BackNavBar.vue b/smart_admin_v1/smart-admin-h5/src/components/van-bar/BackNavBar.vue new file mode 100644 index 00000000..bca0b99e --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/components/van-bar/BackNavBar.vue @@ -0,0 +1,24 @@ + + + diff --git a/smart_admin_v1/smart-admin-h5/src/components/van-bar/RouterNavBar.vue b/smart_admin_v1/smart-admin-h5/src/components/van-bar/RouterNavBar.vue new file mode 100644 index 00000000..355a57d6 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/components/van-bar/RouterNavBar.vue @@ -0,0 +1,27 @@ + + + diff --git a/smart_admin_v1/smart-admin-h5/src/config/index.js b/smart_admin_v1/smart-admin-h5/src/config/index.js new file mode 100644 index 00000000..dafb4212 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/config/index.js @@ -0,0 +1,46 @@ +console.log('project api url : ', process.env.VUE_APP_URL); + +const isProductionEnv = ['production'].includes(process.env.NODE_ENV); + +module.exports = { + // 配置显示在浏览器标签的title + title: 'Smart-Admin-H5', + // token在Cookie中存储的天数,默认7天 + cookieExpires: 7, + /** + * @description api请求基础路径 + */ + baseUrl: { + apiUrl: process.env.VUE_APP_URL, + erpApiUrl: process.env.VUE_APP_ERP_URL, + webSocketUrl: process.env.VUE_APP_SOCKET_URL + }, + /** + * 打包后静态资源地址;如果是走cdn的话,可以配置如下: + * publicPath: isProd ? 'https://cdn.1024lab.net/static/smart-h5/' : '/' + */ + publicPath: isProductionEnv ? '/manage-h5/' : '/', + + // ==================== cdn 相关 begin ==================== + cdn: { + cdnResource: { + css: [], + js: [ + 'https://cdn.bootcss.com/vue/2.6.11/vue.min.js', + 'https://cdn.bootcss.com/vue-router/3.2.0/vue-router.min.js', + 'https://cdn.bootcdn.net/ajax/libs/vuex/3.5.1/vuex.min.js', + 'https://cdn.bootcss.com/axios/0.19.2/axios.min.js', + 'https://cdn.bootcdn.net/ajax/libs/lodash.js/4.17.20/lodash.min.js' + ] + }, + // 指定资源加载cdn + externals: { + vue: 'Vue', + 'vue-router': 'VueRouter', + vuex: 'Vuex', + axios: 'axios', + lodash: '_' + } + } + // ==================== cdn 相关 end ==================== +}; diff --git a/smart_admin_v1/smart-admin-h5/src/constants/area.js b/smart_admin_v1/smart-admin-h5/src/constants/area.js new file mode 100644 index 00000000..26e2ca99 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/constants/area.js @@ -0,0 +1,4047 @@ +export default { + province_list: { + 110000: '北京市', + 120000: '天津市', + 130000: '河北省', + 140000: '山西省', + 150000: '内蒙古自治区', + 210000: '辽宁省', + 220000: '吉林省', + 230000: '黑龙江省', + 310000: '上海市', + 320000: '江苏省', + 330000: '浙江省', + 340000: '安徽省', + 350000: '福建省', + 360000: '江西省', + 370000: '山东省', + 410000: '河南省', + 420000: '湖北省', + 430000: '湖南省', + 440000: '广东省', + 450000: '广西壮族自治区', + 460000: '海南省', + 500000: '重庆市', + 510000: '四川省', + 520000: '贵州省', + 530000: '云南省', + 540000: '西藏自治区', + 610000: '陕西省', + 620000: '甘肃省', + 630000: '青海省', + 640000: '宁夏回族自治区', + 650000: '新疆维吾尔自治区', + 710000: '台湾省', + 810000: '香港特别行政区', + 820000: '澳门特别行政区', + 900000: '海外' + }, + city_list: { + 110100: '北京市', + 120100: '天津市', + 130100: '石家庄市', + 130200: '唐山市', + 130300: '秦皇岛市', + 130400: '邯郸市', + 130500: '邢台市', + 130600: '保定市', + 130700: '张家口市', + 130800: '承德市', + 130900: '沧州市', + 131000: '廊坊市', + 131100: '衡水市', + 140100: '太原市', + 140200: '大同市', + 140300: '阳泉市', + 140400: '长治市', + 140500: '晋城市', + 140600: '朔州市', + 140700: '晋中市', + 140800: '运城市', + 140900: '忻州市', + 141000: '临汾市', + 141100: '吕梁市', + 150100: '呼和浩特市', + 150200: '包头市', + 150300: '乌海市', + 150400: '赤峰市', + 150500: '通辽市', + 150600: '鄂尔多斯市', + 150700: '呼伦贝尔市', + 150800: '巴彦淖尔市', + 150900: '乌兰察布市', + 152200: '兴安盟', + 152500: '锡林郭勒盟', + 152900: '阿拉善盟', + 210100: '沈阳市', + 210200: '大连市', + 210300: '鞍山市', + 210400: '抚顺市', + 210500: '本溪市', + 210600: '丹东市', + 210700: '锦州市', + 210800: '营口市', + 210900: '阜新市', + 211000: '辽阳市', + 211100: '盘锦市', + 211200: '铁岭市', + 211300: '朝阳市', + 211400: '葫芦岛市', + 220100: '长春市', + 220200: '吉林市', + 220300: '四平市', + 220400: '辽源市', + 220500: '通化市', + 220600: '白山市', + 220700: '松原市', + 220800: '白城市', + 222400: '延边朝鲜族自治州', + 230100: '哈尔滨市', + 230200: '齐齐哈尔市', + 230300: '鸡西市', + 230400: '鹤岗市', + 230500: '双鸭山市', + 230600: '大庆市', + 230700: '伊春市', + 230800: '佳木斯市', + 230900: '七台河市', + 231000: '牡丹江市', + 231100: '黑河市', + 231200: '绥化市', + 232700: '大兴安岭地区', + 310100: '上海市', + 320100: '南京市', + 320200: '无锡市', + 320300: '徐州市', + 320400: '常州市', + 320500: '苏州市', + 320600: '南通市', + 320700: '连云港市', + 320800: '淮安市', + 320900: '盐城市', + 321000: '扬州市', + 321100: '镇江市', + 321200: '泰州市', + 321300: '宿迁市', + 330100: '杭州市', + 330200: '宁波市', + 330300: '温州市', + 330400: '嘉兴市', + 330500: '湖州市', + 330600: '绍兴市', + 330700: '金华市', + 330800: '衢州市', + 330900: '舟山市', + 331000: '台州市', + 331100: '丽水市', + 340100: '合肥市', + 340200: '芜湖市', + 340300: '蚌埠市', + 340400: '淮南市', + 340500: '马鞍山市', + 340600: '淮北市', + 340700: '铜陵市', + 340800: '安庆市', + 341000: '黄山市', + 341100: '滁州市', + 341200: '阜阳市', + 341300: '宿州市', + 341500: '六安市', + 341600: '亳州市', + 341700: '池州市', + 341800: '宣城市', + 350100: '福州市', + 350200: '厦门市', + 350300: '莆田市', + 350400: '三明市', + 350500: '泉州市', + 350600: '漳州市', + 350700: '南平市', + 350800: '龙岩市', + 350900: '宁德市', + 360100: '南昌市', + 360200: '景德镇市', + 360300: '萍乡市', + 360400: '九江市', + 360500: '新余市', + 360600: '鹰潭市', + 360700: '赣州市', + 360800: '吉安市', + 360900: '宜春市', + 361000: '抚州市', + 361100: '上饶市', + 370100: '济南市', + 370200: '青岛市', + 370300: '淄博市', + 370400: '枣庄市', + 370500: '东营市', + 370600: '烟台市', + 370700: '潍坊市', + 370800: '济宁市', + 370900: '泰安市', + 371000: '威海市', + 371100: '日照市', + 371300: '临沂市', + 371400: '德州市', + 371500: '聊城市', + 371600: '滨州市', + 371700: '菏泽市', + 410100: '郑州市', + 410200: '开封市', + 410300: '洛阳市', + 410400: '平顶山市', + 410500: '安阳市', + 410600: '鹤壁市', + 410700: '新乡市', + 410800: '焦作市', + 410900: '濮阳市', + 411000: '许昌市', + 411100: '漯河市', + 411200: '三门峡市', + 411300: '南阳市', + 411400: '商丘市', + 411500: '信阳市', + 411600: '周口市', + 411700: '驻马店市', + 419000: '省直辖县', + 420100: '武汉市', + 420200: '黄石市', + 420300: '十堰市', + 420500: '宜昌市', + 420600: '襄阳市', + 420700: '鄂州市', + 420800: '荆门市', + 420900: '孝感市', + 421000: '荆州市', + 421100: '黄冈市', + 421200: '咸宁市', + 421300: '随州市', + 422800: '恩施土家族苗族自治州', + 429000: '省直辖县', + 430100: '长沙市', + 430200: '株洲市', + 430300: '湘潭市', + 430400: '衡阳市', + 430500: '邵阳市', + 430600: '岳阳市', + 430700: '常德市', + 430800: '张家界市', + 430900: '益阳市', + 431000: '郴州市', + 431100: '永州市', + 431200: '怀化市', + 431300: '娄底市', + 433100: '湘西土家族苗族自治州', + 440100: '广州市', + 440200: '韶关市', + 440300: '深圳市', + 440400: '珠海市', + 440500: '汕头市', + 440600: '佛山市', + 440700: '江门市', + 440800: '湛江市', + 440900: '茂名市', + 441200: '肇庆市', + 441300: '惠州市', + 441400: '梅州市', + 441500: '汕尾市', + 441600: '河源市', + 441700: '阳江市', + 441800: '清远市', + 441900: '东莞市', + 442000: '中山市', + 445100: '潮州市', + 445200: '揭阳市', + 445300: '云浮市', + 450100: '南宁市', + 450200: '柳州市', + 450300: '桂林市', + 450400: '梧州市', + 450500: '北海市', + 450600: '防城港市', + 450700: '钦州市', + 450800: '贵港市', + 450900: '玉林市', + 451000: '百色市', + 451100: '贺州市', + 451200: '河池市', + 451300: '来宾市', + 451400: '崇左市', + 460100: '海口市', + 460200: '三亚市', + 460300: '三沙市', + 460400: '儋州市', + 469000: '省直辖县', + 500100: '重庆市', + 500200: '县', + 510100: '成都市', + 510300: '自贡市', + 510400: '攀枝花市', + 510500: '泸州市', + 510600: '德阳市', + 510700: '绵阳市', + 510800: '广元市', + 510900: '遂宁市', + 511000: '内江市', + 511100: '乐山市', + 511300: '南充市', + 511400: '眉山市', + 511500: '宜宾市', + 511600: '广安市', + 511700: '达州市', + 511800: '雅安市', + 511900: '巴中市', + 512000: '资阳市', + 513200: '阿坝藏族羌族自治州', + 513300: '甘孜藏族自治州', + 513400: '凉山彝族自治州', + 520100: '贵阳市', + 520200: '六盘水市', + 520300: '遵义市', + 520400: '安顺市', + 520500: '毕节市', + 520600: '铜仁市', + 522300: '黔西南布依族苗族自治州', + 522600: '黔东南苗族侗族自治州', + 522700: '黔南布依族苗族自治州', + 530100: '昆明市', + 530300: '曲靖市', + 530400: '玉溪市', + 530500: '保山市', + 530600: '昭通市', + 530700: '丽江市', + 530800: '普洱市', + 530900: '临沧市', + 532300: '楚雄彝族自治州', + 532500: '红河哈尼族彝族自治州', + 532600: '文山壮族苗族自治州', + 532800: '西双版纳傣族自治州', + 532900: '大理白族自治州', + 533100: '德宏傣族景颇族自治州', + 533300: '怒江傈僳族自治州', + 533400: '迪庆藏族自治州', + 540100: '拉萨市', + 540200: '日喀则市', + 540300: '昌都市', + 540400: '林芝市', + 540500: '山南市', + 540600: '那曲市', + 542500: '阿里地区', + 610100: '西安市', + 610200: '铜川市', + 610300: '宝鸡市', + 610400: '咸阳市', + 610500: '渭南市', + 610600: '延安市', + 610700: '汉中市', + 610800: '榆林市', + 610900: '安康市', + 611000: '商洛市', + 620100: '兰州市', + 620200: '嘉峪关市', + 620300: '金昌市', + 620400: '白银市', + 620500: '天水市', + 620600: '武威市', + 620700: '张掖市', + 620800: '平凉市', + 620900: '酒泉市', + 621000: '庆阳市', + 621100: '定西市', + 621200: '陇南市', + 622900: '临夏回族自治州', + 623000: '甘南藏族自治州', + 630100: '西宁市', + 630200: '海东市', + 632200: '海北藏族自治州', + 632300: '黄南藏族自治州', + 632500: '海南藏族自治州', + 632600: '果洛藏族自治州', + 632700: '玉树藏族自治州', + 632800: '海西蒙古族藏族自治州', + 640100: '银川市', + 640200: '石嘴山市', + 640300: '吴忠市', + 640400: '固原市', + 640500: '中卫市', + 650100: '乌鲁木齐市', + 650200: '克拉玛依市', + 650400: '吐鲁番市', + 650500: '哈密市', + 652300: '昌吉回族自治州', + 652700: '博尔塔拉蒙古自治州', + 652800: '巴音郭楞蒙古自治州', + 652900: '阿克苏地区', + 653000: '克孜勒苏柯尔克孜自治州', + 653100: '喀什地区', + 653200: '和田地区', + 654000: '伊犁哈萨克自治州', + 654200: '塔城地区', + 654300: '阿勒泰地区', + 659000: '自治区直辖县级行政区划', + 710100: '台北市', + 710200: '高雄市', + 710300: '台南市', + 710400: '台中市', + 710500: '金门县', + 710600: '南投县', + 710700: '基隆市', + 710800: '新竹市', + 710900: '嘉义市', + 711100: '新北市', + 711200: '宜兰县', + 711300: '新竹县', + 711400: '桃园县', + 711500: '苗栗县', + 711700: '彰化县', + 711900: '嘉义县', + 712100: '云林县', + 712400: '屏东县', + 712500: '台东县', + 712600: '花莲县', + 712700: '澎湖县', + 712800: '连江县', + 810100: '香港岛', + 810200: '九龙', + 810300: '新界', + 820100: '澳门半岛', + 820200: '离岛', + 900400: '阿富汗', + 900800: '阿尔巴尼亚', + 901000: '南极洲', + 901200: '阿尔及利亚', + 901600: '美属萨摩亚', + 902000: '安道尔', + 902400: '安哥拉', + 902800: '安提瓜和巴布达', + 903100: '阿塞拜疆', + 903200: '阿根廷', + 903600: '澳大利亚', + 904000: '奥地利', + 904400: '巴哈马', + 904800: '巴林', + 905000: '孟加拉', + 905100: '亚美尼亚', + 905200: '巴巴多斯', + 905600: '比利时', + 906000: '百慕大', + 906400: '不丹', + 906800: '玻利维亚', + 907000: '波黑', + 907200: '博茨瓦纳', + 907400: '布韦岛', + 907600: '巴西', + 908400: '伯利兹', + 908600: '英属印度洋领地', + 909000: '所罗门群岛', + 909200: '英属维尔京群岛', + 909600: '文莱', + 910000: '保加利亚', + 910400: '缅甸', + 910800: '布隆迪', + 911200: '白俄罗斯', + 911600: '柬埔寨', + 912000: '喀麦隆', + 912400: '加拿大', + 913200: '佛得角', + 913600: '开曼群岛', + 914000: '中非', + 914400: '斯里兰卡', + 914800: '乍得', + 915200: '智利', + 916200: '圣诞岛', + 916600: '科科斯群岛', + 917000: '哥伦比亚', + 917400: '科摩罗', + 917500: '马约特', + 917800: '刚果(布)', + 918000: '刚果(金)', + 918400: '库克群岛', + 918800: '哥斯达黎加', + 919100: '克罗地亚', + 919200: '古巴', + 919600: '塞浦路斯', + 920300: '捷克', + 920400: '贝宁', + 920800: '丹麦', + 921200: '多米尼克', + 921400: '多米尼加', + 921800: '厄瓜多尔', + 922200: '萨尔瓦多', + 922600: '赤道几内亚', + 923100: '埃塞俄比亚', + 923200: '厄立特里亚', + 923300: '爱沙尼亚', + 923400: '法罗群岛', + 923800: '马尔维纳斯群岛( 福克兰)', + 923900: '南乔治亚岛和南桑威奇群岛', + 924200: '斐济群岛', + 924600: '芬兰', + 924800: '奥兰群岛', + 925000: '法国', + 925400: '法属圭亚那', + 925800: '法属波利尼西亚', + 926000: '法属南部领地', + 926200: '吉布提', + 926600: '加蓬', + 926800: '格鲁吉亚', + 927000: '冈比亚', + 927500: '巴勒斯坦', + 927600: '德国', + 928800: '加纳', + 929200: '直布罗陀', + 929600: '基里巴斯', + 930000: '希腊', + 930400: '格陵兰', + 930800: '格林纳达', + 931200: '瓜德罗普', + 931600: '关岛', + 932000: '危地马拉', + 932400: '几内亚', + 932800: '圭亚那', + 933200: '海地', + 933400: '赫德岛和麦克唐纳群岛', + 933600: '梵蒂冈', + 934000: '洪都拉斯', + 934800: '匈牙利', + 935200: '冰岛', + 935600: '印度', + 936000: '印尼', + 936400: '伊朗', + 936800: '伊拉克', + 937200: '爱尔兰', + 937600: '以色列', + 938000: '意大利', + 938400: '科特迪瓦', + 938800: '牙买加', + 939200: '日本', + 939800: '哈萨克斯坦', + 940000: '约旦', + 940400: '肯尼亚', + 940800: '朝鲜 北朝鲜', + 941000: '韩国', + 941400: '科威特', + 941700: '吉尔吉斯斯坦', + 941800: '老挝', + 942200: '黎巴嫩', + 942600: '莱索托', + 942800: '拉脱维亚', + 943000: '利比里亚', + 943400: '利比亚', + 943800: '列支敦士登', + 944000: '立陶宛', + 944200: '卢森堡', + 945000: '马达加斯加', + 945400: '马拉维', + 945800: '马来西亚', + 946200: '马尔代夫', + 946600: '马里', + 947000: '马耳他', + 947400: '马提尼克', + 947800: '毛里塔尼亚', + 948000: '毛里求斯', + 948400: '墨西哥', + 949200: '摩纳哥', + 949600: '蒙古国', + 949800: '摩尔多瓦', + 949900: '黑山', + 950000: '蒙塞拉特岛', + 950400: '摩洛哥', + 950800: '莫桑比克', + 951200: '阿曼', + 951600: '纳米比亚', + 952000: '瑙鲁', + 952400: '尼泊尔', + 952800: '荷兰', + 953300: '阿鲁巴', + 953500: '荷兰加勒比区', + 954000: '新喀里多尼亚', + 954800: '瓦努阿图', + 955400: '新西兰', + 955800: '尼加拉瓜', + 956200: '尼日尔', + 956600: '尼日利亚', + 957000: '纽埃', + 957400: '诺福克岛', + 957800: '挪威', + 958000: '北马里亚纳群岛', + 958100: '美国本土外小岛屿', + 958300: '密克罗尼西亚联邦', + 958400: '马绍尔群岛', + 958500: '帕劳', + 958600: '巴基斯坦', + 959100: '巴拿马', + 959800: '巴布亚新几内亚', + 960000: '巴拉圭', + 960400: '秘鲁', + 960800: '菲律宾', + 961200: '皮特凯恩群岛', + 961600: '波兰', + 962000: '葡萄牙', + 962400: '几内亚比绍', + 962600: '东帝汶', + 963000: '波多黎各', + 963400: '卡塔尔', + 963800: '留尼汪', + 964200: '罗马尼亚', + 964300: '俄罗斯', + 964600: '卢旺达', + 965200: '圣巴泰勒米岛', + 965400: '圣赫勒拿', + 965900: '圣基茨和尼维斯', + 966000: '安圭拉', + 966200: '圣卢西亚', + 966300: '法属圣马丁', + 966600: '圣皮埃尔和密克隆', + 967000: '圣文森特和格林纳丁斯', + 967400: '圣马力诺', + 967800: '圣多美和普林西比', + 968200: '沙特阿拉伯', + 968600: '塞内加尔', + 968800: '塞尔维亚', + 969000: '塞舌尔', + 969400: '塞拉利昂', + 970200: '新加坡', + 970300: '斯洛伐克', + 970400: '越南', + 970500: '斯洛文尼亚', + 970600: '索马里', + 971000: '南非', + 971600: '津巴布韦', + 972400: '西班牙', + 972800: '南苏丹', + 972900: '苏丹', + 973200: '西撒哈拉', + 974000: '苏里南', + 974400: '斯瓦尔巴群岛和 扬马延岛', + 974800: '斯威士兰', + 975200: '瑞典', + 975600: '瑞士', + 976000: '叙利亚', + 976200: '塔吉克斯坦', + 976400: '泰国', + 976800: '多哥', + 977200: '托克劳', + 977600: '汤加', + 978000: '特立尼达和多巴哥', + 978400: '阿联酋', + 978800: '突尼斯', + 979200: '土耳其', + 979500: '土库曼斯坦', + 979600: '特克斯和凯科斯群岛', + 979800: '图瓦卢', + 980000: '乌干达', + 980400: '乌克兰', + 980700: '马其顿', + 981800: '埃及', + 982600: '英国', + 983100: '根西岛', + 983200: '泽西岛', + 983300: '马恩岛', + 983400: '坦桑尼亚', + 984000: '美国', + 985000: '美属维尔京群岛', + 985400: '布基纳法索', + 985800: '乌拉圭', + 986000: '乌兹别克斯坦', + 986200: '委内瑞拉', + 987600: '瓦利斯和富图纳', + 988200: '萨摩亚', + 988700: '也门', + 989400: '赞比亚' + }, + county_list: { + 110101: '东城区', + 110102: '西城区', + 110105: '朝阳区', + 110106: '丰台区', + 110107: '石景山区', + 110108: '海淀区', + 110109: '门头沟区', + 110111: '房山区', + 110112: '通州区', + 110113: '顺义区', + 110114: '昌平区', + 110115: '大兴区', + 110116: '怀柔区', + 110117: '平谷区', + 110118: '密云区', + 110119: '延庆区', + 120101: '和平区', + 120102: '河东区', + 120103: '河西区', + 120104: '南开区', + 120105: '河北区', + 120106: '红桥区', + 120110: '东丽区', + 120111: '西青区', + 120112: '津南区', + 120113: '北辰区', + 120114: '武清区', + 120115: '宝坻区', + 120116: '滨海新区', + 120117: '宁河区', + 120118: '静海区', + 120119: '蓟州区', + 130102: '长安区', + 130104: '桥西区', + 130105: '新华区', + 130107: '井陉矿区', + 130108: '裕华区', + 130109: '藁城区', + 130110: '鹿泉区', + 130111: '栾城区', + 130121: '井陉县', + 130123: '正定县', + 130125: '行唐县', + 130126: '灵寿县', + 130127: '高邑县', + 130128: '深泽县', + 130129: '赞皇县', + 130130: '无极县', + 130131: '平山县', + 130132: '元氏县', + 130133: '赵县', + 130181: '辛集市', + 130183: '晋州市', + 130184: '新乐市', + 130202: '路南区', + 130203: '路北区', + 130204: '古冶区', + 130205: '开平区', + 130207: '丰南区', + 130208: '丰润区', + 130209: '曹妃甸区', + 130224: '滦南县', + 130225: '乐亭县', + 130227: '迁西县', + 130229: '玉田县', + 130281: '遵化市', + 130283: '迁安市', + 130284: '滦州市', + 130302: '海港区', + 130303: '山海关区', + 130304: '北戴河区', + 130306: '抚宁区', + 130321: '青龙满族自治县', + 130322: '昌黎县', + 130324: '卢龙县', + 130390: '经济技术开发区', + 130402: '邯山区', + 130403: '丛台区', + 130404: '复兴区', + 130406: '峰峰矿区', + 130407: '肥乡区', + 130408: '永年区', + 130423: '临漳县', + 130424: '成安县', + 130425: '大名县', + 130426: '涉县', + 130427: '磁县', + 130430: '邱县', + 130431: '鸡泽县', + 130432: '广平县', + 130433: '馆陶县', + 130434: '魏县', + 130435: '曲周县', + 130481: '武安市', + 130502: '桥东区', + 130503: '桥西区', + 130521: '邢台县', + 130522: '临城县', + 130523: '内丘县', + 130524: '柏乡县', + 130525: '隆尧县', + 130526: '任县', + 130527: '南和县', + 130528: '宁晋县', + 130529: '巨鹿县', + 130530: '新河县', + 130531: '广宗县', + 130532: '平乡县', + 130533: '威县', + 130534: '清河县', + 130535: '临西县', + 130581: '南宫市', + 130582: '沙河市', + 130602: '竞秀区', + 130606: '莲池区', + 130607: '满城区', + 130608: '清苑区', + 130609: '徐水区', + 130623: '涞水县', + 130624: '阜平县', + 130626: '定兴县', + 130627: '唐县', + 130628: '高阳县', + 130629: '容城县', + 130630: '涞源县', + 130631: '望都县', + 130632: '安新县', + 130633: '易县', + 130634: '曲阳县', + 130635: '蠡县', + 130636: '顺平县', + 130637: '博野县', + 130638: '雄县', + 130681: '涿州市', + 130682: '定州市', + 130683: '安国市', + 130684: '高碑店市', + 130702: '桥东区', + 130703: '桥西区', + 130705: '宣化区', + 130706: '下花园区', + 130708: '万全区', + 130709: '崇礼区', + 130722: '张北县', + 130723: '康保县', + 130724: '沽源县', + 130725: '尚义县', + 130726: '蔚县', + 130727: '阳原县', + 130728: '怀安县', + 130730: '怀来县', + 130731: '涿鹿县', + 130732: '赤城县', + 130802: '双桥区', + 130803: '双滦区', + 130804: '鹰手营子矿区', + 130821: '承德县', + 130822: '兴隆县', + 130824: '滦平县', + 130825: '隆化县', + 130826: '丰宁满族自治县', + 130827: '宽城满族自治县', + 130828: '围场满族蒙古族自治县', + 130881: '平泉市', + 130902: '新华区', + 130903: '运河区', + 130921: '沧县', + 130922: '青县', + 130923: '东光县', + 130924: '海兴县', + 130925: '盐山县', + 130926: '肃宁县', + 130927: '南皮县', + 130928: '吴桥县', + 130929: '献县', + 130930: '孟村回族自治县', + 130981: '泊头市', + 130982: '任丘市', + 130983: '黄骅市', + 130984: '河间市', + 131002: '安次区', + 131003: '广阳区', + 131022: '固安县', + 131023: '永清县', + 131024: '香河县', + 131025: '大城县', + 131026: '文安县', + 131028: '大厂回族自治县', + 131081: '霸州市', + 131082: '三河市', + 131090: '开发区', + 131102: '桃城区', + 131103: '冀州区', + 131121: '枣强县', + 131122: '武邑县', + 131123: '武强县', + 131124: '饶阳县', + 131125: '安平县', + 131126: '故城县', + 131127: '景县', + 131128: '阜城县', + 131182: '深州市', + 140105: '小店区', + 140106: '迎泽区', + 140107: '杏花岭区', + 140108: '尖草坪区', + 140109: '万柏林区', + 140110: '晋源区', + 140121: '清徐县', + 140122: '阳曲县', + 140123: '娄烦县', + 140181: '古交市', + 140212: '新荣区', + 140213: '平城区', + 140214: '云冈区', + 140215: '云州区', + 140221: '阳高县', + 140222: '天镇县', + 140223: '广灵县', + 140224: '灵丘县', + 140225: '浑源县', + 140226: '左云县', + 140302: '城区', + 140303: '矿区', + 140311: '郊区', + 140321: '平定县', + 140322: '盂县', + 140403: '潞州区', + 140404: '上党区', + 140405: '屯留区', + 140406: '潞城区', + 140423: '襄垣县', + 140425: '平顺县', + 140426: '黎城县', + 140427: '壶关县', + 140428: '长子县', + 140429: '武乡县', + 140430: '沁县', + 140431: '沁源县', + 140502: '城区', + 140521: '沁水县', + 140522: '阳城县', + 140524: '陵川县', + 140525: '泽州县', + 140581: '高平市', + 140602: '朔城区', + 140603: '平鲁区', + 140621: '山阴县', + 140622: '应县', + 140623: '右玉县', + 140681: '怀仁市', + 140702: '榆次区', + 140721: '榆社县', + 140722: '左权县', + 140723: '和顺县', + 140724: '昔阳县', + 140725: '寿阳县', + 140726: '太谷县', + 140727: '祁县', + 140728: '平遥县', + 140729: '灵石县', + 140781: '介休市', + 140802: '盐湖区', + 140821: '临猗县', + 140822: '万荣县', + 140823: '闻喜县', + 140824: '稷山县', + 140825: '新绛县', + 140826: '绛县', + 140827: '垣曲县', + 140828: '夏县', + 140829: '平陆县', + 140830: '芮城县', + 140881: '永济市', + 140882: '河津市', + 140902: '忻府区', + 140921: '定襄县', + 140922: '五台县', + 140923: '代县', + 140924: '繁峙县', + 140925: '宁武县', + 140926: '静乐县', + 140927: '神池县', + 140928: '五寨县', + 140929: '岢岚县', + 140930: '河曲县', + 140931: '保德县', + 140932: '偏关县', + 140981: '原平市', + 141002: '尧都区', + 141021: '曲沃县', + 141022: '翼城县', + 141023: '襄汾县', + 141024: '洪洞县', + 141025: '古县', + 141026: '安泽县', + 141027: '浮山县', + 141028: '吉县', + 141029: '乡宁县', + 141030: '大宁县', + 141031: '隰县', + 141032: '永和县', + 141033: '蒲县', + 141034: '汾西县', + 141081: '侯马市', + 141082: '霍州市', + 141102: '离石区', + 141121: '文水县', + 141122: '交城县', + 141123: '兴县', + 141124: '临县', + 141125: '柳林县', + 141126: '石楼县', + 141127: '岚县', + 141128: '方山县', + 141129: '中阳县', + 141130: '交口县', + 141181: '孝义市', + 141182: '汾阳市', + 150102: '新城区', + 150103: '回民区', + 150104: '玉泉区', + 150105: '赛罕区', + 150121: '土默特左旗', + 150122: '托克托县', + 150123: '和林格尔县', + 150124: '清水河县', + 150125: '武川县', + 150202: '东河区', + 150203: '昆都仑区', + 150204: '青山区', + 150205: '石拐区', + 150206: '白云鄂博矿区', + 150207: '九原区', + 150221: '土默特右旗', + 150222: '固阳县', + 150223: '达尔罕茂明安联合旗', + 150302: '海勃湾区', + 150303: '海南区', + 150304: '乌达区', + 150402: '红山区', + 150403: '元宝山区', + 150404: '松山区', + 150421: '阿鲁科尔沁旗', + 150422: '巴林左旗', + 150423: '巴林右旗', + 150424: '林西县', + 150425: '克什克腾旗', + 150426: '翁牛特旗', + 150428: '喀喇沁旗', + 150429: '宁城县', + 150430: '敖汉旗', + 150502: '科尔沁区', + 150521: '科尔沁左翼中旗', + 150522: '科尔沁左翼后旗', + 150523: '开鲁县', + 150524: '库伦旗', + 150525: '奈曼旗', + 150526: '扎鲁特旗', + 150581: '霍林郭勒市', + 150602: '东胜区', + 150603: '康巴什区', + 150621: '达拉特旗', + 150622: '准格尔旗', + 150623: '鄂托克前旗', + 150624: '鄂托克旗', + 150625: '杭锦旗', + 150626: '乌审旗', + 150627: '伊金霍洛旗', + 150702: '海拉尔区', + 150703: '扎赉诺尔区', + 150721: '阿荣旗', + 150722: '莫力达瓦达斡尔族自治旗', + 150723: '鄂伦春自治旗', + 150724: '鄂温克族自治旗', + 150725: '陈巴尔虎旗', + 150726: '新巴尔虎左旗', + 150727: '新巴尔虎右旗', + 150781: '满洲里市', + 150782: '牙克石市', + 150783: '扎兰屯市', + 150784: '额尔古纳市', + 150785: '根河市', + 150802: '临河区', + 150821: '五原县', + 150822: '磴口县', + 150823: '乌拉特前旗', + 150824: '乌拉特中旗', + 150825: '乌拉特后旗', + 150826: '杭锦后旗', + 150902: '集宁区', + 150921: '卓资县', + 150922: '化德县', + 150923: '商都县', + 150924: '兴和县', + 150925: '凉城县', + 150926: '察哈尔右翼前旗', + 150927: '察哈尔右翼中旗', + 150928: '察哈尔右翼后旗', + 150929: '四子王旗', + 150981: '丰镇市', + 152201: '乌兰浩特市', + 152202: '阿尔山市', + 152221: '科尔沁右翼前旗', + 152222: '科尔沁右翼中旗', + 152223: '扎赉特旗', + 152224: '突泉县', + 152501: '二连浩特市', + 152502: '锡林浩特市', + 152522: '阿巴嘎旗', + 152523: '苏尼特左旗', + 152524: '苏尼特右旗', + 152525: '东乌珠穆沁旗', + 152526: '西乌珠穆沁旗', + 152527: '太仆寺旗', + 152528: '镶黄旗', + 152529: '正镶白旗', + 152530: '正蓝旗', + 152531: '多伦县', + 152921: '阿拉善左旗', + 152922: '阿拉善右旗', + 152923: '额济纳旗', + 210102: '和平区', + 210103: '沈河区', + 210104: '大东区', + 210105: '皇姑区', + 210106: '铁西区', + 210111: '苏家屯区', + 210112: '浑南区', + 210113: '沈北新区', + 210114: '于洪区', + 210115: '辽中区', + 210123: '康平县', + 210124: '法库县', + 210181: '新民市', + 210190: '经济技术开发区', + 210202: '中山区', + 210203: '西岗区', + 210204: '沙河口区', + 210211: '甘井子区', + 210212: '旅顺口区', + 210213: '金州区', + 210214: '普兰店区', + 210224: '长海县', + 210281: '瓦房店市', + 210283: '庄河市', + 210302: '铁东区', + 210303: '铁西区', + 210304: '立山区', + 210311: '千山区', + 210321: '台安县', + 210323: '岫岩满族自治县', + 210381: '海城市', + 210390: '高新区', + 210402: '新抚区', + 210403: '东洲区', + 210404: '望花区', + 210411: '顺城区', + 210421: '抚顺县', + 210422: '新宾满族自治县', + 210423: '清原满族自治县', + 210502: '平山区', + 210503: '溪湖区', + 210504: '明山区', + 210505: '南芬区', + 210521: '本溪满族自治县', + 210522: '桓仁满族自治县', + 210602: '元宝区', + 210603: '振兴区', + 210604: '振安区', + 210624: '宽甸满族自治县', + 210681: '东港市', + 210682: '凤城市', + 210702: '古塔区', + 210703: '凌河区', + 210711: '太和区', + 210726: '黑山县', + 210727: '义县', + 210781: '凌海市', + 210782: '北镇市', + 210793: '经济技术开发区', + 210802: '站前区', + 210803: '西市区', + 210804: '鲅鱼圈区', + 210811: '老边区', + 210881: '盖州市', + 210882: '大石桥市', + 210902: '海州区', + 210903: '新邱区', + 210904: '太平区', + 210905: '清河门区', + 210911: '细河区', + 210921: '阜新蒙古族自治县', + 210922: '彰武县', + 211002: '白塔区', + 211003: '文圣区', + 211004: '宏伟区', + 211005: '弓长岭区', + 211011: '太子河区', + 211021: '辽阳县', + 211081: '灯塔市', + 211102: '双台子区', + 211103: '兴隆台区', + 211104: '大洼区', + 211122: '盘山县', + 211202: '银州区', + 211204: '清河区', + 211221: '铁岭县', + 211223: '西丰县', + 211224: '昌图县', + 211281: '调兵山市', + 211282: '开原市', + 211302: '双塔区', + 211303: '龙城区', + 211321: '朝阳县', + 211322: '建平县', + 211324: '喀喇沁左翼蒙古族自治县', + 211381: '北票市', + 211382: '凌源市', + 211402: '连山区', + 211403: '龙港区', + 211404: '南票区', + 211421: '绥中县', + 211422: '建昌县', + 211481: '兴城市', + 220102: '南关区', + 220103: '宽城区', + 220104: '朝阳区', + 220105: '二道区', + 220106: '绿园区', + 220112: '双阳区', + 220113: '九台区', + 220122: '农安县', + 220182: '榆树市', + 220183: '德惠市', + 220192: '经济技术开发区', + 220202: '昌邑区', + 220203: '龙潭区', + 220204: '船营区', + 220211: '丰满区', + 220221: '永吉县', + 220281: '蛟河市', + 220282: '桦甸市', + 220283: '舒兰市', + 220284: '磐石市', + 220302: '铁西区', + 220303: '铁东区', + 220322: '梨树县', + 220323: '伊通满族自治县', + 220381: '公主岭市', + 220382: '双辽市', + 220402: '龙山区', + 220403: '西安区', + 220421: '东丰县', + 220422: '东辽县', + 220502: '东昌区', + 220503: '二道江区', + 220521: '通化县', + 220523: '辉南县', + 220524: '柳河县', + 220581: '梅河口市', + 220582: '集安市', + 220602: '浑江区', + 220605: '江源区', + 220621: '抚松县', + 220622: '靖宇县', + 220623: '长白朝鲜族自治县', + 220681: '临江市', + 220702: '宁江区', + 220721: '前郭尔罗斯蒙古族自治县', + 220722: '长岭县', + 220723: '乾安县', + 220781: '扶余市', + 220802: '洮北区', + 220821: '镇赉县', + 220822: '通榆县', + 220881: '洮南市', + 220882: '大安市', + 222401: '延吉市', + 222402: '图们市', + 222403: '敦化市', + 222404: '珲春市', + 222405: '龙井市', + 222406: '和龙市', + 222424: '汪清县', + 222426: '安图县', + 230102: '道里区', + 230103: '南岗区', + 230104: '道外区', + 230108: '平房区', + 230109: '松北区', + 230110: '香坊区', + 230111: '呼兰区', + 230112: '阿城区', + 230113: '双城区', + 230123: '依兰县', + 230124: '方正县', + 230125: '宾县', + 230126: '巴彦县', + 230127: '木兰县', + 230128: '通河县', + 230129: '延寿县', + 230183: '尚志市', + 230184: '五常市', + 230202: '龙沙区', + 230203: '建华区', + 230204: '铁锋区', + 230205: '昂昂溪区', + 230206: '富拉尔基区', + 230207: '碾子山区', + 230208: '梅里斯达斡尔族区', + 230221: '龙江县', + 230223: '依安县', + 230224: '泰来县', + 230225: '甘南县', + 230227: '富裕县', + 230229: '克山县', + 230230: '克东县', + 230231: '拜泉县', + 230281: '讷河市', + 230302: '鸡冠区', + 230303: '恒山区', + 230304: '滴道区', + 230305: '梨树区', + 230306: '城子河区', + 230307: '麻山区', + 230321: '鸡东县', + 230381: '虎林市', + 230382: '密山市', + 230402: '向阳区', + 230403: '工农区', + 230404: '南山区', + 230405: '兴安区', + 230406: '东山区', + 230407: '兴山区', + 230421: '萝北县', + 230422: '绥滨县', + 230502: '尖山区', + 230503: '岭东区', + 230505: '四方台区', + 230506: '宝山区', + 230521: '集贤县', + 230522: '友谊县', + 230523: '宝清县', + 230524: '饶河县', + 230602: '萨尔图区', + 230603: '龙凤区', + 230604: '让胡路区', + 230605: '红岗区', + 230606: '大同区', + 230621: '肇州县', + 230622: '肇源县', + 230623: '林甸县', + 230624: '杜尔伯特蒙古族自治县', + 230702: '伊春区', + 230703: '南岔区', + 230704: '友好区', + 230705: '西林区', + 230706: '翠峦区', + 230707: '新青区', + 230708: '美溪区', + 230709: '金山屯区', + 230710: '五营区', + 230711: '乌马河区', + 230712: '汤旺河区', + 230713: '带岭区', + 230714: '乌伊岭区', + 230715: '红星区', + 230716: '上甘岭区', + 230722: '嘉荫县', + 230781: '铁力市', + 230803: '向阳区', + 230804: '前进区', + 230805: '东风区', + 230811: '郊区', + 230822: '桦南县', + 230826: '桦川县', + 230828: '汤原县', + 230881: '同江市', + 230882: '富锦市', + 230883: '抚远市', + 230902: '新兴区', + 230903: '桃山区', + 230904: '茄子河区', + 230921: '勃利县', + 231002: '东安区', + 231003: '阳明区', + 231004: '爱民区', + 231005: '西安区', + 231025: '林口县', + 231081: '绥芬河市', + 231083: '海林市', + 231084: '宁安市', + 231085: '穆棱市', + 231086: '东宁市', + 231102: '爱辉区', + 231121: '嫩江县', + 231123: '逊克县', + 231124: '孙吴县', + 231181: '北安市', + 231182: '五大连池市', + 231202: '北林区', + 231221: '望奎县', + 231222: '兰西县', + 231223: '青冈县', + 231224: '庆安县', + 231225: '明水县', + 231226: '绥棱县', + 231281: '安达市', + 231282: '肇东市', + 231283: '海伦市', + 232701: '漠河市', + 232721: '呼玛县', + 232722: '塔河县', + 232790: '松岭区', + 232791: '呼中区', + 232792: '加格达奇区', + 232793: '新林区', + 310101: '黄浦区', + 310104: '徐汇区', + 310105: '长宁区', + 310106: '静安区', + 310107: '普陀区', + 310109: '虹口区', + 310110: '杨浦区', + 310112: '闵行区', + 310113: '宝山区', + 310114: '嘉定区', + 310115: '浦东新区', + 310116: '金山区', + 310117: '松江区', + 310118: '青浦区', + 310120: '奉贤区', + 310151: '崇明区', + 320102: '玄武区', + 320104: '秦淮区', + 320105: '建邺区', + 320106: '鼓楼区', + 320111: '浦口区', + 320113: '栖霞区', + 320114: '雨花台区', + 320115: '江宁区', + 320116: '六合区', + 320117: '溧水区', + 320118: '高淳区', + 320205: '锡山区', + 320206: '惠山区', + 320211: '滨湖区', + 320213: '梁溪区', + 320214: '新吴区', + 320281: '江阴市', + 320282: '宜兴市', + 320302: '鼓楼区', + 320303: '云龙区', + 320305: '贾汪区', + 320311: '泉山区', + 320312: '铜山区', + 320321: '丰县', + 320322: '沛县', + 320324: '睢宁县', + 320381: '新沂市', + 320382: '邳州市', + 320391: '工业园区', + 320402: '天宁区', + 320404: '钟楼区', + 320411: '新北区', + 320412: '武进区', + 320413: '金坛区', + 320481: '溧阳市', + 320505: '虎丘区', + 320506: '吴中区', + 320507: '相城区', + 320508: '姑苏区', + 320509: '吴江区', + 320581: '常熟市', + 320582: '张家港市', + 320583: '昆山市', + 320585: '太仓市', + 320590: '工业园区', + 320591: '高新区', + 320602: '崇川区', + 320611: '港闸区', + 320612: '通州区', + 320623: '如东县', + 320681: '启东市', + 320682: '如皋市', + 320684: '海门市', + 320685: '海安市', + 320691: '高新区', + 320703: '连云区', + 320706: '海州区', + 320707: '赣榆区', + 320722: '东海县', + 320723: '灌云县', + 320724: '灌南县', + 320803: '淮安区', + 320804: '淮阴区', + 320812: '清江浦区', + 320813: '洪泽区', + 320826: '涟水县', + 320830: '盱眙县', + 320831: '金湖县', + 320890: '经济开发区', + 320902: '亭湖区', + 320903: '盐都区', + 320904: '大丰区', + 320921: '响水县', + 320922: '滨海县', + 320923: '阜宁县', + 320924: '射阳县', + 320925: '建湖县', + 320981: '东台市', + 321002: '广陵区', + 321003: '邗江区', + 321012: '江都区', + 321023: '宝应县', + 321081: '仪征市', + 321084: '高邮市', + 321090: '经济开发区', + 321102: '京口区', + 321111: '润州区', + 321112: '丹徒区', + 321181: '丹阳市', + 321182: '扬中市', + 321183: '句容市', + 321202: '海陵区', + 321203: '高港区', + 321204: '姜堰区', + 321281: '兴化市', + 321282: '靖江市', + 321283: '泰兴市', + 321302: '宿城区', + 321311: '宿豫区', + 321322: '沭阳县', + 321323: '泗阳县', + 321324: '泗洪县', + 330102: '上城区', + 330103: '下城区', + 330104: '江干区', + 330105: '拱墅区', + 330106: '西湖区', + 330108: '滨江区', + 330109: '萧山区', + 330110: '余杭区', + 330111: '富阳区', + 330112: '临安区', + 330122: '桐庐县', + 330127: '淳安县', + 330182: '建德市', + 330203: '海曙区', + 330205: '江北区', + 330206: '北仑区', + 330211: '镇海区', + 330212: '鄞州区', + 330213: '奉化区', + 330225: '象山县', + 330226: '宁海县', + 330281: '余姚市', + 330282: '慈溪市', + 330302: '鹿城区', + 330303: '龙湾区', + 330304: '瓯海区', + 330305: '洞头区', + 330324: '永嘉县', + 330326: '平阳县', + 330327: '苍南县', + 330328: '文成县', + 330329: '泰顺县', + 330381: '瑞安市', + 330382: '乐清市', + 330402: '南湖区', + 330411: '秀洲区', + 330421: '嘉善县', + 330424: '海盐县', + 330481: '海宁市', + 330482: '平湖市', + 330483: '桐乡市', + 330502: '吴兴区', + 330503: '南浔区', + 330521: '德清县', + 330522: '长兴县', + 330523: '安吉县', + 330602: '越城区', + 330603: '柯桥区', + 330604: '上虞区', + 330624: '新昌县', + 330681: '诸暨市', + 330683: '嵊州市', + 330702: '婺城区', + 330703: '金东区', + 330723: '武义县', + 330726: '浦江县', + 330727: '磐安县', + 330781: '兰溪市', + 330782: '义乌市', + 330783: '东阳市', + 330784: '永康市', + 330802: '柯城区', + 330803: '衢江区', + 330822: '常山县', + 330824: '开化县', + 330825: '龙游县', + 330881: '江山市', + 330902: '定海区', + 330903: '普陀区', + 330921: '岱山县', + 330922: '嵊泗县', + 331002: '椒江区', + 331003: '黄岩区', + 331004: '路桥区', + 331022: '三门县', + 331023: '天台县', + 331024: '仙居县', + 331081: '温岭市', + 331082: '临海市', + 331083: '玉环市', + 331102: '莲都区', + 331121: '青田县', + 331122: '缙云县', + 331123: '遂昌县', + 331124: '松阳县', + 331125: '云和县', + 331126: '庆元县', + 331127: '景宁畲族自治县', + 331181: '龙泉市', + 340102: '瑶海区', + 340103: '庐阳区', + 340104: '蜀山区', + 340111: '包河区', + 340121: '长丰县', + 340122: '肥东县', + 340123: '肥西县', + 340124: '庐江县', + 340181: '巢湖市', + 340190: '高新技术开发区', + 340191: '经济技术开发区', + 340202: '镜湖区', + 340203: '弋江区', + 340207: '鸠江区', + 340208: '三山区', + 340221: '芜湖县', + 340222: '繁昌县', + 340223: '南陵县', + 340225: '无为县', + 340302: '龙子湖区', + 340303: '蚌山区', + 340304: '禹会区', + 340311: '淮上区', + 340321: '怀远县', + 340322: '五河县', + 340323: '固镇县', + 340402: '大通区', + 340403: '田家庵区', + 340404: '谢家集区', + 340405: '八公山区', + 340406: '潘集区', + 340421: '凤台县', + 340422: '寿县', + 340503: '花山区', + 340504: '雨山区', + 340506: '博望区', + 340521: '当涂县', + 340522: '含山县', + 340523: '和县', + 340602: '杜集区', + 340603: '相山区', + 340604: '烈山区', + 340621: '濉溪县', + 340705: '铜官区', + 340706: '义安区', + 340711: '郊区', + 340722: '枞阳县', + 340802: '迎江区', + 340803: '大观区', + 340811: '宜秀区', + 340822: '怀宁县', + 340824: '潜山县', + 340825: '太湖县', + 340826: '宿松县', + 340827: '望江县', + 340828: '岳西县', + 340881: '桐城市', + 341002: '屯溪区', + 341003: '黄山区', + 341004: '徽州区', + 341021: '歙县', + 341022: '休宁县', + 341023: '黟县', + 341024: '祁门县', + 341102: '琅琊区', + 341103: '南谯区', + 341122: '来安县', + 341124: '全椒县', + 341125: '定远县', + 341126: '凤阳县', + 341181: '天长市', + 341182: '明光市', + 341202: '颍州区', + 341203: '颍东区', + 341204: '颍泉区', + 341221: '临泉县', + 341222: '太和县', + 341225: '阜南县', + 341226: '颍上县', + 341282: '界首市', + 341302: '埇桥区', + 341321: '砀山县', + 341322: '萧县', + 341323: '灵璧县', + 341324: '泗县', + 341390: '经济开发区', + 341502: '金安区', + 341503: '裕安区', + 341504: '叶集区', + 341522: '霍邱县', + 341523: '舒城县', + 341524: '金寨县', + 341525: '霍山县', + 341602: '谯城区', + 341621: '涡阳县', + 341622: '蒙城县', + 341623: '利辛县', + 341702: '贵池区', + 341721: '东至县', + 341722: '石台县', + 341723: '青阳县', + 341802: '宣州区', + 341821: '郎溪县', + 341822: '广德县', + 341823: '泾县', + 341824: '绩溪县', + 341825: '旌德县', + 341881: '宁国市', + 350102: '鼓楼区', + 350103: '台江区', + 350104: '仓山区', + 350105: '马尾区', + 350111: '晋安区', + 350112: '长乐区', + 350121: '闽侯县', + 350122: '连江县', + 350123: '罗源县', + 350124: '闽清县', + 350125: '永泰县', + 350128: '平潭县', + 350181: '福清市', + 350203: '思明区', + 350205: '海沧区', + 350206: '湖里区', + 350211: '集美区', + 350212: '同安区', + 350213: '翔安区', + 350302: '城厢区', + 350303: '涵江区', + 350304: '荔城区', + 350305: '秀屿区', + 350322: '仙游县', + 350402: '梅列区', + 350403: '三元区', + 350421: '明溪县', + 350423: '清流县', + 350424: '宁化县', + 350425: '大田县', + 350426: '尤溪县', + 350427: '沙县', + 350428: '将乐县', + 350429: '泰宁县', + 350430: '建宁县', + 350481: '永安市', + 350502: '鲤城区', + 350503: '丰泽区', + 350504: '洛江区', + 350505: '泉港区', + 350521: '惠安县', + 350524: '安溪县', + 350525: '永春县', + 350526: '德化县', + 350527: '金门县', + 350581: '石狮市', + 350582: '晋江市', + 350583: '南安市', + 350602: '芗城区', + 350603: '龙文区', + 350622: '云霄县', + 350623: '漳浦县', + 350624: '诏安县', + 350625: '长泰县', + 350626: '东山县', + 350627: '南靖县', + 350628: '平和县', + 350629: '华安县', + 350681: '龙海市', + 350702: '延平区', + 350703: '建阳区', + 350721: '顺昌县', + 350722: '浦城县', + 350723: '光泽县', + 350724: '松溪县', + 350725: '政和县', + 350781: '邵武市', + 350782: '武夷山市', + 350783: '建瓯市', + 350802: '新罗区', + 350803: '永定区', + 350821: '长汀县', + 350823: '上杭县', + 350824: '武平县', + 350825: '连城县', + 350881: '漳平市', + 350902: '蕉城区', + 350921: '霞浦县', + 350922: '古田县', + 350923: '屏南县', + 350924: '寿宁县', + 350925: '周宁县', + 350926: '柘荣县', + 350981: '福安市', + 350982: '福鼎市', + 360102: '东湖区', + 360103: '西湖区', + 360104: '青云谱区', + 360105: '湾里区', + 360111: '青山湖区', + 360112: '新建区', + 360121: '南昌县', + 360123: '安义县', + 360124: '进贤县', + 360190: '经济技术开发区', + 360192: '高新区', + 360202: '昌江区', + 360203: '珠山区', + 360222: '浮梁县', + 360281: '乐平市', + 360302: '安源区', + 360313: '湘东区', + 360321: '莲花县', + 360322: '上栗县', + 360323: '芦溪县', + 360402: '濂溪区', + 360403: '浔阳区', + 360404: '柴桑区', + 360423: '武宁县', + 360424: '修水县', + 360425: '永修县', + 360426: '德安县', + 360428: '都昌县', + 360429: '湖口县', + 360430: '彭泽县', + 360481: '瑞昌市', + 360482: '共青城市', + 360483: '庐山市', + 360490: '经济技术开发区', + 360502: '渝水区', + 360521: '分宜县', + 360602: '月湖区', + 360603: '余江区', + 360681: '贵溪市', + 360702: '章贡区', + 360703: '南康区', + 360704: '赣县区', + 360722: '信丰县', + 360723: '大余县', + 360724: '上犹县', + 360725: '崇义县', + 360726: '安远县', + 360727: '龙南县', + 360728: '定南县', + 360729: '全南县', + 360730: '宁都县', + 360731: '于都县', + 360732: '兴国县', + 360733: '会昌县', + 360734: '寻乌县', + 360735: '石城县', + 360781: '瑞金市', + 360802: '吉州区', + 360803: '青原区', + 360821: '吉安县', + 360822: '吉水县', + 360823: '峡江县', + 360824: '新干县', + 360825: '永丰县', + 360826: '泰和县', + 360827: '遂川县', + 360828: '万安县', + 360829: '安福县', + 360830: '永新县', + 360881: '井冈山市', + 360902: '袁州区', + 360921: '奉新县', + 360922: '万载县', + 360923: '上高县', + 360924: '宜丰县', + 360925: '靖安县', + 360926: '铜鼓县', + 360981: '丰城市', + 360982: '樟树市', + 360983: '高安市', + 361002: '临川区', + 361003: '东乡区', + 361021: '南城县', + 361022: '黎川县', + 361023: '南丰县', + 361024: '崇仁县', + 361025: '乐安县', + 361026: '宜黄县', + 361027: '金溪县', + 361028: '资溪县', + 361030: '广昌县', + 361102: '信州区', + 361103: '广丰区', + 361121: '上饶县', + 361123: '玉山县', + 361124: '铅山县', + 361125: '横峰县', + 361126: '弋阳县', + 361127: '余干县', + 361128: '鄱阳县', + 361129: '万年县', + 361130: '婺源县', + 361181: '德兴市', + 370102: '历下区', + 370103: '市中区', + 370104: '槐荫区', + 370105: '天桥区', + 370112: '历城区', + 370113: '长清区', + 370114: '章丘区', + 370115: '济阳区', + 370116: '莱芜区', + 370117: '钢城区', + 370124: '平阴县', + 370126: '商河县', + 370190: '高新区', + 370202: '市南区', + 370203: '市北区', + 370211: '黄岛区', + 370212: '崂山区', + 370213: '李沧区', + 370214: '城阳区', + 370215: '即墨区', + 370281: '胶州市', + 370283: '平度市', + 370285: '莱西市', + 370290: '开发区', + 370302: '淄川区', + 370303: '张店区', + 370304: '博山区', + 370305: '临淄区', + 370306: '周村区', + 370321: '桓台县', + 370322: '高青县', + 370323: '沂源县', + 370402: '市中区', + 370403: '薛城区', + 370404: '峄城区', + 370405: '台儿庄区', + 370406: '山亭区', + 370481: '滕州市', + 370502: '东营区', + 370503: '河口区', + 370505: '垦利区', + 370522: '利津县', + 370523: '广饶县', + 370602: '芝罘区', + 370611: '福山区', + 370612: '牟平区', + 370613: '莱山区', + 370634: '长岛县', + 370681: '龙口市', + 370682: '莱阳市', + 370683: '莱州市', + 370684: '蓬莱市', + 370685: '招远市', + 370686: '栖霞市', + 370687: '海阳市', + 370690: '开发区', + 370702: '潍城区', + 370703: '寒亭区', + 370704: '坊子区', + 370705: '奎文区', + 370724: '临朐县', + 370725: '昌乐县', + 370781: '青州市', + 370782: '诸城市', + 370783: '寿光市', + 370784: '安丘市', + 370785: '高密市', + 370786: '昌邑市', + 370790: '开发区', + 370791: '高新区', + 370811: '任城区', + 370812: '兖州区', + 370826: '微山县', + 370827: '鱼台县', + 370828: '金乡县', + 370829: '嘉祥县', + 370830: '汶上县', + 370831: '泗水县', + 370832: '梁山县', + 370881: '曲阜市', + 370883: '邹城市', + 370890: '高新区', + 370902: '泰山区', + 370911: '岱岳区', + 370921: '宁阳县', + 370923: '东平县', + 370982: '新泰市', + 370983: '肥城市', + 371002: '环翠区', + 371003: '文登区', + 371082: '荣成市', + 371083: '乳山市', + 371091: '经济技术开发区', + 371102: '东港区', + 371103: '岚山区', + 371121: '五莲县', + 371122: '莒县', + 371302: '兰山区', + 371311: '罗庄区', + 371312: '河东区', + 371321: '沂南县', + 371322: '郯城县', + 371323: '沂水县', + 371324: '兰陵县', + 371325: '费县', + 371326: '平邑县', + 371327: '莒南县', + 371328: '蒙阴县', + 371329: '临沭县', + 371402: '德城区', + 371403: '陵城区', + 371422: '宁津县', + 371423: '庆云县', + 371424: '临邑县', + 371425: '齐河县', + 371426: '平原县', + 371427: '夏津县', + 371428: '武城县', + 371481: '乐陵市', + 371482: '禹城市', + 371502: '东昌府区', + 371521: '阳谷县', + 371522: '莘县', + 371523: '茌平县', + 371524: '东阿县', + 371525: '冠县', + 371526: '高唐县', + 371581: '临清市', + 371602: '滨城区', + 371603: '沾化区', + 371621: '惠民县', + 371622: '阳信县', + 371623: '无棣县', + 371625: '博兴县', + 371681: '邹平市', + 371702: '牡丹区', + 371703: '定陶区', + 371721: '曹县', + 371722: '单县', + 371723: '成武县', + 371724: '巨野县', + 371725: '郓城县', + 371726: '鄄城县', + 371728: '东明县', + 410102: '中原区', + 410103: '二七区', + 410104: '管城回族区', + 410105: '金水区', + 410106: '上街区', + 410108: '惠济区', + 410122: '中牟县', + 410181: '巩义市', + 410182: '荥阳市', + 410183: '新密市', + 410184: '新郑市', + 410185: '登封市', + 410190: '高新技术开发区', + 410191: '经济技术开发区', + 410202: '龙亭区', + 410203: '顺河回族区', + 410204: '鼓楼区', + 410205: '禹王台区', + 410212: '祥符区', + 410221: '杞县', + 410222: '通许县', + 410223: '尉氏县', + 410225: '兰考县', + 410302: '老城区', + 410303: '西工区', + 410304: '瀍河回族区', + 410305: '涧西区', + 410306: '吉利区', + 410311: '洛龙区', + 410322: '孟津县', + 410323: '新安县', + 410324: '栾川县', + 410325: '嵩县', + 410326: '汝阳县', + 410327: '宜阳县', + 410328: '洛宁县', + 410329: '伊川县', + 410381: '偃师市', + 410402: '新华区', + 410403: '卫东区', + 410404: '石龙区', + 410411: '湛河区', + 410421: '宝丰县', + 410422: '叶县', + 410423: '鲁山县', + 410425: '郏县', + 410481: '舞钢市', + 410482: '汝州市', + 410502: '文峰区', + 410503: '北关区', + 410505: '殷都区', + 410506: '龙安区', + 410522: '安阳县', + 410523: '汤阴县', + 410526: '滑县', + 410527: '内黄县', + 410581: '林州市', + 410590: '开发区', + 410602: '鹤山区', + 410603: '山城区', + 410611: '淇滨区', + 410621: '浚县', + 410622: '淇县', + 410702: '红旗区', + 410703: '卫滨区', + 410704: '凤泉区', + 410711: '牧野区', + 410721: '新乡县', + 410724: '获嘉县', + 410725: '原阳县', + 410726: '延津县', + 410727: '封丘县', + 410728: '长垣县', + 410781: '卫辉市', + 410782: '辉县市', + 410802: '解放区', + 410803: '中站区', + 410804: '马村区', + 410811: '山阳区', + 410821: '修武县', + 410822: '博爱县', + 410823: '武陟县', + 410825: '温县', + 410882: '沁阳市', + 410883: '孟州市', + 410902: '华龙区', + 410922: '清丰县', + 410923: '南乐县', + 410926: '范县', + 410927: '台前县', + 410928: '濮阳县', + 411002: '魏都区', + 411003: '建安区', + 411024: '鄢陵县', + 411025: '襄城县', + 411081: '禹州市', + 411082: '长葛市', + 411102: '源汇区', + 411103: '郾城区', + 411104: '召陵区', + 411121: '舞阳县', + 411122: '临颍县', + 411202: '湖滨区', + 411203: '陕州区', + 411221: '渑池县', + 411224: '卢氏县', + 411281: '义马市', + 411282: '灵宝市', + 411302: '宛城区', + 411303: '卧龙区', + 411321: '南召县', + 411322: '方城县', + 411323: '西峡县', + 411324: '镇平县', + 411325: '内乡县', + 411326: '淅川县', + 411327: '社旗县', + 411328: '唐河县', + 411329: '新野县', + 411330: '桐柏县', + 411381: '邓州市', + 411402: '梁园区', + 411403: '睢阳区', + 411421: '民权县', + 411422: '睢县', + 411423: '宁陵县', + 411424: '柘城县', + 411425: '虞城县', + 411426: '夏邑县', + 411481: '永城市', + 411502: '浉河区', + 411503: '平桥区', + 411521: '罗山县', + 411522: '光山县', + 411523: '新县', + 411524: '商城县', + 411525: '固始县', + 411526: '潢川县', + 411527: '淮滨县', + 411528: '息县', + 411602: '川汇区', + 411621: '扶沟县', + 411622: '西华县', + 411623: '商水县', + 411624: '沈丘县', + 411625: '郸城县', + 411626: '淮阳县', + 411627: '太康县', + 411628: '鹿邑县', + 411681: '项城市', + 411690: '经济开发区', + 411702: '驿城区', + 411721: '西平县', + 411722: '上蔡县', + 411723: '平舆县', + 411724: '正阳县', + 411725: '确山县', + 411726: '泌阳县', + 411727: '汝南县', + 411728: '遂平县', + 411729: '新蔡县', + 419001: '济源市', + 420102: '江岸区', + 420103: '江汉区', + 420104: '硚口区', + 420105: '汉阳区', + 420106: '武昌区', + 420107: '青山区', + 420111: '洪山区', + 420112: '东西湖区', + 420113: '汉南区', + 420114: '蔡甸区', + 420115: '江夏区', + 420116: '黄陂区', + 420117: '新洲区', + 420202: '黄石港区', + 420203: '西塞山区', + 420204: '下陆区', + 420205: '铁山区', + 420222: '阳新县', + 420281: '大冶市', + 420302: '茅箭区', + 420303: '张湾区', + 420304: '郧阳区', + 420322: '郧西县', + 420323: '竹山县', + 420324: '竹溪县', + 420325: '房县', + 420381: '丹江口市', + 420502: '西陵区', + 420503: '伍家岗区', + 420504: '点军区', + 420505: '猇亭区', + 420506: '夷陵区', + 420525: '远安县', + 420526: '兴山县', + 420527: '秭归县', + 420528: '长阳土家族自治县', + 420529: '五峰土家族自治县', + 420581: '宜都市', + 420582: '当阳市', + 420583: '枝江市', + 420590: '经济开发区', + 420602: '襄城区', + 420606: '樊城区', + 420607: '襄州区', + 420624: '南漳县', + 420625: '谷城县', + 420626: '保康县', + 420682: '老河口市', + 420683: '枣阳市', + 420684: '宜城市', + 420702: '梁子湖区', + 420703: '华容区', + 420704: '鄂城区', + 420802: '东宝区', + 420804: '掇刀区', + 420822: '沙洋县', + 420881: '钟祥市', + 420882: '京山市', + 420902: '孝南区', + 420921: '孝昌县', + 420922: '大悟县', + 420923: '云梦县', + 420981: '应城市', + 420982: '安陆市', + 420984: '汉川市', + 421002: '沙市区', + 421003: '荆州区', + 421022: '公安县', + 421023: '监利县', + 421024: '江陵县', + 421081: '石首市', + 421083: '洪湖市', + 421087: '松滋市', + 421102: '黄州区', + 421121: '团风县', + 421122: '红安县', + 421123: '罗田县', + 421124: '英山县', + 421125: '浠水县', + 421126: '蕲春县', + 421127: '黄梅县', + 421181: '麻城市', + 421182: '武穴市', + 421202: '咸安区', + 421221: '嘉鱼县', + 421222: '通城县', + 421223: '崇阳县', + 421224: '通山县', + 421281: '赤壁市', + 421303: '曾都区', + 421321: '随县', + 421381: '广水市', + 422801: '恩施市', + 422802: '利川市', + 422822: '建始县', + 422823: '巴东县', + 422825: '宣恩县', + 422826: '咸丰县', + 422827: '来凤县', + 422828: '鹤峰县', + 429004: '仙桃市', + 429005: '潜江市', + 429006: '天门市', + 429021: '神农架林区', + 430102: '芙蓉区', + 430103: '天心区', + 430104: '岳麓区', + 430105: '开福区', + 430111: '雨花区', + 430112: '望城区', + 430121: '长沙县', + 430181: '浏阳市', + 430182: '宁乡市', + 430202: '荷塘区', + 430203: '芦淞区', + 430204: '石峰区', + 430211: '天元区', + 430212: '渌口区', + 430223: '攸县', + 430224: '茶陵县', + 430225: '炎陵县', + 430281: '醴陵市', + 430302: '雨湖区', + 430304: '岳塘区', + 430321: '湘潭县', + 430381: '湘乡市', + 430382: '韶山市', + 430405: '珠晖区', + 430406: '雁峰区', + 430407: '石鼓区', + 430408: '蒸湘区', + 430412: '南岳区', + 430421: '衡阳县', + 430422: '衡南县', + 430423: '衡山县', + 430424: '衡东县', + 430426: '祁东县', + 430481: '耒阳市', + 430482: '常宁市', + 430502: '双清区', + 430503: '大祥区', + 430511: '北塔区', + 430521: '邵东县', + 430522: '新邵县', + 430523: '邵阳县', + 430524: '隆回县', + 430525: '洞口县', + 430527: '绥宁县', + 430528: '新宁县', + 430529: '城步苗族自治县', + 430581: '武冈市', + 430602: '岳阳楼区', + 430603: '云溪区', + 430611: '君山区', + 430621: '岳阳县', + 430623: '华容县', + 430624: '湘阴县', + 430626: '平江县', + 430681: '汨罗市', + 430682: '临湘市', + 430702: '武陵区', + 430703: '鼎城区', + 430721: '安乡县', + 430722: '汉寿县', + 430723: '澧县', + 430724: '临澧县', + 430725: '桃源县', + 430726: '石门县', + 430781: '津市市', + 430802: '永定区', + 430811: '武陵源区', + 430821: '慈利县', + 430822: '桑植县', + 430902: '资阳区', + 430903: '赫山区', + 430921: '南县', + 430922: '桃江县', + 430923: '安化县', + 430981: '沅江市', + 431002: '北湖区', + 431003: '苏仙区', + 431021: '桂阳县', + 431022: '宜章县', + 431023: '永兴县', + 431024: '嘉禾县', + 431025: '临武县', + 431026: '汝城县', + 431027: '桂东县', + 431028: '安仁县', + 431081: '资兴市', + 431102: '零陵区', + 431103: '冷水滩区', + 431121: '祁阳县', + 431122: '东安县', + 431123: '双牌县', + 431124: '道县', + 431125: '江永县', + 431126: '宁远县', + 431127: '蓝山县', + 431128: '新田县', + 431129: '江华瑶族自治县', + 431202: '鹤城区', + 431221: '中方县', + 431222: '沅陵县', + 431223: '辰溪县', + 431224: '溆浦县', + 431225: '会同县', + 431226: '麻阳苗族自治县', + 431227: '新晃侗族自治县', + 431228: '芷江侗族自治县', + 431229: '靖州苗族侗族自治县', + 431230: '通道侗族自治县', + 431281: '洪江市', + 431302: '娄星区', + 431321: '双峰县', + 431322: '新化县', + 431381: '冷水江市', + 431382: '涟源市', + 433101: '吉首市', + 433122: '泸溪县', + 433123: '凤凰县', + 433124: '花垣县', + 433125: '保靖县', + 433126: '古丈县', + 433127: '永顺县', + 433130: '龙山县', + 440103: '荔湾区', + 440104: '越秀区', + 440105: '海珠区', + 440106: '天河区', + 440111: '白云区', + 440112: '黄埔区', + 440113: '番禺区', + 440114: '花都区', + 440115: '南沙区', + 440117: '从化区', + 440118: '增城区', + 440203: '武江区', + 440204: '浈江区', + 440205: '曲江区', + 440222: '始兴县', + 440224: '仁化县', + 440229: '翁源县', + 440232: '乳源瑶族自治县', + 440233: '新丰县', + 440281: '乐昌市', + 440282: '南雄市', + 440303: '罗湖区', + 440304: '福田区', + 440305: '南山区', + 440306: '宝安区', + 440307: '龙岗区', + 440308: '盐田区', + 440309: '龙华区', + 440310: '坪山区', + 440311: '光明区', + 440402: '香洲区', + 440403: '斗门区', + 440404: '金湾区', + 440507: '龙湖区', + 440511: '金平区', + 440512: '濠江区', + 440513: '潮阳区', + 440514: '潮南区', + 440515: '澄海区', + 440523: '南澳县', + 440604: '禅城区', + 440605: '南海区', + 440606: '顺德区', + 440607: '三水区', + 440608: '高明区', + 440703: '蓬江区', + 440704: '江海区', + 440705: '新会区', + 440781: '台山市', + 440783: '开平市', + 440784: '鹤山市', + 440785: '恩平市', + 440802: '赤坎区', + 440803: '霞山区', + 440804: '坡头区', + 440811: '麻章区', + 440823: '遂溪县', + 440825: '徐闻县', + 440881: '廉江市', + 440882: '雷州市', + 440883: '吴川市', + 440890: '经济技术开发区', + 440902: '茂南区', + 440904: '电白区', + 440981: '高州市', + 440982: '化州市', + 440983: '信宜市', + 441202: '端州区', + 441203: '鼎湖区', + 441204: '高要区', + 441223: '广宁县', + 441224: '怀集县', + 441225: '封开县', + 441226: '德庆县', + 441284: '四会市', + 441302: '惠城区', + 441303: '惠阳区', + 441322: '博罗县', + 441323: '惠东县', + 441324: '龙门县', + 441402: '梅江区', + 441403: '梅县区', + 441422: '大埔县', + 441423: '丰顺县', + 441424: '五华县', + 441426: '平远县', + 441427: '蕉岭县', + 441481: '兴宁市', + 441502: '城区', + 441521: '海丰县', + 441523: '陆河县', + 441581: '陆丰市', + 441602: '源城区', + 441621: '紫金县', + 441622: '龙川县', + 441623: '连平县', + 441624: '和平县', + 441625: '东源县', + 441702: '江城区', + 441704: '阳东区', + 441721: '阳西县', + 441781: '阳春市', + 441802: '清城区', + 441803: '清新区', + 441821: '佛冈县', + 441823: '阳山县', + 441825: '连山壮族瑶族自治县', + 441826: '连南瑶族自治县', + 441881: '英德市', + 441882: '连州市', + 441901: '中堂镇', + 441903: '南城街道办事处', + 441904: '长安镇', + 441905: '东坑镇', + 441906: '樟木头镇', + 441907: '莞城街道办事处', + 441908: '石龙镇', + 441909: '桥头镇', + 441910: '万江街道办事处', + 441911: '麻涌镇', + 441912: '虎门镇', + 441913: '谢岗镇', + 441914: '石碣镇', + 441915: '茶山镇', + 441916: '东城街道办事处', + 441917: '洪梅镇', + 441918: '道滘镇', + 441919: '高埗镇', + 441920: '企石镇', + 441921: '凤岗镇', + 441922: '大岭山镇', + 441923: '松山湖管委会', + 441924: '清溪镇', + 441925: '望牛墩镇', + 441926: '厚街镇', + 441927: '常平镇', + 441928: '寮步镇', + 441929: '石排镇', + 441930: '横沥镇', + 441931: '塘厦镇', + 441932: '黄江镇', + 441933: '大朗镇', + 441934: '东莞港', + 441935: '东莞生态园', + 441990: '沙田镇', + 442001: '南头镇', + 442002: '神湾镇', + 442003: '东凤镇', + 442004: '五桂山街道办事处', + 442005: '黄圃镇', + 442006: '小榄镇', + 442007: '石岐区街道办事处', + 442008: '横栏镇', + 442009: '三角镇', + 442010: '三乡镇', + 442011: '港口镇', + 442012: '沙溪镇', + 442013: '板芙镇', + 442015: '东升镇', + 442016: '阜沙镇', + 442017: '民众镇', + 442018: '东区街道办事处', + 442019: '火炬开发区街道办事处', + 442020: '西区街道办事处', + 442021: '南区街道办事处', + 442022: '古镇镇', + 442023: '坦洲镇', + 442024: '大涌镇', + 442025: '南朗镇', + 445102: '湘桥区', + 445103: '潮安区', + 445122: '饶平县', + 445202: '榕城区', + 445203: '揭东区', + 445222: '揭西县', + 445224: '惠来县', + 445281: '普宁市', + 445302: '云城区', + 445303: '云安区', + 445321: '新兴县', + 445322: '郁南县', + 445381: '罗定市', + 450102: '兴宁区', + 450103: '青秀区', + 450105: '江南区', + 450107: '西乡塘区', + 450108: '良庆区', + 450109: '邕宁区', + 450110: '武鸣区', + 450123: '隆安县', + 450124: '马山县', + 450125: '上林县', + 450126: '宾阳县', + 450127: '横县', + 450202: '城中区', + 450203: '鱼峰区', + 450204: '柳南区', + 450205: '柳北区', + 450206: '柳江区', + 450222: '柳城县', + 450223: '鹿寨县', + 450224: '融安县', + 450225: '融水苗族自治县', + 450226: '三江侗族自治县', + 450302: '秀峰区', + 450303: '叠彩区', + 450304: '象山区', + 450305: '七星区', + 450311: '雁山区', + 450312: '临桂区', + 450321: '阳朔县', + 450323: '灵川县', + 450324: '全州县', + 450325: '兴安县', + 450326: '永福县', + 450327: '灌阳县', + 450328: '龙胜各族自治县', + 450329: '资源县', + 450330: '平乐县', + 450332: '恭城瑶族自治县', + 450381: '荔浦市', + 450403: '万秀区', + 450405: '长洲区', + 450406: '龙圩区', + 450421: '苍梧县', + 450422: '藤县', + 450423: '蒙山县', + 450481: '岑溪市', + 450502: '海城区', + 450503: '银海区', + 450512: '铁山港区', + 450521: '合浦县', + 450602: '港口区', + 450603: '防城区', + 450621: '上思县', + 450681: '东兴市', + 450702: '钦南区', + 450703: '钦北区', + 450721: '灵山县', + 450722: '浦北县', + 450802: '港北区', + 450803: '港南区', + 450804: '覃塘区', + 450821: '平南县', + 450881: '桂平市', + 450902: '玉州区', + 450903: '福绵区', + 450921: '容县', + 450922: '陆川县', + 450923: '博白县', + 450924: '兴业县', + 450981: '北流市', + 451002: '右江区', + 451021: '田阳县', + 451022: '田东县', + 451023: '平果县', + 451024: '德保县', + 451026: '那坡县', + 451027: '凌云县', + 451028: '乐业县', + 451029: '田林县', + 451030: '西林县', + 451031: '隆林各族自治县', + 451081: '靖西市', + 451102: '八步区', + 451103: '平桂区', + 451121: '昭平县', + 451122: '钟山县', + 451123: '富川瑶族自治县', + 451202: '金城江区', + 451203: '宜州区', + 451221: '南丹县', + 451222: '天峨县', + 451223: '凤山县', + 451224: '东兰县', + 451225: '罗城仫佬族自治县', + 451226: '环江毛南族自治县', + 451227: '巴马瑶族自治县', + 451228: '都安瑶族自治县', + 451229: '大化瑶族自治县', + 451302: '兴宾区', + 451321: '忻城县', + 451322: '象州县', + 451323: '武宣县', + 451324: '金秀瑶族自治县', + 451381: '合山市', + 451402: '江州区', + 451421: '扶绥县', + 451422: '宁明县', + 451423: '龙州县', + 451424: '大新县', + 451425: '天等县', + 451481: '凭祥市', + 460105: '秀英区', + 460106: '龙华区', + 460107: '琼山区', + 460108: '美兰区', + 460202: '海棠区', + 460203: '吉阳区', + 460204: '天涯区', + 460205: '崖州区', + 460321: '西沙群岛', + 460322: '南沙群岛', + 460323: '中沙群岛的岛礁及其海域', + 460401: '那大镇', + 460402: '和庆镇', + 460403: '南丰镇', + 460404: '大成镇', + 460405: '雅星镇', + 460406: '兰洋镇', + 460407: '光村镇', + 460408: '木棠镇', + 460409: '海头镇', + 460410: '峨蔓镇', + 460411: '王五镇', + 460412: '白马井镇', + 460413: '中和镇', + 460414: '排浦镇', + 460415: '东成镇', + 460416: '新州镇', + 460417: '洋浦经济开发区', + 460418: '华南热作学院', + 469001: '五指山市', + 469002: '琼海市', + 469005: '文昌市', + 469006: '万宁市', + 469007: '东方市', + 469021: '定安县', + 469022: '屯昌县', + 469023: '澄迈县', + 469024: '临高县', + 469025: '白沙黎族自治县', + 469026: '昌江黎族自治县', + 469027: '乐东黎族自治县', + 469028: '陵水黎族自治县', + 469029: '保亭黎族苗族自治县', + 469030: '琼中黎族苗族自治县', + 500101: '万州区', + 500102: '涪陵区', + 500103: '渝中区', + 500104: '大渡口区', + 500105: '江北区', + 500106: '沙坪坝区', + 500107: '九龙坡区', + 500108: '南岸区', + 500109: '北碚区', + 500110: '綦江区', + 500111: '大足区', + 500112: '渝北区', + 500113: '巴南区', + 500114: '黔江区', + 500115: '长寿区', + 500116: '江津区', + 500117: '合川区', + 500118: '永川区', + 500119: '南川区', + 500120: '璧山区', + 500151: '铜梁区', + 500152: '潼南区', + 500153: '荣昌区', + 500154: '开州区', + 500155: '梁平区', + 500156: '武隆区', + 500229: '城口县', + 500230: '丰都县', + 500231: '垫江县', + 500233: '忠县', + 500235: '云阳县', + 500236: '奉节县', + 500237: '巫山县', + 500238: '巫溪县', + 500240: '石柱土家族自治县', + 500241: '秀山土家族苗族自治县', + 500242: '酉阳土家族苗族自治县', + 500243: '彭水苗族土家族自治县', + 510104: '锦江区', + 510105: '青羊区', + 510106: '金牛区', + 510107: '武侯区', + 510108: '成华区', + 510112: '龙泉驿区', + 510113: '青白江区', + 510114: '新都区', + 510115: '温江区', + 510116: '双流区', + 510117: '郫都区', + 510121: '金堂县', + 510129: '大邑县', + 510131: '蒲江县', + 510132: '新津县', + 510181: '都江堰市', + 510182: '彭州市', + 510183: '邛崃市', + 510184: '崇州市', + 510185: '简阳市', + 510191: '高新区', + 510302: '自流井区', + 510303: '贡井区', + 510304: '大安区', + 510311: '沿滩区', + 510321: '荣县', + 510322: '富顺县', + 510402: '东区', + 510403: '西区', + 510411: '仁和区', + 510421: '米易县', + 510422: '盐边县', + 510502: '江阳区', + 510503: '纳溪区', + 510504: '龙马潭区', + 510521: '泸县', + 510522: '合江县', + 510524: '叙永县', + 510525: '古蔺县', + 510603: '旌阳区', + 510604: '罗江区', + 510623: '中江县', + 510681: '广汉市', + 510682: '什邡市', + 510683: '绵竹市', + 510703: '涪城区', + 510704: '游仙区', + 510705: '安州区', + 510722: '三台县', + 510723: '盐亭县', + 510725: '梓潼县', + 510726: '北川羌族自治县', + 510727: '平武县', + 510781: '江油市', + 510791: '高新区', + 510802: '利州区', + 510811: '昭化区', + 510812: '朝天区', + 510821: '旺苍县', + 510822: '青川县', + 510823: '剑阁县', + 510824: '苍溪县', + 510903: '船山区', + 510904: '安居区', + 510921: '蓬溪县', + 510922: '射洪县', + 510923: '大英县', + 511002: '市中区', + 511011: '东兴区', + 511024: '威远县', + 511025: '资中县', + 511083: '隆昌市', + 511102: '市中区', + 511111: '沙湾区', + 511112: '五通桥区', + 511113: '金口河区', + 511123: '犍为县', + 511124: '井研县', + 511126: '夹江县', + 511129: '沐川县', + 511132: '峨边彝族自治县', + 511133: '马边彝族自治县', + 511181: '峨眉山市', + 511302: '顺庆区', + 511303: '高坪区', + 511304: '嘉陵区', + 511321: '南部县', + 511322: '营山县', + 511323: '蓬安县', + 511324: '仪陇县', + 511325: '西充县', + 511381: '阆中市', + 511402: '东坡区', + 511403: '彭山区', + 511421: '仁寿县', + 511423: '洪雅县', + 511424: '丹棱县', + 511425: '青神县', + 511502: '翠屏区', + 511503: '南溪区', + 511504: '叙州区', + 511523: '江安县', + 511524: '长宁县', + 511525: '高县', + 511526: '珙县', + 511527: '筠连县', + 511528: '兴文县', + 511529: '屏山县', + 511602: '广安区', + 511603: '前锋区', + 511621: '岳池县', + 511622: '武胜县', + 511623: '邻水县', + 511681: '华蓥市', + 511702: '通川区', + 511703: '达川区', + 511722: '宣汉县', + 511723: '开江县', + 511724: '大竹县', + 511725: '渠县', + 511781: '万源市', + 511802: '雨城区', + 511803: '名山区', + 511822: '荥经县', + 511823: '汉源县', + 511824: '石棉县', + 511825: '天全县', + 511826: '芦山县', + 511827: '宝兴县', + 511902: '巴州区', + 511903: '恩阳区', + 511921: '通江县', + 511922: '南江县', + 511923: '平昌县', + 512002: '雁江区', + 512021: '安岳县', + 512022: '乐至县', + 513201: '马尔康市', + 513221: '汶川县', + 513222: '理县', + 513223: '茂县', + 513224: '松潘县', + 513225: '九寨沟县', + 513226: '金川县', + 513227: '小金县', + 513228: '黑水县', + 513230: '壤塘县', + 513231: '阿坝县', + 513232: '若尔盖县', + 513233: '红原县', + 513301: '康定市', + 513322: '泸定县', + 513323: '丹巴县', + 513324: '九龙县', + 513325: '雅江县', + 513326: '道孚县', + 513327: '炉霍县', + 513328: '甘孜县', + 513329: '新龙县', + 513330: '德格县', + 513331: '白玉县', + 513332: '石渠县', + 513333: '色达县', + 513334: '理塘县', + 513335: '巴塘县', + 513336: '乡城县', + 513337: '稻城县', + 513338: '得荣县', + 513401: '西昌市', + 513422: '木里藏族自治县', + 513423: '盐源县', + 513424: '德昌县', + 513425: '会理县', + 513426: '会东县', + 513427: '宁南县', + 513428: '普格县', + 513429: '布拖县', + 513430: '金阳县', + 513431: '昭觉县', + 513432: '喜德县', + 513433: '冕宁县', + 513434: '越西县', + 513435: '甘洛县', + 513436: '美姑县', + 513437: '雷波县', + 520102: '南明区', + 520103: '云岩区', + 520111: '花溪区', + 520112: '乌当区', + 520113: '白云区', + 520115: '观山湖区', + 520121: '开阳县', + 520122: '息烽县', + 520123: '修文县', + 520181: '清镇市', + 520201: '钟山区', + 520203: '六枝特区', + 520221: '水城县', + 520281: '盘州市', + 520302: '红花岗区', + 520303: '汇川区', + 520304: '播州区', + 520322: '桐梓县', + 520323: '绥阳县', + 520324: '正安县', + 520325: '道真仡佬族苗族自治县', + 520326: '务川仡佬族苗族自治县', + 520327: '凤冈县', + 520328: '湄潭县', + 520329: '余庆县', + 520330: '习水县', + 520381: '赤水市', + 520382: '仁怀市', + 520402: '西秀区', + 520403: '平坝区', + 520422: '普定县', + 520423: '镇宁布依族苗族自治县', + 520424: '关岭布依族苗族自治县', + 520425: '紫云苗族布依族自治县', + 520502: '七星关区', + 520521: '大方县', + 520522: '黔西县', + 520523: '金沙县', + 520524: '织金县', + 520525: '纳雍县', + 520526: '威宁彝族回族苗族自治县', + 520527: '赫章县', + 520602: '碧江区', + 520603: '万山区', + 520621: '江口县', + 520622: '玉屏侗族自治县', + 520623: '石阡县', + 520624: '思南县', + 520625: '印江土家族苗族自治县', + 520626: '德江县', + 520627: '沿河土家族自治县', + 520628: '松桃苗族自治县', + 522301: '兴义市', + 522302: '兴仁市', + 522323: '普安县', + 522324: '晴隆县', + 522325: '贞丰县', + 522326: '望谟县', + 522327: '册亨县', + 522328: '安龙县', + 522601: '凯里市', + 522622: '黄平县', + 522623: '施秉县', + 522624: '三穗县', + 522625: '镇远县', + 522626: '岑巩县', + 522627: '天柱县', + 522628: '锦屏县', + 522629: '剑河县', + 522630: '台江县', + 522631: '黎平县', + 522632: '榕江县', + 522633: '从江县', + 522634: '雷山县', + 522635: '麻江县', + 522636: '丹寨县', + 522701: '都匀市', + 522702: '福泉市', + 522722: '荔波县', + 522723: '贵定县', + 522725: '瓮安县', + 522726: '独山县', + 522727: '平塘县', + 522728: '罗甸县', + 522729: '长顺县', + 522730: '龙里县', + 522731: '惠水县', + 522732: '三都水族自治县', + 530102: '五华区', + 530103: '盘龙区', + 530111: '官渡区', + 530112: '西山区', + 530113: '东川区', + 530114: '呈贡区', + 530115: '晋宁区', + 530124: '富民县', + 530125: '宜良县', + 530126: '石林彝族自治县', + 530127: '嵩明县', + 530128: '禄劝彝族苗族自治县', + 530129: '寻甸回族彝族自治县', + 530181: '安宁市', + 530302: '麒麟区', + 530303: '沾益区', + 530304: '马龙区', + 530322: '陆良县', + 530323: '师宗县', + 530324: '罗平县', + 530325: '富源县', + 530326: '会泽县', + 530381: '宣威市', + 530402: '红塔区', + 530403: '江川区', + 530422: '澄江县', + 530423: '通海县', + 530424: '华宁县', + 530425: '易门县', + 530426: '峨山彝族自治县', + 530427: '新平彝族傣族自治县', + 530428: '元江哈尼族彝族傣族自治县', + 530502: '隆阳区', + 530521: '施甸县', + 530523: '龙陵县', + 530524: '昌宁县', + 530581: '腾冲市', + 530602: '昭阳区', + 530621: '鲁甸县', + 530622: '巧家县', + 530623: '盐津县', + 530624: '大关县', + 530625: '永善县', + 530626: '绥江县', + 530627: '镇雄县', + 530628: '彝良县', + 530629: '威信县', + 530681: '水富市', + 530702: '古城区', + 530721: '玉龙纳西族自治县', + 530722: '永胜县', + 530723: '华坪县', + 530724: '宁蒗彝族自治县', + 530802: '思茅区', + 530821: '宁洱哈尼族彝族自治县', + 530822: '墨江哈尼族自治县', + 530823: '景东彝族自治县', + 530824: '景谷傣族彝族自治县', + 530825: '镇沅彝族哈尼族拉祜族自治县', + 530826: '江城哈尼族彝族自治县', + 530827: '孟连傣族拉祜族佤族自治县', + 530828: '澜沧拉祜族自治县', + 530829: '西盟佤族自治县', + 530902: '临翔区', + 530921: '凤庆县', + 530922: '云县', + 530923: '永德县', + 530924: '镇康县', + 530925: '双江拉祜族佤族布朗族傣族自治县', + 530926: '耿马傣族佤族自治县', + 530927: '沧源佤族自治县', + 532301: '楚雄市', + 532322: '双柏县', + 532323: '牟定县', + 532324: '南华县', + 532325: '姚安县', + 532326: '大姚县', + 532327: '永仁县', + 532328: '元谋县', + 532329: '武定县', + 532331: '禄丰县', + 532501: '个旧市', + 532502: '开远市', + 532503: '蒙自市', + 532504: '弥勒市', + 532523: '屏边苗族自治县', + 532524: '建水县', + 532525: '石屏县', + 532527: '泸西县', + 532528: '元阳县', + 532529: '红河县', + 532530: '金平苗族瑶族傣族自治县', + 532531: '绿春县', + 532532: '河口瑶族自治县', + 532601: '文山市', + 532622: '砚山县', + 532623: '西畴县', + 532624: '麻栗坡县', + 532625: '马关县', + 532626: '丘北县', + 532627: '广南县', + 532628: '富宁县', + 532801: '景洪市', + 532822: '勐海县', + 532823: '勐腊县', + 532901: '大理市', + 532922: '漾濞彝族自治县', + 532923: '祥云县', + 532924: '宾川县', + 532925: '弥渡县', + 532926: '南涧彝族自治县', + 532927: '巍山彝族回族自治县', + 532928: '永平县', + 532929: '云龙县', + 532930: '洱源县', + 532931: '剑川县', + 532932: '鹤庆县', + 533102: '瑞丽市', + 533103: '芒市', + 533122: '梁河县', + 533123: '盈江县', + 533124: '陇川县', + 533301: '泸水市', + 533323: '福贡县', + 533324: '贡山独龙族怒族自治县', + 533325: '兰坪白族普米族自治县', + 533401: '香格里拉市', + 533422: '德钦县', + 533423: '维西傈僳族自治县', + 540102: '城关区', + 540103: '堆龙德庆区', + 540104: '达孜区', + 540121: '林周县', + 540122: '当雄县', + 540123: '尼木县', + 540124: '曲水县', + 540127: '墨竹工卡县', + 540202: '桑珠孜区', + 540221: '南木林县', + 540222: '江孜县', + 540223: '定日县', + 540224: '萨迦县', + 540225: '拉孜县', + 540226: '昂仁县', + 540227: '谢通门县', + 540228: '白朗县', + 540229: '仁布县', + 540230: '康马县', + 540231: '定结县', + 540232: '仲巴县', + 540233: '亚东县', + 540234: '吉隆县', + 540235: '聂拉木县', + 540236: '萨嘎县', + 540237: '岗巴县', + 540302: '卡若区', + 540321: '江达县', + 540322: '贡觉县', + 540323: '类乌齐县', + 540324: '丁青县', + 540325: '察雅县', + 540326: '八宿县', + 540327: '左贡县', + 540328: '芒康县', + 540329: '洛隆县', + 540330: '边坝县', + 540402: '巴宜区', + 540421: '工布江达县', + 540422: '米林县', + 540423: '墨脱县', + 540424: '波密县', + 540425: '察隅县', + 540426: '朗县', + 540502: '乃东区', + 540521: '扎囊县', + 540522: '贡嘎县', + 540523: '桑日县', + 540524: '琼结县', + 540525: '曲松县', + 540526: '措美县', + 540527: '洛扎县', + 540528: '加查县', + 540529: '隆子县', + 540530: '错那县', + 540531: '浪卡子县', + 540602: '色尼区', + 540621: '嘉黎县', + 540622: '比如县', + 540623: '聂荣县', + 540624: '安多县', + 540625: '申扎县', + 540626: '索县', + 540627: '班戈县', + 540628: '巴青县', + 540629: '尼玛县', + 540630: '双湖县', + 542521: '普兰县', + 542522: '札达县', + 542523: '噶尔县', + 542524: '日土县', + 542525: '革吉县', + 542526: '改则县', + 542527: '措勤县', + 610102: '新城区', + 610103: '碑林区', + 610104: '莲湖区', + 610111: '灞桥区', + 610112: '未央区', + 610113: '雁塔区', + 610114: '阎良区', + 610115: '临潼区', + 610116: '长安区', + 610117: '高陵区', + 610118: '鄠邑区', + 610122: '蓝田县', + 610124: '周至县', + 610202: '王益区', + 610203: '印台区', + 610204: '耀州区', + 610222: '宜君县', + 610302: '渭滨区', + 610303: '金台区', + 610304: '陈仓区', + 610322: '凤翔县', + 610323: '岐山县', + 610324: '扶风县', + 610326: '眉县', + 610327: '陇县', + 610328: '千阳县', + 610329: '麟游县', + 610330: '凤县', + 610331: '太白县', + 610402: '秦都区', + 610403: '杨陵区', + 610404: '渭城区', + 610422: '三原县', + 610423: '泾阳县', + 610424: '乾县', + 610425: '礼泉县', + 610426: '永寿县', + 610428: '长武县', + 610429: '旬邑县', + 610430: '淳化县', + 610431: '武功县', + 610481: '兴平市', + 610482: '彬州市', + 610502: '临渭区', + 610503: '华州区', + 610522: '潼关县', + 610523: '大荔县', + 610524: '合阳县', + 610525: '澄城县', + 610526: '蒲城县', + 610527: '白水县', + 610528: '富平县', + 610581: '韩城市', + 610582: '华阴市', + 610602: '宝塔区', + 610603: '安塞区', + 610621: '延长县', + 610622: '延川县', + 610623: '子长县', + 610625: '志丹县', + 610626: '吴起县', + 610627: '甘泉县', + 610628: '富县', + 610629: '洛川县', + 610630: '宜川县', + 610631: '黄龙县', + 610632: '黄陵县', + 610702: '汉台区', + 610703: '南郑区', + 610722: '城固县', + 610723: '洋县', + 610724: '西乡县', + 610725: '勉县', + 610726: '宁强县', + 610727: '略阳县', + 610728: '镇巴县', + 610729: '留坝县', + 610730: '佛坪县', + 610802: '榆阳区', + 610803: '横山区', + 610822: '府谷县', + 610824: '靖边县', + 610825: '定边县', + 610826: '绥德县', + 610827: '米脂县', + 610828: '佳县', + 610829: '吴堡县', + 610830: '清涧县', + 610831: '子洲县', + 610881: '神木市', + 610902: '汉滨区', + 610921: '汉阴县', + 610922: '石泉县', + 610923: '宁陕县', + 610924: '紫阳县', + 610925: '岚皋县', + 610926: '平利县', + 610927: '镇坪县', + 610928: '旬阳县', + 610929: '白河县', + 611002: '商州区', + 611021: '洛南县', + 611022: '丹凤县', + 611023: '商南县', + 611024: '山阳县', + 611025: '镇安县', + 611026: '柞水县', + 620102: '城关区', + 620103: '七里河区', + 620104: '西固区', + 620105: '安宁区', + 620111: '红古区', + 620121: '永登县', + 620122: '皋兰县', + 620123: '榆中县', + 620201: '市辖区', + 620290: '雄关区', + 620291: '长城区', + 620292: '镜铁区', + 620293: '新城镇', + 620294: '峪泉镇', + 620295: '文殊镇', + 620302: '金川区', + 620321: '永昌县', + 620402: '白银区', + 620403: '平川区', + 620421: '靖远县', + 620422: '会宁县', + 620423: '景泰县', + 620502: '秦州区', + 620503: '麦积区', + 620521: '清水县', + 620522: '秦安县', + 620523: '甘谷县', + 620524: '武山县', + 620525: '张家川回族自治县', + 620602: '凉州区', + 620621: '民勤县', + 620622: '古浪县', + 620623: '天祝藏族自治县', + 620702: '甘州区', + 620721: '肃南裕固族自治县', + 620722: '民乐县', + 620723: '临泽县', + 620724: '高台县', + 620725: '山丹县', + 620802: '崆峒区', + 620821: '泾川县', + 620822: '灵台县', + 620823: '崇信县', + 620825: '庄浪县', + 620826: '静宁县', + 620881: '华亭市', + 620902: '肃州区', + 620921: '金塔县', + 620922: '瓜州县', + 620923: '肃北蒙古族自治县', + 620924: '阿克塞哈萨克族自治县', + 620981: '玉门市', + 620982: '敦煌市', + 621002: '西峰区', + 621021: '庆城县', + 621022: '环县', + 621023: '华池县', + 621024: '合水县', + 621025: '正宁县', + 621026: '宁县', + 621027: '镇原县', + 621102: '安定区', + 621121: '通渭县', + 621122: '陇西县', + 621123: '渭源县', + 621124: '临洮县', + 621125: '漳县', + 621126: '岷县', + 621202: '武都区', + 621221: '成县', + 621222: '文县', + 621223: '宕昌县', + 621224: '康县', + 621225: '西和县', + 621226: '礼县', + 621227: '徽县', + 621228: '两当县', + 622901: '临夏市', + 622921: '临夏县', + 622922: '康乐县', + 622923: '永靖县', + 622924: '广河县', + 622925: '和政县', + 622926: '东乡族自治县', + 622927: '积石山保安族东乡族撒拉族自治县', + 623001: '合作市', + 623021: '临潭县', + 623022: '卓尼县', + 623023: '舟曲县', + 623024: '迭部县', + 623025: '玛曲县', + 623026: '碌曲县', + 623027: '夏河县', + 630102: '城东区', + 630103: '城中区', + 630104: '城西区', + 630105: '城北区', + 630121: '大通回族土族自治县', + 630122: '湟中县', + 630123: '湟源县', + 630202: '乐都区', + 630203: '平安区', + 630222: '民和回族土族自治县', + 630223: '互助土族自治县', + 630224: '化隆回族自治县', + 630225: '循化撒拉族自治县', + 632221: '门源回族自治县', + 632222: '祁连县', + 632223: '海晏县', + 632224: '刚察县', + 632321: '同仁县', + 632322: '尖扎县', + 632323: '泽库县', + 632324: '河南蒙古族自治县', + 632521: '共和县', + 632522: '同德县', + 632523: '贵德县', + 632524: '兴海县', + 632525: '贵南县', + 632621: '玛沁县', + 632622: '班玛县', + 632623: '甘德县', + 632624: '达日县', + 632625: '久治县', + 632626: '玛多县', + 632701: '玉树市', + 632722: '杂多县', + 632723: '称多县', + 632724: '治多县', + 632725: '囊谦县', + 632726: '曲麻莱县', + 632801: '格尔木市', + 632802: '德令哈市', + 632803: '茫崖市', + 632821: '乌兰县', + 632822: '都兰县', + 632823: '天峻县', + 640104: '兴庆区', + 640105: '西夏区', + 640106: '金凤区', + 640121: '永宁县', + 640122: '贺兰县', + 640181: '灵武市', + 640202: '大武口区', + 640205: '惠农区', + 640221: '平罗县', + 640302: '利通区', + 640303: '红寺堡区', + 640323: '盐池县', + 640324: '同心县', + 640381: '青铜峡市', + 640402: '原州区', + 640422: '西吉县', + 640423: '隆德县', + 640424: '泾源县', + 640425: '彭阳县', + 640502: '沙坡头区', + 640521: '中宁县', + 640522: '海原县', + 650102: '天山区', + 650103: '沙依巴克区', + 650104: '新市区', + 650105: '水磨沟区', + 650106: '头屯河区', + 650107: '达坂城区', + 650109: '米东区', + 650121: '乌鲁木齐县', + 650202: '独山子区', + 650203: '克拉玛依区', + 650204: '白碱滩区', + 650205: '乌尔禾区', + 650402: '高昌区', + 650421: '鄯善县', + 650422: '托克逊县', + 650502: '伊州区', + 650521: '巴里坤哈萨克自治县', + 650522: '伊吾县', + 652301: '昌吉市', + 652302: '阜康市', + 652323: '呼图壁县', + 652324: '玛纳斯县', + 652325: '奇台县', + 652327: '吉木萨尔县', + 652328: '木垒哈萨克自治县', + 652701: '博乐市', + 652702: '阿拉山口市', + 652722: '精河县', + 652723: '温泉县', + 652801: '库尔勒市', + 652822: '轮台县', + 652823: '尉犁县', + 652824: '若羌县', + 652825: '且末县', + 652826: '焉耆回族自治县', + 652827: '和静县', + 652828: '和硕县', + 652829: '博湖县', + 652901: '阿克苏市', + 652922: '温宿县', + 652923: '库车县', + 652924: '沙雅县', + 652925: '新和县', + 652926: '拜城县', + 652927: '乌什县', + 652928: '阿瓦提县', + 652929: '柯坪县', + 653001: '阿图什市', + 653022: '阿克陶县', + 653023: '阿合奇县', + 653024: '乌恰县', + 653101: '喀什市', + 653121: '疏附县', + 653122: '疏勒县', + 653123: '英吉沙县', + 653124: '泽普县', + 653125: '莎车县', + 653126: '叶城县', + 653127: '麦盖提县', + 653128: '岳普湖县', + 653129: '伽师县', + 653130: '巴楚县', + 653131: '塔什库尔干塔吉克自治县', + 653201: '和田市', + 653221: '和田县', + 653222: '墨玉县', + 653223: '皮山县', + 653224: '洛浦县', + 653225: '策勒县', + 653226: '于田县', + 653227: '民丰县', + 654002: '伊宁市', + 654003: '奎屯市', + 654004: '霍尔果斯市', + 654021: '伊宁县', + 654022: '察布查尔锡伯自治县', + 654023: '霍城县', + 654024: '巩留县', + 654025: '新源县', + 654026: '昭苏县', + 654027: '特克斯县', + 654028: '尼勒克县', + 654201: '塔城市', + 654202: '乌苏市', + 654221: '额敏县', + 654223: '沙湾县', + 654224: '托里县', + 654225: '裕民县', + 654226: '和布克赛尔蒙古自治县', + 654301: '阿勒泰市', + 654321: '布尔津县', + 654322: '富蕴县', + 654323: '福海县', + 654324: '哈巴河县', + 654325: '青河县', + 654326: '吉木乃县', + 659001: '石河子市', + 659002: '阿拉尔市', + 659003: '图木舒克市', + 659004: '五家渠市', + 659005: '北屯市', + 659006: '铁门关市', + 659007: '双河市', + 659008: '可克达拉市', + 659009: '昆玉市', + 710101: '中正区', + 710102: '大同区', + 710103: '中山区', + 710104: '松山区', + 710105: '大安区', + 710106: '万华区', + 710107: '信义区', + 710108: '士林区', + 710109: '北投区', + 710110: '内湖区', + 710111: '南港区', + 710112: '文山区', + 710199: '其它区', + 710201: '新兴区', + 710202: '前金区', + 710203: '芩雅区', + 710204: '盐埕区', + 710205: '鼓山区', + 710206: '旗津区', + 710207: '前镇区', + 710208: '三民区', + 710209: '左营区', + 710210: '楠梓区', + 710211: '小港区', + 710241: '苓雅区', + 710242: '仁武区', + 710243: '大社区', + 710244: '冈山区', + 710245: '路竹区', + 710246: '阿莲区', + 710247: '田寮区', + 710248: '燕巢区', + 710249: '桥头区', + 710250: '梓官区', + 710251: '弥陀区', + 710252: '永安区', + 710253: '湖内区', + 710254: '凤山区', + 710255: '大寮区', + 710256: '林园区', + 710257: '鸟松区', + 710258: '大树区', + 710259: '旗山区', + 710260: '美浓区', + 710261: '六龟区', + 710262: '内门区', + 710263: '杉林区', + 710264: '甲仙区', + 710265: '桃源区', + 710266: '那玛夏区', + 710267: '茂林区', + 710268: '茄萣区', + 710299: '其它区', + 710301: '中西区', + 710302: '东区', + 710303: '南区', + 710304: '北区', + 710305: '安平区', + 710306: '安南区', + 710339: '永康区', + 710340: '归仁区', + 710341: '新化区', + 710342: '左镇区', + 710343: '玉井区', + 710344: '楠西区', + 710345: '南化区', + 710346: '仁德区', + 710347: '关庙区', + 710348: '龙崎区', + 710349: '官田区', + 710350: '麻豆区', + 710351: '佳里区', + 710352: '西港区', + 710353: '七股区', + 710354: '将军区', + 710355: '学甲区', + 710356: '北门区', + 710357: '新营区', + 710358: '后壁区', + 710359: '白河区', + 710360: '东山区', + 710361: '六甲区', + 710362: '下营区', + 710363: '柳营区', + 710364: '盐水区', + 710365: '善化区', + 710366: '大内区', + 710367: '山上区', + 710368: '新市区', + 710369: '安定区', + 710399: '其它区', + 710401: '中区', + 710402: '东区', + 710403: '南区', + 710404: '西区', + 710405: '北区', + 710406: '北屯区', + 710407: '西屯区', + 710408: '南屯区', + 710431: '太平区', + 710432: '大里区', + 710433: '雾峰区', + 710434: '乌日区', + 710435: '丰原区', + 710436: '后里区', + 710437: '石冈区', + 710438: '东势区', + 710439: '和平区', + 710440: '新社区', + 710441: '潭子区', + 710442: '大雅区', + 710443: '神冈区', + 710444: '大肚区', + 710445: '沙鹿区', + 710446: '龙井区', + 710447: '梧栖区', + 710448: '清水区', + 710449: '大甲区', + 710450: '外埔区', + 710451: '大安区', + 710499: '其它区', + 710507: '金沙镇', + 710508: '金湖镇', + 710509: '金宁乡', + 710510: '金城镇', + 710511: '烈屿乡', + 710512: '乌坵乡', + 710614: '南投市', + 710615: '中寮乡', + 710616: '草屯镇', + 710617: '国姓乡', + 710618: '埔里镇', + 710619: '仁爱乡', + 710620: '名间乡', + 710621: '集集镇', + 710622: '水里乡', + 710623: '鱼池乡', + 710624: '信义乡', + 710625: '竹山镇', + 710626: '鹿谷乡', + 710701: '仁爱区', + 710702: '信义区', + 710703: '中正区', + 710704: '中山区', + 710705: '安乐区', + 710706: '暖暖区', + 710707: '七堵区', + 710799: '其它区', + 710801: '东区', + 710802: '北区', + 710803: '香山区', + 710899: '其它区', + 710901: '东区', + 710902: '西区', + 710999: '其它区', + 711130: '万里区', + 711132: '板桥区', + 711133: '汐止区', + 711134: '深坑区', + 711135: '石碇区', + 711136: '瑞芳区', + 711137: '平溪区', + 711138: '双溪区', + 711139: '贡寮区', + 711140: '新店区', + 711141: '坪林区', + 711142: '乌来区', + 711143: '永和区', + 711144: '中和区', + 711145: '土城区', + 711146: '三峡区', + 711147: '树林区', + 711148: '莺歌区', + 711149: '三重区', + 711150: '新庄区', + 711151: '泰山区', + 711152: '林口区', + 711153: '芦洲区', + 711154: '五股区', + 711155: '八里区', + 711156: '淡水区', + 711157: '三芝区', + 711158: '石门区', + 711287: '宜兰市', + 711288: '头城镇', + 711289: '礁溪乡', + 711290: '壮围乡', + 711291: '员山乡', + 711292: '罗东镇', + 711293: '三星乡', + 711294: '大同乡', + 711295: '五结乡', + 711296: '冬山乡', + 711297: '苏澳镇', + 711298: '南澳乡', + 711299: '钓鱼台', + 711387: '竹北市', + 711388: '湖口乡', + 711389: '新丰乡', + 711390: '新埔镇', + 711391: '关西镇', + 711392: '芎林乡', + 711393: '宝山乡', + 711394: '竹东镇', + 711395: '五峰乡', + 711396: '横山乡', + 711397: '尖石乡', + 711398: '北埔乡', + 711399: '峨眉乡', + 711414: '中坜区', + 711415: '平镇区', + 711417: '杨梅区', + 711418: '新屋区', + 711419: '观音区', + 711420: '桃园区', + 711421: '龟山区', + 711422: '八德区', + 711423: '大溪区', + 711425: '大园区', + 711426: '芦竹区', + 711487: '中坜市', + 711488: '平镇市', + 711489: '龙潭乡', + 711490: '杨梅市', + 711491: '新屋乡', + 711492: '观音乡', + 711493: '桃园市', + 711494: '龟山乡', + 711495: '八德市', + 711496: '大溪镇', + 711497: '复兴乡', + 711498: '大园乡', + 711499: '芦竹乡', + 711520: '头份市', + 711582: '竹南镇', + 711583: '头份镇', + 711584: '三湾乡', + 711585: '南庄乡', + 711586: '狮潭乡', + 711587: '后龙镇', + 711588: '通霄镇', + 711589: '苑里镇', + 711590: '苗栗市', + 711591: '造桥乡', + 711592: '头屋乡', + 711593: '公馆乡', + 711594: '大湖乡', + 711595: '泰安乡', + 711596: '铜锣乡', + 711597: '三义乡', + 711598: '西湖乡', + 711599: '卓兰镇', + 711736: '员林市', + 711774: '彰化市', + 711775: '芬园乡', + 711776: '花坛乡', + 711777: '秀水乡', + 711778: '鹿港镇', + 711779: '福兴乡', + 711780: '线西乡', + 711781: '和美镇', + 711782: '伸港乡', + 711783: '员林镇', + 711784: '社头乡', + 711785: '永靖乡', + 711786: '埔心乡', + 711787: '溪湖镇', + 711788: '大村乡', + 711789: '埔盐乡', + 711790: '田中镇', + 711791: '北斗镇', + 711792: '田尾乡', + 711793: '埤头乡', + 711794: '溪州乡', + 711795: '竹塘乡', + 711796: '二林镇', + 711797: '大城乡', + 711798: '芳苑乡', + 711799: '二水乡', + 711982: '番路乡', + 711983: '梅山乡', + 711984: '竹崎乡', + 711985: '阿里山乡', + 711986: '中埔乡', + 711987: '大埔乡', + 711988: '水上乡', + 711989: '鹿草乡', + 711990: '太保市', + 711991: '朴子市', + 711992: '东石乡', + 711993: '六脚乡', + 711994: '新港乡', + 711995: '民雄乡', + 711996: '大林镇', + 711997: '溪口乡', + 711998: '义竹乡', + 711999: '布袋镇', + 712180: '斗南镇', + 712181: '大埤乡', + 712182: '虎尾镇', + 712183: '土库镇', + 712184: '褒忠乡', + 712185: '东势乡', + 712186: '台西乡', + 712187: '仑背乡', + 712188: '麦寮乡', + 712189: '斗六市', + 712190: '林内乡', + 712191: '古坑乡', + 712192: '莿桐乡', + 712193: '西螺镇', + 712194: '二仑乡', + 712195: '北港镇', + 712196: '水林乡', + 712197: '口湖乡', + 712198: '四湖乡', + 712199: '元长乡', + 712451: '崁顶乡', + 712467: '屏东市', + 712468: '三地门乡', + 712469: '雾台乡', + 712470: '玛家乡', + 712471: '九如乡', + 712472: '里港乡', + 712473: '高树乡', + 712474: '盐埔乡', + 712475: '长治乡', + 712476: '麟洛乡', + 712477: '竹田乡', + 712478: '内埔乡', + 712479: '万丹乡', + 712480: '潮州镇', + 712481: '泰武乡', + 712482: '来义乡', + 712483: '万峦乡', + 712484: '莰顶乡', + 712485: '新埤乡', + 712486: '南州乡', + 712487: '林边乡', + 712488: '东港镇', + 712489: '琉球乡', + 712490: '佳冬乡', + 712491: '新园乡', + 712492: '枋寮乡', + 712493: '枋山乡', + 712494: '春日乡', + 712495: '狮子乡', + 712496: '车城乡', + 712497: '牡丹乡', + 712498: '恒春镇', + 712499: '满州乡', + 712584: '台东市', + 712585: '绿岛乡', + 712586: '兰屿乡', + 712587: '延平乡', + 712588: '卑南乡', + 712589: '鹿野乡', + 712590: '关山镇', + 712591: '海端乡', + 712592: '池上乡', + 712593: '东河乡', + 712594: '成功镇', + 712595: '长滨乡', + 712596: '金峰乡', + 712597: '大武乡', + 712598: '达仁乡', + 712599: '太麻里乡', + 712686: '花莲市', + 712687: '新城乡', + 712688: '太鲁阁', + 712689: '秀林乡', + 712690: '吉安乡', + 712691: '寿丰乡', + 712692: '凤林镇', + 712693: '光复乡', + 712694: '丰滨乡', + 712695: '瑞穗乡', + 712696: '万荣乡', + 712697: '玉里镇', + 712698: '卓溪乡', + 712699: '富里乡', + 712794: '马公市', + 712795: '西屿乡', + 712796: '望安乡', + 712797: '七美乡', + 712798: '白沙乡', + 712799: '湖西乡', + 712896: '南竿乡', + 712897: '北竿乡', + 712898: '东引乡', + 712899: '莒光乡', + 810101: '中西区', + 810102: '湾仔区', + 810103: '东区', + 810104: '南区', + 810201: '九龙城区', + 810202: '油尖旺区', + 810203: '深水埗区', + 810204: '黄大仙区', + 810205: '观塘区', + 810301: '北区', + 810302: '大埔区', + 810303: '沙田区', + 810304: '西贡区', + 810305: '元朗区', + 810306: '屯门区', + 810307: '荃湾区', + 810308: '葵青区', + 810309: '离岛区', + 820102: '花地玛堂区', + 820103: '花王堂区', + 820104: '望德堂区', + 820105: '大堂区', + 820106: '风顺堂区', + 820202: '嘉模堂区', + 820203: '路氹填海区', + 820204: '圣方济各堂区' + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/constants/erp/contact-company.js b/smart_admin_v1/smart-admin-h5/src/constants/erp/contact-company.js new file mode 100644 index 00000000..b3730d9b --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/constants/erp/contact-company.js @@ -0,0 +1,165 @@ +/** + * 往来单位性质 + * @type {{ENTERPRISE: {value: number, desc: string}, PERSONAL: {value: number, desc: string}}} + */ +export const CONTACT_COMPANY_NATURE_ENUM = + { + ENTERPRISE: { + value: 0, + desc: '企业' + }, + PERSONAL: { + value: 1, + desc: '个人' + } + }; +/** + * 往来机构类型 + * @type {{CUSTOMER: {value: number, desc: string}, SUPPLIER: {value: number, desc: string}}} + */ +export const + CONTACT_COMPANY_TYPE_ENUM = + { + CUSTOMER: { + value: 0, + desc: '客户' + }, + SUPPLIER: { + value: 1, + desc: '供应商' + }, + SCHOOL: { + value: 2, + desc: '分校' + }, + COOPERATIVE_ORG: { + value: 3, + desc: '合作机构' + } + }; + +/** + * 付款方式 + * @type {{BANK: {value: number, desc: string}, ZHI_FU_BAO: {value: number, desc: string}, WE_CHAT: {value: number, desc: string}}} + */ +export const + PAYMENT_TYPE_ENUM = + { + BANK: { + value: 0, + desc: '银行卡' + }, + WE_CHAT: { + value: 1, + desc: '微信' + }, + ZHI_FU_BAO: { + value: 2, + desc: '支付宝' + } + }; + +/** + * 往来机构余额类型 + * @type {{RECEIVE_BALANCE: {value: number, desc: string}, PAY_BALANCE: {value: number, desc: string}}} + */ +export const + CONTACT_COMPANY_BALANCE_TYPE = + { + PAY_BALANCE: { + value: 0, + desc: '应付款余额' + }, + RECEIVE_BALANCE: { + value: 1, + desc: '应收款余额' + } + }; + +/** + * 往来单位等级 + * @type {{CORE: {value: number, desc: string}, POTENTIAL: {value: number, desc: string}, BAD: {value: number, desc: string}, GENERAL: {value: number, desc: string}}} + */ +export const CONTACT_COMPANY_GRADE_ENUM = { + CORE: { + value: 1, + desc: '核心', + color: 'green' + }, + POTENTIAL: { + value: 2, + desc: '有潜力', + color: 'cyan' + }, + GENERAL: { + value: 3, + desc: '普通', + color: 'blue' + }, + BAD: { + value: 4, + desc: '较差', + color: 'purple' + } +}; + +/** + * 往来单位等级 + * @type {{OWNER: {value: number, desc: string}, SHARER: {value: number, desc: string}, COMMON: {value: number, desc: string}}} + */ +export const CONTACT_COMPANY_SHARE_TYPE_ENUM = { + OWNER: { + value: 0, + desc: '属于我的' + }, + SHARER: { + value: 1, + desc: '共享的' + }, + COMMON: { + value: 2, + desc: '公共的' + } +}; + +/** + * 往来单位标签 + * @type {{OWNER: {value: number, desc: string}, SHARER: {value: number, desc: string}, COMMON: {value: number, desc: string}}} + */ +export const CONTACT_COMPANY_TAG_ENUM = { + POTENTIAL: { + value: 0, + desc: '潜在', + color: 'green' + }, + INTENTION: { + value: 1, + desc: '意向', + color: 'cyan' + }, + NEGOTIATION: { + value: 2, + desc: '洽谈', + color: 'blue' + }, + DEAL: { + value: 3, + desc: '成交', + color: 'geekblue' + }, + LOSS: { + value: 4, + desc: '流失', + color: 'red' + } +}; + +export default { + CONTACT_COMPANY_NATURE_ENUM, + CONTACT_COMPANY_TYPE_ENUM, + PAYMENT_TYPE_ENUM, + CONTACT_COMPANY_BALANCE_TYPE, + CONTACT_COMPANY_GRADE_ENUM, + CONTACT_COMPANY_SHARE_TYPE_ENUM, + CONTACT_COMPANY_TAG_ENUM +}; diff --git a/smart_admin_v1/smart-admin-h5/src/constants/erp/index.js b/smart_admin_v1/smart-admin-h5/src/constants/erp/index.js new file mode 100644 index 00000000..b14cb861 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/constants/erp/index.js @@ -0,0 +1,6 @@ +import contactCompany from './contact-company'; + +export default { + ...contactCompany +}; + diff --git a/smart_admin_v1/smart-admin-h5/src/constants/file.js b/smart_admin_v1/smart-admin-h5/src/constants/file.js new file mode 100644 index 00000000..cc72166b --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/constants/file.js @@ -0,0 +1,92 @@ +export const COMMON_FILE_FOLDER_TYPE_ENUM = { + DISPLAY_PIC: { + value: 1, + desc: '轮播展示图' + }, + RESOURCE_LECTURER: { + value: 2, + desc: '资源-讲师图片' + }, + RESOURCE_FILE: { + value: 3, + desc: '资源-文件资源' + }, + USER_AVATAR: { + value: 4, + desc: '用户头像' + }, + STOCK_BASIC: { + value: 5, + desc: '货物基本信息图片' + }, + PUBLICATION_QR_CODE: { + value: 6, + desc: '出版物二维码图片' + }, + RESOURCE_PAGE_QR_CODE: { + value: 7, + desc: '资源页面链接二维码图片' + }, + FINANCE_RECEIVE_QR_CODE: { + value: 8, + desc: '财务收款二维码' + }, + FINANCE_WX_PAY_CERT: { + value: 9, + desc: '财务-微信支付证书' + }, + GOODS: { + value: 10, + desc: '商品图片-公用文件夹' + }, + EXCEL_EXPORT: { + value: 11, + desc: 'excel导出-私有文件夹' + }, + FINANCE_WAIT_PAYMENT_PAYMENT_PROOF: { + value: 12, + desc: '财务待支付支付凭证' + }, + FEEDBACK: { + value: 99, + desc: '用户反馈图片' + }, + EDITOR: { + value: 100, + desc: '文本编辑器' + }, + EDITOR_IMG: { + value: 100, + desc: '文本编辑器' + }, + INTERNAL_INFORMATION: { + value: 14, + desc: '内部资料' + }, + CRM_USER: { + value: 111, + desc: 'CRM学员跟进附件' + }, + CRM_SCHOOL: { + value: 112, + desc: 'CRM分校跟进附件' + }, + // = =======erp 相关 begin============ + ERP_STOCK_IMG: { + value: 201, + desc: '货物图片' + }, + ERP_CONTACT_COMPANY_RECEIVE_IMAGE: { + value: 210, + desc: '往来单位收款二维码' + }, + ERP_CONTACT_COMPANY_ATTACHMENT: { + value: 211, + desc: '往来单位附件' + } + // = =======erp 相关 end ============ +}; + +export default { + COMMON_FILE_FOLDER_TYPE_ENUM +}; diff --git a/smart_admin_v1/smart-admin-h5/src/constants/index.js b/smart_admin_v1/smart-admin-h5/src/constants/index.js new file mode 100644 index 00000000..384b7029 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/constants/index.js @@ -0,0 +1,7 @@ +import school from '@/constants/school'; +import erp from './erp'; + +export default { + ...school, + ...erp +}; diff --git a/smart_admin_v1/smart-admin-h5/src/constants/school.js b/smart_admin_v1/smart-admin-h5/src/constants/school.js new file mode 100644 index 00000000..aa69bd01 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/constants/school.js @@ -0,0 +1,71 @@ +/** + * 分校标签 + */ +export const SCHOOL_TAG_ENUM = { + POTENTIAL: { + value: 0, + desc: '潜在' + }, + INTENTION: { + value: 1, + desc: '意向' + }, + NEGOTIATION: { + value: 2, + desc: '洽谈' + }, + DEAL: { + value: 3, + desc: '成交' + }, + LOSS: { + value: 4, + desc: '流失' + } +}; + +/** + * 分校等级 + */ +export const SCHOOL_GRADE_ENUM = { + CORE: { + value: 1, + desc: '核心' + }, + POTENTIAL: { + value: 2, + desc: '有潜力' + }, + GENERAL: { + value: 3, + desc: '普通' + }, + BAD: { + value: 4, + desc: '较差' + } +}; + +/** + * 共享类型 + */ +export const SCHOOL_SHARE_TYPE_ENUM = { + OWNER: { + value: 0, + desc: '属于我的' + }, + SHARER: { + value: 1, + desc: '共享的' + }, + COMMON: { + value: 2, + desc: '公共的' + } +}; + +export default { + SCHOOL_TAG_ENUM, + SCHOOL_GRADE_ENUM, + SCHOOL_SHARE_TYPE_ENUM +}; diff --git a/smart_admin_v1/smart-admin-h5/src/filters/filter.js b/smart_admin_v1/smart-admin-h5/src/filters/filter.js new file mode 100644 index 00000000..5bb102f2 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/filters/filter.js @@ -0,0 +1,298 @@ +import Vue from 'vue'; + +function ellipsis(value, length) { + if (!value) return ''; + if (value.length > length) { + return value.slice(0, length) + '...'; + } + return value; +} + +/** + * 去除空格 type 1-所有空格 2-前后空格 3-前空格 4-后空格 + */ +function trim(value, trim) { + switch (trim) { + case 1: + return value.replace(/\s+/g, ''); + case 2: + return value.replace(/(^\s*)|(\s*$)/g, ''); + case 3: + return value.replace(/(^\s*)/g, ''); + case 4: + return value.replace(/(\s*$)/g, ''); + default: + return value; + } +} + +/** + * 任意格式日期处理 + 使用格式: + {{ '2018-09-14 01:05' | formatDate(yyyy-MM-dd hh:mm:ss) }} + {{ '2018-09-14 01:05' | formatDate(yyyy-MM-dd) }} + {{ '2018-09-14 01:05' | formatDate(MM/dd) }} 等 + + * @param value + * @param fmt + * @returns {*} + */ +function formatDate(value, fmt) { + var date = new Date(value); + var o = { + 'M+': date.getMonth() + 1, // 月份 + 'd+': date.getDate(), // 日 + 'h+': date.getHours(), // 小时 + 'm+': date.getMinutes(), // 分 + 's+': date.getSeconds(), // 秒 + 'w+': date.getDay(), // 星期 + 'q+': Math.floor((date.getMonth() + 3) / 3), // 季度 + 'S': date.getMilliseconds() // 毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); + for (var k in o) { + if (k === 'w+') { + if (o[k] === 0) { + fmt = fmt.replace('w', '周日'); + } else if (o[k] === 1) { + fmt = fmt.replace('w', '周一'); + } else if (o[k] === 2) { + fmt = fmt.replace('w', '周二'); + } else if (o[k] === 3) { + fmt = fmt.replace('w', '周三'); + } else if (o[k] === 4) { + fmt = fmt.replace('w', '周四'); + } else if (o[k] === 5) { + fmt = fmt.replace('w', '周五'); + } else if (o[k] === 6) { + fmt = fmt.replace('w', '周六'); + } + } else if (new RegExp('(' + k + ')').test(fmt)) { + fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length))); + } + } + return fmt; +} + +/** + * 字母大小写切换 + type + 1:首字母大写 + 2:首页母小写 + 3:大小写转换 + 4:全部大写 + 5:全部小写 + * @param str + * @param type + * @returns {string|*} + */ +function changeCase(str, type) { + function ToggleCase(str) { + var itemText = ''; + str.split('').forEach( + function(item) { + if (/^([a-z]+)/.test(item)) { + itemText += item.toUpperCase(); + } else if (/^([A-Z]+)/.test(item)) { + itemText += item.toLowerCase(); + } else { + itemText += item; + } + }); + return itemText; + } + + switch (type) { + case 1: + return str.replace(/\b\w+\b/g, function(word) { + return word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase(); + }); + case 2: + return str.replace(/\b\w+\b/g, function(word) { + return word.substring(0, 1).toLowerCase() + word.substring(1).toUpperCase(); + }); + case 3: + return ToggleCase(str); + case 4: + return str.toUpperCase(); + case 5: + return str.toLowerCase(); + default: + return str; + } +} + +/** + * 字符串循环复制,count->次数 + */ +function repeatStr(str, count) { + var text = ''; + for (var i = 0; i < count; i++) { + text += str; + } + return text; +} + +/** + * 字符串替换 + */ +function replaceAll(str, AFindText, ARepText) { + const raRegExp = new RegExp(AFindText, 'g'); + return str.replace(raRegExp, ARepText); +} + +/** + * + * 字符替换*,隐藏手机号或者身份证号等 + replaceStr(字符串,字符格式, 替换方式,替换的字符(默认*)) + ecDo.replaceStr('18819322663',[3,5,3],0) + result:188*****663 + ecDo.replaceStr('asdasdasdaa',[3,5,3],1) + result:***asdas*** + ecDo.replaceStr('1asd88465asdwqe3',[5],0) + result:*****8465asdwqe3 + ecDo.replaceStr('1asd88465asdwqe3',[5],1,'+') + result:"1asd88465as+++++" + * + * @param str + * @param regArr + * @param type + * @param ARepText + * @returns {*} + */ +function replaceStr(str, regArr, type, ARepText) { + var regtext = ''; + var Reg = null; + var replaceText = ARepText || '*'; + // repeatStr是在上面定义过的(字符串循环复制),大家注意哦 + if (regArr.length === 3 && type === 0) { + regtext = '(\\w{' + regArr[0] + '})\\w{' + regArr[1] + '}(\\w{' + regArr[2] + '})'; + Reg = new RegExp(regtext); + var replaceCount = this.repeatStr(replaceText, regArr[1]); + return str.replace(Reg, '$1' + replaceCount + '$2'); + } else if (regArr.length === 3 && type === 1) { + regtext = '\\w{' + regArr[0] + '}(\\w{' + regArr[1] + '})\\w{' + regArr[2] + '}'; + Reg = new RegExp(regtext); + var replaceCount1 = this.repeatStr(replaceText, regArr[0]); + var replaceCount2 = this.repeatStr(replaceText, regArr[2]); + return str.replace(Reg, replaceCount1 + '$1' + replaceCount2); + } else if (regArr.length === 1 && type === 0) { + regtext = '(^\\w{' + regArr[0] + '})'; + Reg = new RegExp(regtext); + var replaceCount = this.repeatStr(replaceText, regArr[0]); + return str.replace(Reg, replaceCount); + } else if (regArr.length === 1 && type === 1) { + regtext = '(\\w{' + regArr[0] + '}$)'; + Reg = new RegExp(regtext); + var replaceCount = this.repeatStr(replaceText, regArr[0]); + return str.replace(Reg, replaceCount); + } +} + +/** + * 格式化处理字符串 + ecDo.formatText('1234asda567asd890') + result:"12,34a,sda,567,asd,890" + ecDo.formatText('1234asda567asd890',4,' ') + result:"1 234a sda5 67as d890" + ecDo.formatText('1234asda567asd890',4,'-') + result:"1-234a-sda5-67as-d890" + + * @param str + * @param size + * @param delimiter + * @returns {*} + */ +function formatText(str, size, delimiter) { + var _size = size || 3; + var _delimiter = delimiter || ','; + var regText = '\\B(?=(\\w{' + _size + '})+(?!\\w))'; + var reg = new RegExp(regText, 'g'); + return str.replace(reg, _delimiter); +} + +/** + * 现金额大写转换函数 + ecDo.upDigit(168752632) + result:"人民币壹亿陆仟捌佰柒拾伍万贰仟陆佰叁拾贰元整" + ecDo.upDigit(1682) + result:"人民币壹仟陆佰捌拾贰元整" + ecDo.upDigit(-1693) + result:"欠人民币壹仟陆佰玖拾叁元整" + * @param n + * @returns {string} + */ +function upDigit(n) { + var fraction = ['角', '分', '厘']; + var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']; + var unit = [ + ['元', '万', '亿'], + ['', '拾', '佰', '仟'] + ]; + var head = n < 0 ? '欠人民币' : '人民币'; + n = Math.abs(n); + var s = ''; + for (var i = 0; i < fraction.length; i++) { + s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, ''); + } + s = s || '整'; + n = Math.floor(n); + for (var i = 0; i < unit[0].length && n > 0; i++) { + var p = ''; + for (var j = 0; j < unit[1].length && n > 0; j++) { + p = digit[n % 10] + unit[1][j] + p; + n = Math.floor(n / 10); + } + s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s; + // s = p + unit[0][i] + s; + } + return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整'); +} + +// 保留2位小数 +function toFixed(val, acc) { + let num = parseFloat(val); + if (isNaN(num)) { + num = 0; + } + let accuracy = parseInt(acc); + if (isNaN(accuracy) || accuracy < 0 || accuracy > 10) { + accuracy = 2; + } + return num.toFixed(accuracy); +} + +// 转百分比 +function toPercent(val, acc) { + let num = parseFloat(val); + if (isNaN(num)) { + num = 0; + } + let accuracy = parseInt(acc); + if (isNaN(accuracy) || accuracy < 0 || accuracy > 10) { + accuracy = 2; + } + return (num * 100).toFixed(accuracy) + '%'; +} + +// ------------ enum begin ------------ +function getEnumDescByValue(value, enumName) { + return Vue.prototype.$enum.getDescByValue(enumName, value); +} + +// ------------ enum end ------------ + +export { + trim, + changeCase, + repeatStr, + replaceAll, + replaceStr, + formatText, + upDigit, + toFixed, + formatDate, + toPercent, + getEnumDescByValue, + ellipsis +}; diff --git a/smart_admin_v1/smart-admin-h5/src/filters/index.js b/smart_admin_v1/smart-admin-h5/src/filters/index.js new file mode 100644 index 00000000..484c0dc0 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/filters/index.js @@ -0,0 +1,5 @@ +import Vue from 'vue' + +import * as filter from './filter' + +Object.keys(filter).forEach(key => Vue.filter(key, filter[key])) diff --git a/smart_admin_v1/smart-admin-h5/src/lib/cookie.js b/smart_admin_v1/smart-admin-h5/src/lib/cookie.js new file mode 100644 index 00000000..83386119 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/lib/cookie.js @@ -0,0 +1,21 @@ +import Cookies from 'js-cookie'; +import config from '@/config'; +const { cookieExpires } = config; +export const TOKEN_KEY = 'token'; + +export default { + setToken: token => { + Cookies.set(TOKEN_KEY, token, { + // token在Cookie中存储的天数,默认1天 + expires: cookieExpires || 7 + }); + }, + getToken: () => { + const token = Cookies.get(TOKEN_KEY); + if (token) return token; + else return null; + }, + clearToken: () => { + Cookies.remove(TOKEN_KEY); + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/lib/erp-http.js b/smart_admin_v1/smart-admin-h5/src/lib/erp-http.js new file mode 100644 index 00000000..3f4766f8 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/lib/erp-http.js @@ -0,0 +1,65 @@ +import Axios from 'axios'; +import config from '@/config'; +import cookie from '@/lib/cookie'; +import { Toast } from 'vant'; + +export const baseUrl = config.baseUrl.erpApiUrl; + +const axios = Axios.create({ + baseURL: baseUrl, + timeout: 30000, + headers: { + 'Content-Type': 'application/json; charset=utf-8' + } +}); + +// 添加请求拦截器 +axios.interceptors.request.use( + function(config) { + const token = cookie.getToken(); + if (token) { + config.headers['x-access-token'] = token; + } + return config; + }, + function(error) { + return Promise.reject(error); + } +); + +// 添加响应拦截器 +axios.interceptors.response.use( + res => { + const { data } = res; + if (data && data.code && data.code !== 1) { + if (data.code === 121) { + cookie.clearToken(); + localStorage.clear(); + window.location.href = window.location.pathname + '#/login'; + Toast.fail('未登录,或登录失效,请登录'); + return; + } else if (data.code === 502) { + window.location.href = window.location.pathname + '#/500'; + return; + } else { + Toast.fail(data.msg); + return Promise.reject(res); + } + } + return Promise.resolve(data); + }, + error => { + Toast.fail('服务内部错误'); + return Promise.reject(error); + } +); + +export const postAxios = (url, data, config) => { + return axios.post(url, data, config); +}; + +export const getAxios = (url, data) => { + return axios.get(url, { + params: data + }); +}; diff --git a/smart_admin_v1/smart-admin-h5/src/lib/http.js b/smart_admin_v1/smart-admin-h5/src/lib/http.js new file mode 100644 index 00000000..b4c86937 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/lib/http.js @@ -0,0 +1,65 @@ +import Axios from 'axios'; +import config from '@/config'; +import cookie from '@/lib/cookie'; +import { Toast } from 'vant'; + +export const baseUrl = config.baseUrl.apiUrl; + +const axios = Axios.create({ + baseURL: baseUrl, + timeout: 30000, + headers: { + 'Content-Type': 'application/json; charset=utf-8' + } +}); + +// 添加请求拦截器 +axios.interceptors.request.use( + function(config) { + const token = cookie.getToken(); + if (token) { + config.headers['x-access-token'] = token; + } + return config; + }, + function(error) { + return Promise.reject(error); + } +); + +// 添加响应拦截器 +axios.interceptors.response.use( + res => { + const { data } = res; + if (data && data.code && data.code !== 1) { + if (data.code === 1001) { + cookie.clearToken(); + localStorage.clear(); + window.location.href = window.location.pathname + '#/login'; + Toast.fail('未登录,或登录失效,请登录'); + return; + } else if (data.code === 502) { + window.location.href = window.location.pathname + '#/500'; + return; + } else { + Toast.fail(data.msg); + return Promise.reject(res); + } + } + return Promise.resolve(data); + }, + error => { + Toast.fail('服务内部错误'); + return Promise.reject(error); + } +); + +export const postAxios = (url, data, config) => { + return axios.post(url, data, config); +}; + +export const getAxios = (url, data) => { + return axios.get(url, { + params: data + }); +}; diff --git a/smart_admin_v1/smart-admin-h5/src/lib/local.js b/smart_admin_v1/smart-admin-h5/src/lib/local.js new file mode 100644 index 00000000..c19d7e3d --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/lib/local.js @@ -0,0 +1,8 @@ +export const localSave = (key, value) => { + localStorage.setItem(key, value); +}; + +export const localRead = key => { + return localStorage.getItem(key) || ''; +}; + diff --git a/smart_admin_v1/smart-admin-h5/src/lib/menu-func.js b/smart_admin_v1/smart-admin-h5/src/lib/menu-func.js new file mode 100644 index 00000000..914d5379 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/lib/menu-func.js @@ -0,0 +1,276 @@ +import { forEach, hasOneOf, objEqual } from '@/lib/util'; +import config from '@/config'; +import { localRead, localSave } from '@/lib/local'; +const { title, useI18n } = config; +export const hasChild = item => { + return item.children && item.children.length !== 0; +}; + +/** + * 通过权限过滤菜单 + * @param {Object} map 权限对象 + * @param {Array} menuList 菜单列表 + * @returns {Array} + */ +export const getShowMenu = (map = {}, menuList, access = false) => { + // 判断是否为超级管理员 + if (access) { + return menuList; + } + // 返回的菜单列表 + let result = []; + for (let menuItem of menuList) { + let routerObj = JSON.parse(JSON.stringify(menuItem)); + if ( + map.hasOwnProperty(menuItem.name) && + (menuItem.name !== 'home' && menuItem.name !== '_home') + ) { + // 判断该菜单权限下是否为数组,若为数组,则为功能点权限否则为子菜单 + if (getType(map[routerObj.name]) === 'array') { + let funcPrivilege = localRead('funcPrivilegeInfo') + ? JSON.parse(localRead('funcPrivilegeInfo')) + : {}; + localSave( + 'funcPrivilegeInfo', + JSON.stringify({ + ...funcPrivilege, + [routerObj.name]: map[routerObj.name] + }) + ); + } else if ( + getType(map[routerObj.name]) !== 'array' && + !routerObj.children + ) { + // 判断是否为二级菜单,若是则需要多枚举一层赋值 + let funcPrivilege = localRead('funcPrivilegeInfo') + ? JSON.parse(localRead('funcPrivilegeInfo')) + : {}; + localSave( + 'funcPrivilegeInfo', + JSON.stringify({ + ...funcPrivilege, + [routerObj.name]: map[routerObj.name][routerObj.name] + }) + ); + } else if ( + getType(map[routerObj.name]) !== 'array' && + routerObj.children + ) { + // 循环子菜单权限 + routerObj.children = getShowMenu( + map[routerObj.name], + routerObj.children + ); + } + result.push(routerObj); + } + } + return result; +}; +// 获取数据类型 +export const getType = obj => { + return {}.toString + .call(obj) + .match(/\s([a-zA-Z]+)/)[1] + .toLowerCase(); +}; + +/** + * @description 本地存储和获取标签导航列表 + */ +export const setTagNavListInLocalStorage = list => { + localStorage.tagNaveList = JSON.stringify(list); +}; +/** + * @returns {Array} 其中的每个元素只包含路由原信息中的name, path, meta三项 + */ +export const getTagNavListFromLocalStorage = () => { + const list = localStorage.tagNaveList; + return list ? JSON.parse(list) : []; +}; +export const getBreadCrumbList = (route, homeRoute) => { + let homeItem = { + ...homeRoute, + icon: homeRoute.meta.icon + }; + let routeMatched = route.matched; + if (routeMatched.some(item => item.name === homeRoute.name)) { + return [homeItem]; + } + let res = routeMatched + .filter(item => { + return item.meta === undefined || !item.meta.hideInBread; + }) + .map(item => { + let meta = { + ...item.meta + }; + if (meta.title && typeof meta.title === 'function') { + meta.__titleIsFunction__ = true; + meta.title = meta.title(route); + } + let obj = { + icon: (item.meta && item.meta.icon) || '', + name: item.name, + meta: meta + }; + return obj; + }); + res = res.filter(item => { + return !item.meta.hideInMenu; + }); + return [...res]; +}; +/** + * @param {Array} routers 路由列表数组 + * @description 用于找到路由列表中name为home的对象 + */ +export const getHomeRoute = (routers, homeName = 'Home') => { + let i = -1; + let len = routers.length; + let homeRoute = {}; + while (++i < len) { + let item = routers[i]; + if (item.children && item.children.length) { + let res = getHomeRoute(item.children, homeName); + if (res.name) return res; + } else { + if (item.name === homeName) homeRoute = item; + } + } + return homeRoute; +}; +/** + * @param {Array} list 标签列表 + * @param {String} name 当前关闭的标签的name + */ +export const getNextRoute = (list, route) => { + let res = {}; + if (list.length === 2) { + res = getHomeRoute(list); + } else { + const index = list.findIndex(item => routeEqual(item, route)); + if (index === list.length - 1) res = list[list.length - 2]; + else res = list[index + 1]; + } + return res; +}; + +/** + * 判断打开的标签列表里是否已存在这个新添加的路由对象 + */ +export const routeHasExist = (tagNavList, routeItem) => { + let len = tagNavList.length; + let res = false; + doCustomTimes(len, index => { + if (routeEqual(tagNavList[index], routeItem)) res = true; + }); + return res; +}; +/** + * @param {*} list 现有标签导航列表 + * @param {*} newRoute 新添加的路由原信息对象 + * @description 如果该newRoute已经存在则不再添加 + */ +export const getNewTagList = (list, newRoute) => { + const { name, path, meta, query } = newRoute; + let newList = [...list]; + let index = newList.findIndex(item => item.name === name); + if (index >= 0) { + newList[index] = { name, path, meta, query }; + } else newList.push({ name, path, meta, query }); + return newList; +}; +export const routeEqual = (route1, route2) => { + return route1.name === route2.name; +}; +export const getRouteTitleHandled = route => { + let router = { + ...route + }; + let meta = { + ...route.meta + }; + let title = ''; + if (meta.title) { + if (typeof meta.title === 'function') { + meta.__titleIsFunction__ = true; + title = meta.title(router); + } else title = meta.title; + } + meta.title = title; + router.meta = meta; + return router; +}; +/** + * @param {Number} times 回调函数需要执行的次数 + * @param {Function} callback 回调函数 + */ +export const doCustomTimes = (times, callback) => { + let i = -1; + while (++i < times) { + callback(i); + } +}; +export const showTitle = (item, vm) => { + let { title, __titleIsFunction__ } = item.meta; + if (!title) return; + if (useI18n) { + if (title.includes('{{') && title.includes('}}') && useI18n) { + title = title.replace(/({{[\s\S]+?}})/, (m, str) => + str.replace(/{{([\s\S]*)}}/, (m, _) => vm.$t(_.trim())) + ); + } else if (__titleIsFunction__) title = item.meta.title; + else title = vm.$t(item.name); + } else title = (item.meta && item.meta.title) || item.name; + return title; +}; +/** + * @description 根据当前跳转的路由设置显示在浏览器标签的title + * @param {Object} routeItem 路由对象 + * @param {Object} vm Vue实例 + */ +export const setTitle = (routeItem, vm) => { + const handledRoute = getRouteTitleHandled(routeItem); + const pageTitle = showTitle(handledRoute, vm); + const resTitle = pageTitle ? `${pageTitle} - ${title}` : title; + window.document.title = resTitle; +}; + +export const findNodeUpper = (ele, tag) => { + if (ele.parentNode) { + if (ele.parentNode.tagName === tag.toUpperCase()) { + return ele.parentNode; + } else { + return findNodeUpper(ele.parentNode, tag); + } + } +}; + +export const findNodeUpperByClasses = (ele, classes) => { + let parentNode = ele.parentNode; + if (parentNode) { + let classList = parentNode.classList; + if ( + classList && + classes.every(className => classList.contains(className)) + ) { + return parentNode; + } else { + return findNodeUpperByClasses(parentNode, classes); + } + } +}; + +export const findNodeDownward = (ele, tag) => { + const tagName = tag.toUpperCase(); + if (ele.childNodes.length) { + let i = -1; + let len = ele.childNodes.length; + while (++i < len) { + let child = ele.childNodes[i]; + if (child.tagName === tagName) return child; + else return findNodeDownward(child, tag); + } + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/lib/printPlugs.js b/smart_admin_v1/smart-admin-h5/src/lib/printPlugs.js new file mode 100644 index 00000000..9c4295dd --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/lib/printPlugs.js @@ -0,0 +1,133 @@ +// 打印类属性、方法定义 +/* eslint-disable */ +//第二个参数表明是否要关闭当前窗口 +const Print = function(dom, close, options) { + if (!(this instanceof Print)) return new Print(dom, close, options); + + this.options = this.extend( + { + noPrint: '.no-print' + }, + options + ); + + if (typeof dom === 'string') { + this.dom = document.querySelector(dom); + } else { + this.dom = dom; + } + + this.init(close); +}; +Print.prototype = { + init: function(close) { + var content = this.getStyle() + this.getHtml(); + this.writeIframe(content, close); + }, + extend: function(obj, obj2) { + for (var k in obj2) { + obj[k] = obj2[k]; + } + return obj; + }, + + getStyle: function() { + var str = '', + styles = document.querySelectorAll('style,link'); + for (var i = 0; i < styles.length; i++) { + str += styles[i].outerHTML; + } + str += + ''; + + return str; + }, + + getHtml: function() { + var inputs = document.querySelectorAll('input'); + var textareas = document.querySelectorAll('textarea'); + var selects = document.querySelectorAll('select'); + + for (var k in inputs) { + if (inputs[k].type == 'checkbox' || inputs[k].type == 'radio') { + if (inputs[k].checked == true) { + inputs[k].setAttribute('checked', 'checked'); + } else { + inputs[k].removeAttribute('checked'); + } + } else if (inputs[k].type == 'text') { + inputs[k].setAttribute('value', inputs[k].value); + } + } + + for (var k2 in textareas) { + if (textareas[k2].type == 'textarea') { + textareas[k2].innerHTML = textareas[k2].value; + } + } + + for (var k3 in selects) { + if (selects[k3].type == 'select-one') { + var child = selects[k3].children; + for (var i in child) { + if (child[i].tagName == 'OPTION') { + if (child[i].selected == true) { + child[i].setAttribute('selected', 'selected'); + } else { + child[i].removeAttribute('selected'); + } + } + } + } + } + return this.dom.outerHTML; + }, + + writeIframe: function(content, close) { + var w, + doc, + iframe = document.createElement('iframe'), + f = document.body.appendChild(iframe); + iframe.id = 'myIframe'; + iframe.style = 'position:absolute;'; + + w = f.contentWindow || f.contentDocument; + doc = f.contentDocument || f.contentWindow.document; + doc.open(); + doc.write(content); + doc.close(); + this.toPrint(w, close); + setTimeout(function() { + document.body.removeChild(iframe); + }, 500); + }, + + toPrint: function(frameWindow, close) { + try { + setTimeout(function() { + frameWindow.focus(); + try { + if (!frameWindow.document.execCommand('print', false, null)) { + frameWindow.print(); + } + } catch (e) { + frameWindow.print(); + } + frameWindow.close(); + if (close) { + window.close(); + } + }, 500); + } catch (err) { + console.log('err', err); + } + } +}; +const MyPlugin = {}; +MyPlugin.install = function(Vue, options) { + // 4. 添加实例方法 + Vue.prototype.$print = Print; +}; +export default MyPlugin; diff --git a/smart_admin_v1/smart-admin-h5/src/lib/render-dom.js b/smart_admin_v1/smart-admin-h5/src/lib/render-dom.js new file mode 100644 index 00000000..1cad207e --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/lib/render-dom.js @@ -0,0 +1,10 @@ +export default { + name: 'RenderDom', + functional: true, + props: { + render: Function + }, + render: (h, ctx) => { + return ctx.props.render(h); + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/lib/smart-sentry.js b/smart_admin_v1/smart-admin-h5/src/lib/smart-sentry.js new file mode 100644 index 00000000..2ccd8f0a --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/lib/smart-sentry.js @@ -0,0 +1,21 @@ +/* + * @Description: + * @Author: hanyu + * @Date: 2020-05-28 12:46:06 + * @LastEditTime: 2020-07-08 09:16:15 + * @LastEditors: hy + */ +// smart sentry +import * as Sentry from '@sentry/browser'; +export default { + /** + * sentry 主动上报 + * @param {error} error 错误信息 + */ + captureException: (error) => { + if (error.config && error.data && error && error.headers && error.request && error.status) { + return; + } + Sentry.captureException(error); + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/lib/util.js b/smart_admin_v1/smart-admin-h5/src/lib/util.js new file mode 100644 index 00000000..6a3845b0 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/lib/util.js @@ -0,0 +1,515 @@ +import moment from 'moment'; +/** + * @param {String} url + * @description 从URL中解析参数 + */ +export const getParams = url => { + const keyValueArr = url.split('?')[1].split('&'); + let paramObj = {}; + keyValueArr.forEach(item => { + const keyValue = item.split('='); + paramObj[keyValue[0]] = keyValue[1]; + }); + return paramObj; +}; + +/** + * @param {Any} obj + * @description 获取数据类型 + */ +export const getType = obj => { + return {}.toString + .call(obj) + .match(/\s([a-zA-Z]+)/)[1] + .toLowerCase(); +}; +// 日期格式 +export const dateFormat = { + YMD: 'YMD', + YMDHM: 'YMDHM', + YMDHMS: 'YMDHMS' +}; +export const forEach = (arr, fn) => { + if (!arr.length || !fn) return; + let i = -1; + let len = arr.length; + while (++i < len) { + let item = arr[i]; + fn(item, i, arr); + } +}; + +/** + * @param {Array} arr1 + * @param {Array} arr2 + * @description 得到两个数组的交集, 两个数组的元素为数值或字符串 + */ +export const getIntersection = (arr1, arr2) => { + let len = Math.min(arr1.length, arr2.length); + let i = -1; + let res = []; + while (++i < len) { + const item = arr2[i]; + if (arr1.indexOf(item) > -1) res.push(item); + } + return res; +}; + +/** + * @param {Array} arr1 + * @param {Array} arr2 + * @description 得到两个数组的并集, 两个数组的元素为数值或字符串 + */ +export const getUnion = (arr1, arr2) => { + return Array.from(new Set([...arr1, ...arr2])); +}; + +/** + * @param {Array} target 目标数组 + * @param {Array} arr 需要查询的数组 + * @description 判断要查询的数组是否至少有一个元素包含在目标数组中 + */ +export const hasOneOf = (targetarr, arr) => { + return targetarr.some(_ => arr.indexOf(_) > -1); +}; + +/** + * @param {String|Number} value 要验证的字符串或数值 + * @param {*} validList 用来验证的列表 + */ +export function oneOf (value, validList) { + for (let i = 0; i < validList.length; i++) { + if (value === validList[i]) { + return true; + } + } + return false; +} + +/** + * @param {Number} timeStamp 判断时间戳格式是否是毫秒 + * @returns {Boolean} + */ +const isMillisecond = timeStamp => { + const timeStr = String(timeStamp); + return timeStr.length > 10; +}; + +/** + * @param {Number} timeStamp 传入的时间戳 + * @param {Number} currentTime 当前时间时间戳 + * @returns {Boolean} 传入的时间戳是否早于当前时间戳 + */ +const isEarly = (timeStamp, currentTime) => { + return timeStamp < currentTime; +}; + +/** + * @param {Number} num 数值 + * @returns {String} 处理后的字符串 + * @description 如果传入的数值小于10,即位数只有1位,则在前面补充0 + */ +const getHandledValue = num => { + return num < 10 ? '0' + num : num; +}; + +/** + * @param {Number} timeStamp 传入的时间戳 + * @param {Number} startType 要返回的时间字符串的格式类型,传入'year'则返回年开头的完整时间 + */ +const getDate = (timeStamp, startType) => { + const d = new Date(timeStamp * 1000); + const year = d.getFullYear(); + const month = getHandledValue(d.getMonth() + 1); + const date = getHandledValue(d.getDate()); + const hours = getHandledValue(d.getHours()); + const minutes = getHandledValue(d.getMinutes()); + const second = getHandledValue(d.getSeconds()); + let resStr = ''; + if (startType === 'year') { + resStr = + year + + '-' + + month + + '-' + + date + + ' ' + + hours + + ':' + + minutes + + ':' + + second; + } + else resStr = month + '-' + date + ' ' + hours + ':' + minutes; + return resStr; +}; + +/** + * @param {String|Number} timeStamp 时间戳 + * @returns {String} 相对时间字符串 + */ +export const getRelativeTime = timeStamp => { + // 判断当前传入的时间戳是秒格式还是毫秒 + const IS_MILLISECOND = isMillisecond(timeStamp); + // 如果是毫秒格式则转为秒格式 + if (IS_MILLISECOND) Math.floor((timeStamp /= 1000)); + // 传入的时间戳可以是数值或字符串类型,这里统一转为数值类型 + timeStamp = Number(timeStamp); + // 获取当前时间时间戳 + const currentTime = Math.floor(Date.parse(new Date()) / 1000); + // 判断传入时间戳是否早于当前时间戳 + const IS_EARLY = isEarly(timeStamp, currentTime); + // 获取两个时间戳差值 + let diff = currentTime - timeStamp; + // 如果IS_EARLY为false则差值取反 + if (!IS_EARLY) diff = -diff; + let resStr = ''; + const dirStr = IS_EARLY ? '前' : '后'; + // 少于等于59秒 + if (diff <= 59) resStr = diff + '秒' + dirStr; + // 多于59秒,少于等于59分钟59秒 + else if (diff > 59 && diff <= 3599) { resStr = Math.floor(diff / 60) + '分钟' + dirStr; } + // 多于59分钟59秒,少于等于23小时59分钟59秒 + else if (diff > 3599 && diff <= 86399) { resStr = Math.floor(diff / 3600) + '小时' + dirStr; } + // 多于23小时59分钟59秒,少于等于29天59分钟59秒 + else if (diff > 86399 && diff <= 2623859) { resStr = Math.floor(diff / 86400) + '天' + dirStr; } + // 多于29天59分钟59秒,少于364天23小时59分钟59秒,且传入的时间戳早于当前 + else if (diff > 2623859 && diff <= 31567859 && IS_EARLY) { resStr = getDate(timeStamp); } + else resStr = getDate(timeStamp, 'year'); + return resStr; +}; + +/** + * @returns {String} 当前浏览器名称 + */ +export const getExplorer = () => { + const ua = window.navigator.userAgent; + const isExplorer = exp => { + return ua.indexOf(exp) > -1; + }; + if (isExplorer('MSIE')) return 'IE'; + else if (isExplorer('Firefox')) return 'Firefox'; + else if (isExplorer('Chrome')) return 'Chrome'; + else if (isExplorer('Opera')) return 'Opera'; + else if (isExplorer('Safari')) return 'Safari'; +}; + +/** + * @description 绑定事件 on(element, event, handler) + */ +export const on = (function () { + if (document.addEventListener) { + return function (element, event, handler) { + if (element && event && handler) { + element.addEventListener(event, handler, false); + } + }; + } else { + return function (element, event, handler) { + if (element && event && handler) { + element.attachEvent('on' + event, handler); + } + }; + } +})(); + +/** + * @description 解绑事件 off(element, event, handler) + */ +export const off = (function () { + if (document.removeEventListener) { + return function (element, event, handler) { + if (element && event) { + element.removeEventListener(event, handler, false); + } + }; + } else { + return function (element, event, handler) { + if (element && event) { + element.detachEvent('on' + event, handler); + } + }; + } +})(); + +/** + * 判断一个对象是否存在key,如果传入第二个参数key,则是判断这个obj对象是否存在key这个属性 + * 如果没有传入key这个参数,则判断obj对象是否有键值对 + */ +export const hasKey = (obj, key) => { + if (key) return key in obj; + else { + let keysArr = Object.keys(obj); + return keysArr.length; + } +}; + +/** + * @param {*} obj1 对象 + * @param {*} obj2 对象 + * @description 判断两个对象是否相等,这两个对象的值只能是数字或字符串 + */ +export const objEqual = (obj1, obj2) => { + const keysArr1 = Object.keys(obj1); + const keysArr2 = Object.keys(obj2); + if (keysArr1.length !== keysArr2.length) return false; + else if (keysArr1.length === 0 && keysArr2.length === 0) return true; + /* eslint-disable-next-line */ else { return !keysArr1.some(key => obj1[key] != obj2[key]); } +}; + +// 相关工具类 +export const utils = { + /** + * @description table实现反选 + * @param {Object} vm Vue实例 + * @param {Array} tableSelectDate 选中的数据 + * @param {Array} allData 所有数据 + * @param {Array} key 数据中的唯一值 + */ + reverseSelect (vm, tableSelectDate, allData, key) { + let copyMess = JSON.parse(JSON.stringify(tableSelectDate)); + // 流程:先全部选中->再部分选中 + vm.handleSelectAll(false); + // 选中的idList + let idList = copyMess.map(item => item[key]); + console.log(idList); + for (let item of allData) { + if (idList.every(id => id !== item.id)) { + vm.$set(item, '_checked', true); + tableSelectDate.push(item); + } else { + vm.$set(item, '_checked', false); + } + } + }, + // 校验字符串是否相同 合同使用 + contrastString (originStr, changeStr) { + let origin = originStr + .replace(/\s*/g, '') + .replace(/"/g, '\'') + .replace(/ /g, '') + .replace(/disabled=\/'\/'/g, 'disabled'); + let change = changeStr + .replace(/\s*/g, '') + .replace(/"/g, '\'') + .replace(/ /g, '') + .replace(/disabled=\/'\/'/g, 'disabled'); + return origin === change; + }, + // 获取当前日期getDateStr(0)、前几天getDateStr(-10)、后几天getDateStr(20) + getDateStr (AddDayCount, format) { + let date = new Date(); + // 获取AddDayCount天后的日期 + date.setDate(date.getDate() + AddDayCount); + return this.getDate(date, format); + }, + getDate (date, format) { + let year = date.getFullYear(); + // day获取当前几号,不足10补0 + let day = date.getDate() > 9 ? date.getDate() : '0' + date.getDate(); + // month获取当前月份的日期,不足10补0 + let month = + date.getMonth() + 1 > 9 + ? date.getMonth() + 1 + : '0' + (date.getMonth() + 1); + // h获取当前小时,不足10补0 + let h = date.getHours() > 9 ? date.getHours() : '0' + date.getHours(); + // s获取当前分钟,不足10补0 + let m = date.getMinutes() > 9 ? date.getMinutes() : '0' + date.getMinutes(); + // s获取当前秒数,不足10补0 + let s = date.getSeconds() > 9 ? date.getSeconds() : '0' + date.getSeconds(); + let resultDate = ''; + if (format === dateFormat.YMD) { + resultDate = year + '-' + month + '-' + day; + } + if (format === dateFormat.YMDHM) { + resultDate = year + '-' + month + '-' + day + ' ' + h + ':' + m; + } + if (format === dateFormat.YMDHMS) { + resultDate = year + '-' + month + '-' + day + ' ' + h + ':' + m + ':' + s; + } + return resultDate; + }, + // 获取周一和周日日期,返回两种格式时间 + getDateWeek () { + let now = new Date(); + let nowTime = now.getTime(); + let day = now.getDay(); + let oneDayLong = 1000 * 60 * 60 * 24; + let MondayTime = nowTime - (day - 1) * oneDayLong; + let SundayTime = nowTime + (7 - day) * oneDayLong; + let monday = new Date(MondayTime); + let sunday = new Date(SundayTime); + return { + // first: this.getDateAll(monday), + // last: this.getDateAll(sunday), + firstDate: monday, + lastDate: sunday + }; + }, + // 获取月初与月末日期,返回两种时间格式 + getDateMonth () { + let dateFirter = new Date(); + let dateLast = new Date(); + dateFirter.setDate(1); + + let currentMonth = dateLast.getMonth(); + let nextMonth = ++currentMonth; + let nextMonthFirstDay = new Date(dateLast.getFullYear(), nextMonth, 1); + let oneDay = 1000 * 60 * 60 * 24; + dateLast = new Date(nextMonthFirstDay - oneDay); + + return { + // first: this.getDateAll(dateFirter), + // last: this.getDateAll(dateLast), + firstDate: dateFirter, + lastDate: dateLast + }; + }, + // 计算天数 + getDayBetweenDate (date) { + date = this.getDate(new Date(date), 'YMD'); + let startTime = Date.parse(new Date(date)); // IE支持“yyyy/MM/dd”格式 + let endTime = Date.parse(this.getDate(new Date(), 'YMD')); + let day = parseInt((endTime - startTime) / (1000 * 60 * 60 * 24)); + return day; + }, + getDateIntervalYear (firstDate, secondDate) { + if (!firstDate || !secondDate) { + return 0; + } + let first = new Date(firstDate); + let second = new Date(secondDate); + let firstYear = first.getFullYear(); + let secondYear = second.getFullYear(); + let intervalYear = secondYear - firstYear; + return intervalYear < 0 ? 0 : intervalYear; + }, + getDateIntervalYearFixed2 (firstDate, secondDate) { + if (!firstDate || !secondDate) { + return 0; + } + // 格式化时间 + let startDate = new Date(this.getDate(new Date(firstDate), 'YMD')); + let endDate = new Date(this.getDate(new Date(secondDate), 'YMD')); + // 得到毫秒值 + let startTime = Date.parse(startDate); + let endTime = Date.parse(endDate); + // 得到差了多少天 + let day = parseInt((endTime - startTime) / (1000 * 60 * 60 * 24)); + if (day <= 0) { + return 0; + } + // 得到差的多少年 保留两位小数 + let resultYear = parseFloat((day / (30 * 12)).toFixed(2)); + return resultYear; + }, + // 数字转化为中文大写 + // 代码如下所示: + convertCurrency (money) { + // 汉字的数字 + let cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']; + // 基本单位 + let cnIntRadice = ['', '拾', '佰', '仟']; + // 对应整数部分扩展单位 + let cnIntUnits = ['', '万', '亿', '兆']; + // 对应小数部分单位 + let cnDecUnits = ['角', '分', '毫', '厘']; + // 整数金额时后面跟的字符 + let cnInteger = '整'; + // 整型完以后的单位 + let cnIntLast = '元'; + // 最大处理的数字 + let maxNum = 999999999999999.9999; + // 金额整数部分 + let integerNum; + // 金额小数部分 + let decimalNum; + // 输出的中文金额字符串 + let chineseStr = ''; + // 分离金额后用的数组,预定义 + let parts; + if (money === '') { + return ''; + } + money = parseFloat(money); + if (money >= maxNum) { + // 超出最大处理数字 + return ''; + } + if (money === 0) { + chineseStr = cnNums[0] + cnIntLast + cnInteger; + return chineseStr; + } + // 转换为字符串 + money = money.toString(); + if (money.indexOf('.') === -1) { + integerNum = money; + decimalNum = ''; + } else { + parts = money.split('.'); + integerNum = parts[0]; + decimalNum = parts[1].substr(0, 4); + } + // 获取整型部分转换 + if (parseInt(integerNum, 10) > 0) { + let zeroCount = 0; + let IntLen = integerNum.length; + for (let i = 0; i < IntLen; i++) { + let n = integerNum.substr(i, 1); + let p = IntLen - i - 1; + let q = p / 4; + let m = p % 4; + if (n === '0') { + zeroCount++; + } else { + if (zeroCount > 0) { + chineseStr += cnNums[0]; + } + // 归零 + zeroCount = 0; + chineseStr += cnNums[parseInt(n)] + cnIntRadice[m]; + } + if (m === 0 && zeroCount < 4) { + chineseStr += cnIntUnits[q]; + } + } + chineseStr += cnIntLast; + } + // 小数部分 + if (decimalNum !== '') { + let decLen = decimalNum.length; + for (let i = 0; i < decLen; i++) { + let n = decimalNum.substr(i, 1); + if (n !== '0') { + chineseStr += cnNums[Number(n)] + cnDecUnits[i]; + } + } + } + if (chineseStr === '') { + chineseStr += cnNums[0] + cnIntLast + cnInteger; + } else if (decimalNum === '') { + chineseStr += cnInteger; + } + return chineseStr; + } +}; + + +export const dateTimeRangeConvert = (timerange) => { + // timerange + let arr = []; + if (timerange[0] === '') { + arr.push(null); + } else { + arr.push(moment(timerange[0]).format("YYYY-MM-DD 00:00:00")); + } + + if (timerange[1] === '') { + arr.push(null); + } else { + arr.push(moment(timerange[1]).format("YYYY-MM-DD 23:59:59")); + } + return arr; +} + diff --git a/smart_admin_v1/smart-admin-h5/src/lib/watermark.js b/smart_admin_v1/smart-admin-h5/src/lib/watermark.js new file mode 100644 index 00000000..30747309 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/lib/watermark.js @@ -0,0 +1,49 @@ +const watermark = {}; + +const setWatermark = (str) => { + const id = '1.23452384164.123412415'; + + if (document.getElementById(id) !== null) { + document.body.removeChild(document.getElementById(id)); + } + + const can = document.createElement('canvas'); + can.width = 150; + can.height = 120; + + const cans = can.getContext('2d'); + cans.rotate(-20 * Math.PI / 180); + cans.font = '15px Vedana'; + cans.fillStyle = 'rgba(0, 0, 0, 0.15)'; + cans.textAlign = 'left'; + cans.textBaseline = 'Middle'; + cans.fillText(str, can.width / 20, can.height); + + const div = document.createElement('div'); + div.id = id; + div.style.pointerEvents = 'none'; + div.style.top = '3px'; + div.style.left = '0px'; + div.style.position = 'fixed'; + div.style.zIndex = '100000'; + div.style.width = document.documentElement.clientWidth + 'px'; + div.style.height = document.documentElement.clientHeight + 'px'; + div.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat'; + document.body.appendChild(div); + return id; +}; + +// 该方法只允许调用一次 +watermark.set = (str) => { + let id = setWatermark(str); + setInterval(() => { + if (document.getElementById(id) === null) { + id = setWatermark(str); + } + }, 2000); + window.onresize = () => { + setWatermark(str); + }; +}; + +export default watermark; diff --git a/smart_admin_v1/smart-admin-h5/src/main.js b/smart_admin_v1/smart-admin-h5/src/main.js new file mode 100644 index 00000000..887c9198 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/main.js @@ -0,0 +1,62 @@ +// vue 三大核心 +import Vue from 'vue'; +import router from '@/router'; +import store from '@/store'; + +// 更好的兼容性 +import 'core-js/stable'; +import 'regenerator-runtime/runtime'; +// 移动端适配 +import 'lib-flexible/flexible.js'; +import 'vant/lib/index.css'; +// 引入首个组件 +import App from './App.vue'; +// 引入自定义主题样式 +import './themes/index.scss'; +// 引入过滤器 +import './filters'; +// 引入配置信息 +import config from '@/config'; +// 引入自定义smart 插件 +import SmartPlugin from './plugins/smart'; +// Import component +import Loading from 'vue-loading-overlay'; +// Import stylesheet +import 'vue-loading-overlay/dist/vue-loading.css'; + +import Vant from 'vant'; +import 'vant/lib/index.css'; + +// sentry错误预警 +import SmartSentry from './plugins/smart-sentry'; + +import Enum from 'vue-enum'; + +import enumInfo from '@/constants'; + +import _ from 'lodash'; + +Vue.use(Vant); + +Vue.use(Loading); + +Vue.use(SmartPlugin); + +Vue.use(SmartSentry); + +Vue.prototype.$config = config; + +Vue.config.productionTip = false; + +Vue.use(Enum, { + enumInfo +}); + +window._ = _; + +new Vue({ + el: '#app', + router, + store, + render: h => h(App) +}); diff --git a/smart_admin_v1/smart-admin-h5/src/plugins/smart-sentry.js b/smart_admin_v1/smart-admin-h5/src/plugins/smart-sentry.js new file mode 100644 index 00000000..b4ad2b09 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/plugins/smart-sentry.js @@ -0,0 +1,17 @@ +import * as Sentry from '@sentry/browser'; + +const SmartSentry = {}; + +SmartSentry.install = function(Vue, options) { + Vue.prototype.$smartSentry = { + captureException: (error) => { + console.error(error); + if (error.config && error.data && error && error.headers && error.request && error.status) { + return; + } + Sentry.captureException(error); + } + }; +}; + +export default SmartSentry; diff --git a/smart_admin_v1/smart-admin-h5/src/plugins/smart.js b/smart_admin_v1/smart-admin-h5/src/plugins/smart.js new file mode 100644 index 00000000..5567acca --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/plugins/smart.js @@ -0,0 +1,24 @@ +let loader = null; + +const SmartPlugin = {}; + +SmartPlugin.install = function(Vue, options) { + Vue.prototype.$smart = { + loading: (message) => { + if (loader) { + loader.hide(); + } + + loader = Vue.$loading.show({ + // Optional parameters + lockScroll: true, + color: '#1989fa' + }); + }, + loadingClear: () => { + loader.hide(); + } + }; +}; + +export default SmartPlugin; diff --git a/smart_admin_v1/smart-admin-h5/src/plugins/vant.js b/smart_admin_v1/smart-admin-h5/src/plugins/vant.js new file mode 100644 index 00000000..8daa8e3e --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/plugins/vant.js @@ -0,0 +1,8 @@ +// 按需全局引入 vant组件 +import Vue from 'vue'; +import { Button, List, Cell, Tabbar, TabbarItem } from 'vant'; + +Vue.use(Button); +Vue.use(Cell); +Vue.use(List); +Vue.use(Tabbar).use(TabbarItem); diff --git a/smart_admin_v1/smart-admin-h5/src/router/dashboard/index.js b/smart_admin_v1/smart-admin-h5/src/router/dashboard/index.js new file mode 100644 index 00000000..69506bbe --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/router/dashboard/index.js @@ -0,0 +1,42 @@ +import { ROUTER_PERMISSION_TYPE } from '@/router/router-const'; + +/** + * dashboard首页 + */ +export const dashboardRouter = [ + { + path: '/', + // redirect: '/dashboard/contact-company', + redirect: '/dashboard/user', + meta: { + title: '首页', + keepAlive: true, + permissionType: ROUTER_PERMISSION_TYPE.NEED_LOGIN.value + }, + component: () => import('@/views/dashboard/dashboard'), + children: [ + // { + // path: '/dashboard/contact-company', + // name: 'ContactCompany', + // meta: { + // title: '往来单位', + // keepAlive: true, + // showTabbar: true, + // permissionType: ROUTER_PERMISSION_TYPE.NEED_LOGIN.value + // }, + // component: () => import('@/views/erp/contact-company/contact-company') + // }, + { + path: '/dashboard/user', + name: 'Mine', + meta: { + title: '我的', + keepAlive: false, + showTabbar: true, + permissionType: ROUTER_PERMISSION_TYPE.NEED_LOGIN.value + }, + component: () => import('@/views/user/index') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-h5/src/router/develop/develop.js b/smart_admin_v1/smart-admin-h5/src/router/develop/develop.js new file mode 100644 index 00000000..a3220405 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/router/develop/develop.js @@ -0,0 +1,21 @@ +import { ROUTER_PERMISSION_TYPE } from '@/router/router-const'; + +export const developRouter = [ + { + path: '/develop', + component: () => import('@/views/dashboard/dashboard'), + children: [ + { + path: '/develop/config', + name: 'DevelopConfig', + meta: { + title: '开发专用配置', + permissionType: ROUTER_PERMISSION_TYPE.NEED_LOGIN.value + }, + component: () => import('views/develop/config') + } + ] + } + +]; + diff --git a/smart_admin_v1/smart-admin-h5/src/router/error/error.js b/smart_admin_v1/smart-admin-h5/src/router/error/error.js new file mode 100644 index 00000000..982c0f96 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/router/error/error.js @@ -0,0 +1,26 @@ +// 错误页 +import { ROUTER_PERMISSION_TYPE } from '@/router/router-const'; + +export const errorRouter = [ + { + path: '/404', + name: 'Error404', + meta: { + hideInMenu: true, + access: true, + permissionType: ROUTER_PERMISSION_TYPE.NO_VALID.value + }, + component: () => import('views/error/404.vue') + }, + { + path: '/500', + name: 'Error500', + meta: { + hideInMenu: true, + access: true, + noValidatePrivilege: true, + permissionType: ROUTER_PERMISSION_TYPE.NO_VALID.value + }, + component: () => import('views/error/404.vue') + } +]; diff --git a/smart_admin_v1/smart-admin-h5/src/router/index.js b/smart_admin_v1/smart-admin-h5/src/router/index.js new file mode 100644 index 00000000..c47e1a4a --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/router/index.js @@ -0,0 +1,150 @@ +import Vue from 'vue'; +import Router from 'vue-router'; +import { routers } from './routers'; +import cookie from '@/lib/cookie'; +import { ROUTER_PERMISSION_TYPE } from './router-const'; +import NProgress from 'nprogress'; +import 'nprogress/nprogress.css'; + +const projectConfig = require('@/config/index.js'); + +Vue.use(Router); + +/** + * 导入所有的router + * @type {VueRouter} + */ +const router = new Router({ + routes: routers +}); + +// 解决路由跳转相同的地址报错 +const originalPush = Router.prototype.push; +Router.prototype.push = function(location) { + try { + return originalPush.call(this, location).catch(err => err); + } catch (error) { + // TODO zhuoda sentry + console.error(error); + } +}; + +const LOGIN_PAGE_NAME = 'Login'; + +// --------------------- router 守卫 begin --------------------- + +router.beforeEach((to, from, next) => { + // 加载进度条 + NProgress.start(); + + // 权限 + const permissionType = to.meta.permissionType; + // 不需要验证,直接放行 + if (permissionType === ROUTER_PERMISSION_TYPE.NO_VALID.value) { + next(); + return; + } + + const token = cookie.getToken(); + // 需要登录 + if (permissionType === ROUTER_PERMISSION_TYPE.NEED_LOGIN.value) { + if (token) { + next(); + } else { + next({ + name: LOGIN_PAGE_NAME + }); + } + return; + } + + // 需要登录,且验证权限 + if (permissionType === ROUTER_PERMISSION_TYPE.VALIDATE_PERMISSION.value) { + if (!token) { + // TODO 验证权限 + next({ + name: LOGIN_PAGE_NAME + }); + return; + } + } + + next({ + name: 'Error404' + }); +}); + +router.afterEach(to => { + NProgress.done(); + window.scrollTo(0, 0); + if (to.meta.title) { + console.log(to.meta); + document.title = to.meta.title + ' ' + projectConfig.title; + } +}); + +// --------------------- router 守卫 end --------------------- + +/** + * router 检测 + * + * 如果存在相同的 path 或者 name 是一件非常恐怖的事情,所以在develop环境将所有router进行一次遍历
+ * 检测内容如下:
+ * 1、相同的router name + * 2、相同的router name + * 3、path没有以 / 开头 + * + */ + +const tempCheckObj = { + checkRouterNameMap: new Map(), + checkRouterPathMap: new Map() +}; + +function recursionCheckRouter(routerArray) { + for (const routerItem of routerArray) { + if (!routerItem.name) { + console.error('没有配置router name', routerItem); + } else { + const existNameRouter = tempCheckObj.checkRouterNameMap.get( + routerItem.name + ); + if (typeof existNameRouter !== 'undefined') { + console.error('存在相同的router name', routerItem, existNameRouter); + } else { + tempCheckObj.checkRouterNameMap.set(routerItem.name, routerItem); + } + } + + if (!routerItem.path) { + console.error('没有配置router path', routerItem); + } else { + // path必须以 / 开头 + if (routerItem.path !== '*' && routerItem.path.indexOf('/') !== 0) { + console.error('path 没有以/开头 ', routerItem); + } + + const existPathRouter = tempCheckObj.checkRouterPathMap.get( + routerItem.path + ); + if (typeof existPathRouter !== 'undefined') { + console.error('存在相同的router path', routerItem, existPathRouter); + } else { + tempCheckObj.checkRouterPathMap.set(routerItem.path, routerItem); + } + } + + if (routerItem.children) { + recursionCheckRouter(routerItem.children); + } + } +} + +// 如果是开发环境,需要检测router的规范性 +if (process.env.NODE_ENV === 'development') { + recursionCheckRouter(routers); + delete tempCheckObj.checkRouterNameMap; + delete tempCheckObj.checkRouterPathMap; +} + +export default router; diff --git a/smart_admin_v1/smart-admin-h5/src/router/login/login.js b/smart_admin_v1/smart-admin-h5/src/router/login/login.js new file mode 100644 index 00000000..7c9b6a53 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/router/login/login.js @@ -0,0 +1,15 @@ +import { ROUTER_PERMISSION_TYPE } from '@/router/router-const'; + +export const loginRouter = [ + { + path: '/login', + name: 'Login', + meta: { + title: '登录', + keepAlive: false, + permissionType: ROUTER_PERMISSION_TYPE.NO_VALID.value + }, + component: () => import('@/views/login/login.vue') + } + +]; diff --git a/smart_admin_v1/smart-admin-h5/src/router/router-const.js b/smart_admin_v1/smart-admin-h5/src/router/router-const.js new file mode 100644 index 00000000..4d509cf8 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/router/router-const.js @@ -0,0 +1,23 @@ +/** + * 权限类型 + */ +export const ROUTER_PERMISSION_TYPE = { + /** + * 不 验 证 + */ + NO_VALID: { + value: 1 + }, + /** + * 需要登录 + */ + NEED_LOGIN: { + value: 2 + }, + /** + * 需要验证权限 + */ + VALIDATE_PERMISSION: { + value: 3 + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/router/routers.js b/smart_admin_v1/smart-admin-h5/src/router/routers.js new file mode 100644 index 00000000..e1c106e9 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/router/routers.js @@ -0,0 +1,32 @@ +// 全局错误页面 +import { errorRouter } from './error/error'; +// 登录注册模块 +import { loginRouter } from './login/login'; +// tabbar dashboard 框架页面 +import { dashboardRouter } from './dashboard'; +// 用户相关 +import { userRouter } from './user/user'; +// 开发相关 +import { developRouter } from './develop/develop'; + +/** + * router meta 说明:
+ * + * title: 为页面的title,会显示到浏览器的title上 + * permissionType: 具体使用 router-const.js中的 ROUTER_PERMISSION_TYPE 常量;情况有: 1)不验证 2)校验登录 3)登录后校验权限 + * keepAlive: true or false ; 是否进行页面keepalive, 如果想删除keepalive,可以使用vuex中的app module里有mutation + * showTabbar: true or false ; 是否展示 tabbar, 如果是true, 则会展示tabbar + * + */ +export const routers = [ + // 登录、注册 + ...loginRouter, + // 404、500、403等 + ...errorRouter, + // tab bar 页面 + ...dashboardRouter, + // 用户 + ...userRouter, + // 开发相关 + ...developRouter +]; diff --git a/smart_admin_v1/smart-admin-h5/src/router/user/user.js b/smart_admin_v1/smart-admin-h5/src/router/user/user.js new file mode 100644 index 00000000..901e5708 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/router/user/user.js @@ -0,0 +1,21 @@ +import { ROUTER_PERMISSION_TYPE } from '@/router/router-const'; + +export const userRouter = [ + { + path: '/user', + component: () => import('@/views/dashboard/dashboard'), + children: [ + { + path: '/user/change-password', + name: 'UserChangePassword', + meta: { + title: '修改密码', + permissionType: ROUTER_PERMISSION_TYPE.NEED_LOGIN.value + }, + component: () => + import('views/user/change-password') + } + ] + } +]; + diff --git a/smart_admin_v1/smart-admin-h5/src/store/index.js b/smart_admin_v1/smart-admin-h5/src/store/index.js new file mode 100644 index 00000000..11c4962b --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/store/index.js @@ -0,0 +1,23 @@ +import Vue from 'vue'; +import Vuex from 'vuex'; + +import user from './module/user'; +import app from './module/app'; + +Vue.use(Vuex); + +export default new Vuex.Store({ + state: { + // + }, + mutations: { + // + }, + actions: { + // + }, + modules: { + app, + user + } +}); diff --git a/smart_admin_v1/smart-admin-h5/src/store/module/app.js b/smart_admin_v1/smart-admin-h5/src/store/module/app.js new file mode 100644 index 00000000..486defe1 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/store/module/app.js @@ -0,0 +1,32 @@ +/** + * 整个应用相关的状态信息 + * + * 比如: keepalive等 + */ +export default { + namespaced: true, + state: { + // 缓存路由 + keepAliveIncludes: [] + }, + + mutations: { + // 加入keep-alive缓存 + pushKeepAliveIncludes(state, val) { + if (state.keepAliveIncludes.length < 30) { + const number = state.keepAliveIncludes.findIndex(e => e === val); + if (number === -1) { + state.keepAliveIncludes.push(val); + } + } + }, + // 删除缓存 + deleteKeepAliveIncludes(state, val) { + const number = state.keepAliveIncludes.findIndex(e => e === val); + if (number !== -1) { + state.keepAliveIncludes.splice(number, 1); + } + } + } + +}; diff --git a/smart_admin_v1/smart-admin-h5/src/store/module/user.js b/smart_admin_v1/smart-admin-h5/src/store/module/user.js new file mode 100644 index 00000000..5f64b72e --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/store/module/user.js @@ -0,0 +1,41 @@ +import cookie from '@/lib/cookie.js'; + +export default { + namespaced: true, + state: { + token: cookie.getToken(), + // session 信息 + sessionInfo: {}, + // 是否获取了session + isHaveGotSessionInfo: false, + // 权限集合 + privilegeKeySet: new Set() + + }, + mutations: { + clearSession() { + state.token = null; + state.sessionInfo = null; + state.privilegeKeySet = new Set(); + }, + updateSession(state, userLoginInfo) { + state.isHaveGotSessionInfo = true; + state.sessionInfo = userLoginInfo; + if (userLoginInfo.privilegeList) { + state.privilegeKeySet = new Set(userLoginInfo.privilegeList.map(e => e.key)); + } + } + }, + getters: { + // 用户菜单权限 + privilegeKeySet: state => state.privilegeKeySet, + isSuperMan: state => state.sessionInfo.isSuperMan, + actualName: state => state.sessionInfo.actualName, + loginUserId: state => state.sessionInfo.id + }, + actions: { + // 登录 + handleLogin({ commit }, params) { + } + } +}; diff --git a/smart_admin_v1/smart-admin-h5/src/themes/index.scss b/smart_admin_v1/smart-admin-h5/src/themes/index.scss new file mode 100644 index 00000000..b540e422 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/themes/index.scss @@ -0,0 +1,6 @@ + +html, +body { + font-family: Arial, Helvetica, 'STHeiti STXihei', 'Microsoft YaHei', Tohoma, sans-serif; + background-color: $background-color; +} diff --git a/smart_admin_v1/smart-admin-h5/src/utils/index.js b/smart_admin_v1/smart-admin-h5/src/utils/index.js new file mode 100644 index 00000000..37d915fc --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/utils/index.js @@ -0,0 +1,110 @@ +/** + * Created by PanJiaChen on 16/11/18. + */ + +/** + * Parse the time to string + * @param {(Object|string|number)} time + * @param {string} cFormat + * @returns {string} + */ +export function parseTime(time, cFormat) { + if (arguments.length === 0) { + return null + } + const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) { + time = parseInt(time) + } + if ((typeof time === 'number') && (time.toString().length === 10)) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + } + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { + let value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] } + if (result.length > 0 && value < 10) { + value = '0' + value + } + return value || 0 + }) + return time_str +} + +/** + * @param {number} time + * @param {string} option + * @returns {string} + */ +export function formatTime(time, option) { + if (('' + time).length === 10) { + time = parseInt(time) * 1000 + } else { + time = +time + } + const d = new Date(time) + const now = Date.now() + + const diff = (now - d) / 1000 + + if (diff < 30) { + return '刚刚' + } else if (diff < 3600) { + // less 1 hour + return Math.ceil(diff / 60) + '分钟前' + } else if (diff < 3600 * 24) { + return Math.ceil(diff / 3600) + '小时前' + } else if (diff < 3600 * 24 * 2) { + return '1天前' + } + if (option) { + return parseTime(time, option) + } else { + return ( + d.getMonth() + + 1 + + '月' + + d.getDate() + + '日' + + d.getHours() + + '时' + + d.getMinutes() + + '分' + ) + } +} + +/** + * @param {string} url + * @returns {Object} + */ +export function param2Obj(url) { + const search = url.split('?')[1] + if (!search) { + return {} + } + return JSON.parse( + '{"' + + decodeURIComponent(search) + .replace(/"/g, '\\"') + .replace(/&/g, '","') + .replace(/=/g, '":"') + .replace(/\+/g, ' ') + + '"}' + ) +} diff --git a/smart_admin_v1/smart-admin-h5/src/utils/request.js b/smart_admin_v1/smart-admin-h5/src/utils/request.js new file mode 100644 index 00000000..6788f91b --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/utils/request.js @@ -0,0 +1,58 @@ +import axios from 'axios' +import store from '@/store' +import { Toast } from 'vant' +// 根据环境不同引入不同api地址 +import { baseApi } from '@/config' +// create an axios instance +const service = axios.create({ + baseURL: baseApi, // url = base api url + request url + withCredentials: true, // send cookies when cross-domain requests + timeout: 5000 // request timeout +}) + +// request拦截器 request interceptor +service.interceptors.request.use( + config => { + // 不传递默认开启loading + if (!config.hideloading) { + // loading + Toast.loading({ + forbidClick: true + }) + } + if (store.getters.token) { + config.headers['X-Token'] = '' + } + return config + }, + error => { + // do something with request error + console.log(error) // for debug + return Promise.reject(error) + } +) +// respone拦截器 +service.interceptors.response.use( + response => { + Toast.clear() + const res = response.data + if (res.status && res.status !== 200) { + // 登录超时,重新登录 + if (res.status === 401) { + store.dispatch('FedLogOut').then(() => { + location.reload() + }) + } + return Promise.reject(res || 'error') + } else { + return Promise.resolve(res) + } + }, + error => { + Toast.clear() + console.log('err' + error) // for debug + return Promise.reject(error) + } +) + +export default service diff --git a/smart_admin_v1/smart-admin-h5/src/utils/validate.js b/smart_admin_v1/smart-admin-h5/src/utils/validate.js new file mode 100644 index 00000000..e9bd1bab --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/utils/validate.js @@ -0,0 +1,20 @@ +/** + * Created by Sunnie on 19/06/04. + */ + +/** + * @param {string} path + * @returns {Boolean} + */ +export function isExternal(path) { + return /^(https?:|mailto:|tel:)/.test(path) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUsername(str) { + const valid_map = ['admin', 'editor'] + return valid_map.indexOf(str.trim()) >= 0 +} diff --git a/smart_admin_v1/smart-admin-h5/src/views/dashboard/dashboard.vue b/smart_admin_v1/smart-admin-h5/src/views/dashboard/dashboard.vue new file mode 100644 index 00000000..47b1ab24 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/views/dashboard/dashboard.vue @@ -0,0 +1,99 @@ + + + + diff --git a/smart_admin_v1/smart-admin-h5/src/views/develop/config.vue b/smart_admin_v1/smart-admin-h5/src/views/develop/config.vue new file mode 100644 index 00000000..18b2ec08 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/views/develop/config.vue @@ -0,0 +1,47 @@ + + + + diff --git a/smart_admin_v1/smart-admin-h5/src/views/error/404.vue b/smart_admin_v1/smart-admin-h5/src/views/error/404.vue new file mode 100644 index 00000000..66168409 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/views/error/404.vue @@ -0,0 +1,23 @@ + + + + diff --git a/smart_admin_v1/smart-admin-h5/src/views/login/login.vue b/smart_admin_v1/smart-admin-h5/src/views/login/login.vue new file mode 100644 index 00000000..8fd8806f --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/views/login/login.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-h5/src/views/user/change-password.vue b/smart_admin_v1/smart-admin-h5/src/views/user/change-password.vue new file mode 100644 index 00000000..08f4c4e8 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/views/user/change-password.vue @@ -0,0 +1,76 @@ + + + + diff --git a/smart_admin_v1/smart-admin-h5/src/views/user/index.vue b/smart_admin_v1/smart-admin-h5/src/views/user/index.vue new file mode 100644 index 00000000..be177fff --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/src/views/user/index.vue @@ -0,0 +1,79 @@ + + + + diff --git a/smart_admin_v1/smart-admin-h5/vue.config.js b/smart_admin_v1/smart-admin-h5/vue.config.js new file mode 100644 index 00000000..a31f3a23 --- /dev/null +++ b/smart_admin_v1/smart-admin-h5/vue.config.js @@ -0,0 +1,200 @@ +const path = require('path'); +const CompressionWebpackPlugin = require('compression-webpack-plugin'); +const UglifyjsWebpackPlugin = require('uglifyjs-webpack-plugin'); +const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); +const ScriptExtHtmlWebpackPlugin = require('script-ext-html-webpack-plugin'); +const SentryPlugin = require('@sentry/webpack-plugin'); +const resolve = dir => path.join(__dirname, dir); +// 项目配置 +const projectConfig = require('./src/config/index.js'); + +// 生产环境,测试和正式 +const isProductionEnv = ['production'].includes(process.env.NODE_ENV); +const isProductionAppEnv = ['prod', 'pre'].includes(process.env.VUE_APP_ENV); + +module.exports = { + publicPath: projectConfig.publicPath, + // 生产环境构建文件的目录 + outputDir: 'dist', + // outputDir的静态资源(js、css、img、fonts)目录 + assetsDir: 'static', + // eslint检测 按需开启 + lintOnSave: !isProductionEnv, + // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。 + productionSourceMap: false, + devServer: { + // 设置主机地址 + host: '0.0.0.0', + // 设置默认端口 + port: 8090, + // 禁用host验证 + disableHostCheck: true, + // 启动后打开浏览器 + open: true, + overlay: { + // 当出现编译器错误或警告时,在浏览器中显示全屏覆盖层 + warnings: false, + errors: true + } + // proxy: { + // //配置跨域 + // '/api': { + // // 接口前缀 + // target: "https://sit.smart-h5.1024lab.net/api", + // // ws:true, + // changOrigin:true, + // // 改写规则,把/api 替换为/ + // pathRewrite:{ + // '^/api':'/' + // } + // } + // } + }, + css: { + // 是否使用css分离插件 ExtractTextPlugin 是否将组件中的 CSS 提取至一个独立的 CSS 文件中 (而不是动态注入到 JavaScript 中的 inline 代码)。 + extract: isProductionEnv, + // 开启 CSS source maps + sourceMap: false, + // 使用vw布局去掉这个 + requireModuleExtension: true, + loaderOptions: { + // 引入全局变量 + scss: { + additionalData: `@import "@/assets/css/index";` // 全局引入 + } + } + }, + configureWebpack: config => { + config.name = projectConfig.title; + }, + + chainWebpack: config => { + // 移除资源预加载(路由懒加载才能正常使用) + config.plugins.delete('preload'); + config.plugins.delete('prefetch'); + + // 别名 alias + config.resolve.alias + .set('@', resolve('src')) + .set('assets', resolve('src/assets')) + .set('api', resolve('src/api')) + .set('views', resolve('src/views')) + .set('components', resolve('src/components')); + + // 应用名字 + config.plugin('html').tap(args => { + args[0].title = projectConfig.title; + return args; + }); + + // 设置保留空格 + config.module + .rule('vue') + .use('vue-loader') + .loader('vue-loader') + .tap(options => { + options.compilerOptions.preserveWhitespace = true; + return options; + }) + .end(); + + // ==================== 生产环境配置 begin ==================== + if (isProductionEnv) { + // 打包分析 + config.plugin('webpack-report').use(BundleAnalyzerPlugin, [ + { + analyzerMode: 'static' + } + ]); + // 不显示源码 + config.devtool('cheap-source-map'); + + // cdn + config.plugin('html').tap(args => { + args[0].cdn = projectConfig.cdn.cdnResource; + // 压缩html中的css + args[0].minify.minifyCSS = true; + return args; + }); + // 指定资源加载cdn + config.externals(projectConfig.cdn.externals); + + // 开启gzip , Nginx上也需要配置gzip才会生效 + config + .plugin('compression') + .use(CompressionWebpackPlugin) + .tap(() => [ + { + // 压缩 js 与 css + test: new RegExp( + '\\.(js|css)$' + ), + // 资源文件大于10240B=10kB时会被压缩 + threshold: 10240, + // 最小压缩比达到0.8时才会被压缩 + minRatio: 0.8 + } + ]); + + // sentry + if (isProductionAppEnv) { + config.plugin('sentry').use(SentryPlugin, [{ + ignore: ['node_modules'], + include: './dist', // 上传dist文件的js + configFile: './.sentryclirc' // 配置文件地址 + }]); + } + + config.optimization.minimizer = [ + new UglifyjsWebpackPlugin({ + // 生产环境推荐关闭 sourcemap 防止源码泄漏 + // 服务端通过前端发送的行列,根据 sourcemap 转为源文件位置 + sourceMap: false, + uglifyOptions: { + warnings: false, + compress: { + drop_console: true, + drop_debugger: true + } + } + }) + ]; + + config + .plugin('ScriptExtHtmlWebpackPlugin') + .after('html') + .use(ScriptExtHtmlWebpackPlugin, [ + { + // 将 runtime 作为内联引入不单独存在 + inline: /runtime\..*\.js$/ + } + ]) + .end(); + + config.optimization.splitChunks({ + chunks: 'all', + cacheGroups: { + commons: { + name: 'chunk-commons', + test: resolve('src/components'), + minChunks: 3, // 模块至少使用次数 + priority: 5, + reuseExistingChunk: true // 模块嵌套引入时,判断是否复用已经被打包的模块 + }, + node_vendors: { + name: 'chunk-libs', + chunks: 'initial', + test: /[\\/]node_modules[\\/]/, + priority: 10 + }, + vantUI: { + name: 'chunk-vantUI', + priority: 20, + test: /[\\/]node_modules[\\/]_?vant(.*)/ + } + } + }); + } + // ==================== 生产环境配置 end ==================== + } +}; diff --git a/smart_admin_v1/smart-admin-service/.gitignore b/smart_admin_v1/smart-admin-service/.gitignore new file mode 100644 index 00000000..a2a3040a --- /dev/null +++ b/smart_admin_v1/smart-admin-service/.gitignore @@ -0,0 +1,31 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/** +!**/src/test/** + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ + +### VS Code ### +.vscode/ diff --git a/smart_admin_v1/smart-admin-service/README.md b/smart_admin_v1/smart-admin-service/README.md new file mode 100644 index 00000000..19273c14 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/README.md @@ -0,0 +1,17 @@ +### 部署说明 + +#### 下载代码 + +smart-admin-service + +将两个项目导入idea + +#### 创建数据库 + +先执行:src/main/resources/sql/smart-admin.sql + +再执行:src/main/resources/sql/quartz_mysql_2.3.0.sql + +#### 启动 + +运行 smart-admin-api项目 SmartAdminApplication类 diff --git a/smart_admin_v1/smart-admin-service/pom.xml b/smart_admin_v1/smart-admin-service/pom.xml new file mode 100644 index 00000000..39a6f3ce --- /dev/null +++ b/smart_admin_v1/smart-admin-service/pom.xml @@ -0,0 +1,349 @@ + + + 4.0.0 + + net.1024lab + smart-admin-service-parent + 1.0.0 + pom + + + smart-admin-api + + + + UTF-8 + UTF-8 + 1.8 + 3.1.1 + 2.10.0 + 2.2.5.RELEASE + 1.7 + 2.0 + 2.7.0 + 2.0.4 + 3.3.1 + 1.2.73 + 28.2-jre + 2.7.0 + [7.2.0, 7.2.99] + 0.9.1 + 1.1.21 + 3.9.1 + 1.4.2 + 4.1.2 + 1.3.1 + 3.3.2 + 1.9.3 + 2.8.0 + 2.3.2 + 4.2.2 + 8.0.19 + 1.21 + 1.18.8 + + + + + + + org.springframework.boot + spring-boot-dependencies + ${smartadmin.springboot.version} + pom + import + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus-boot.version} + + + + + velocity + org.apache.velocity + ${velocity.version} + + + org.apache.velocity + velocity-engine-core + ${velocity-engine-core.version} + + + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + com.alibaba + druid + ${druid.version} + + + + + p6spy + p6spy + ${p6spy.version} + + + + + io.springfox + springfox-swagger2 + ${swagger.version} + + + io.springfox + springfox-swagger-ui + ${swagger.version} + + + + + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j.version} + + + + + + com.google.guava + guava + ${guava.version} + + + + + com.aliyun.oss + aliyun-sdk-oss + ${aliyun-oss.version} + + + com.qiniu + qiniu-java-sdk + ${qiniu-oss.version} + + + commons-fileupload + commons-fileupload + ${commons-fileupload.version} + + + + + + io.jsonwebtoken + jjwt + ${jjwt.version} + + + + + cn.afterturn + easypoi-spring-boot-starter + ${easypoi.version} + + + + + + mysql + mysql-connector-java + ${mysql.version} + + + + commons-beanutils + commons-beanutils + ${commons-beanutils.version} + + + + org.apache.commons + commons-pool2 + ${commons-pool2.version} + + + + com.github.penggle + kaptcha + ${kaptcha.version} + + + + com.googlecode.concurrentlinkedhashmap + concurrentlinkedhashmap-lru + ${concurrentlinkedhashmap.version} + + + + com.squareup.okhttp3 + okhttp + ${okhttp.version} + + + + eu.bitwalker + UserAgentUtils + ${user-agent-util.version} + + + + org.projectlombok + lombok + ${lombok.version} + provided + + + + + + + + + src/main/java + + **/*.* + + + + false + src/main/resources + + dev/* + sit/* + pre/* + prod/* + + + + src/main/resources/${profiles.active} + true + + *.properties + + + + src/main/resources/${profiles.active} + false + + *.* + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${java.version} + ${java.version} + UTF-8 + + + + org.springframework.boot + spring-boot-maven-plugin + ${smartadmin.springboot.version} + + ${main-class} + + + + + repackage + + + + + + + + + + + + dev + + dev + + + true + + + + telework + + telework + + + + sit + + sit + + + + pre + + pre + + + + prod + + prod + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/doc/readme.txt b/smart_admin_v1/smart-admin-service/smart-admin-api/doc/readme.txt new file mode 100644 index 00000000..f586e4b8 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/doc/readme.txt @@ -0,0 +1,15 @@ +1 超管默认账号 +sa/123456 + +2 执行脚本: +先执行:src/main/resources/sql/smart-admin.sql +再执行:src/main/resources/sql/quartz_mysql_2.3.0.sql + +3 除dev之外文件 + +4 刷新页面,获取权限是否走缓存 +LoginService.getSession + +5 test类中去掉代码生成run + +6 前端百度统计 \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/pom.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/pom.xml new file mode 100644 index 00000000..f7ec8db4 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/pom.xml @@ -0,0 +1,276 @@ + + + net.1024lab + smart-admin-service-parent + 1.0.0 + ../pom.xml + + + 4.0.0 + smart-admin-api + jar + + smart-admin-api + + + UTF-8 + UTF-8 + 1.8 + + + + + + + org.springframework.boot + spring-boot-starter-log4j2 + + + org.springframework.boot + spring-boot-starter-aop + + + spring-boot-starter-logging + org.springframework.boot + + + + + org.springframework.boot + spring-boot-starter-quartz + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-data-redis + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-websocket + + + org.springframework.boot + spring-boot-starter-mail + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-actuator + + + logback-classic + ch.qos.logback + + + spring-boot-starter-logging + org.springframework.boot + + + + + + + com.baomidou + mybatis-plus-boot-starter + + + + + velocity + org.apache.velocity + + + commons-collections + commons-collections + + + + + org.apache.velocity + velocity-engine-core + + + + + + com.alibaba + fastjson + + + + + com.alibaba + druid + + + + + p6spy + p6spy + + + + + io.springfox + springfox-swagger2 + + + io.springfox + springfox-swagger-ui + + + + + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j.version} + + + + + + com.google.guava + guava + + + + + com.aliyun.oss + aliyun-sdk-oss + + + commons-logging + commons-logging + + + + + com.qiniu + qiniu-java-sdk + + + commons-fileupload + commons-fileupload + + + + + + io.jsonwebtoken + jjwt + + + + + cn.afterturn + easypoi-spring-boot-starter + + + + + commons-beanutils + commons-beanutils + + + commons-logging + commons-logging + + + + + + org.apache.commons + commons-pool2 + + + + mysql + mysql-connector-java + + + + com.github.penggle + kaptcha + + + + com.googlecode.concurrentlinkedhashmap + concurrentlinkedhashmap-lru + + + + com.squareup.okhttp3 + okhttp + + + + eu.bitwalker + UserAgentUtils + + + + org.projectlombok + lombok + provided + + + + + + + + src/main/java + + **/*.* + + + + false + src/main/resources + + dev/* + sit/* + pre/* + prod/* + + + + src/main/resources/${profiles.active} + true + + *.properties + *.xml + + + + + + org.springframework.boot + spring-boot-maven-plugin + + true + + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/SmartAdminApplication.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/SmartAdminApplication.java new file mode 100644 index 00000000..b22d0670 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/SmartAdminApplication.java @@ -0,0 +1,29 @@ +package net.lab1024.smartadmin; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.scheduling.annotation.EnableScheduling; + +/** + * [ admin 项目启动类 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + * + */ +@SpringBootApplication(scanBasePackages = {"net.lab1024.smartadmin", "cn.afterturn.easypoi"}) +@EnableCaching +@EnableScheduling +@EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true) +public class SmartAdminApplication { + + public static void main(String[] args) { + SpringApplication.run(SmartAdminApplication.class, args); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/ApiModelPropertyEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/ApiModelPropertyEnum.java new file mode 100644 index 00000000..c9babff3 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/ApiModelPropertyEnum.java @@ -0,0 +1,47 @@ +package net.lab1024.smartadmin.common.anno; + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 枚举类字段属性的注解 + * + * @author listen + * @date 2019/05/16 15:18 + */ +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface ApiModelPropertyEnum { + + /** + * 枚举类对象 + * + * @return + */ + Class value(); + + String example() default ""; + + /** + * 是否隐藏 + * + * @return + */ + boolean hidden() default false; + + /** + * 是否必须 + * + * @return + */ + boolean required() default true; + + String dataType() default ""; + + String enumDesc() default ""; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/DataScope.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/DataScope.java new file mode 100644 index 00000000..1ab8061a --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/DataScope.java @@ -0,0 +1,49 @@ +package net.lab1024.smartadmin.common.anno; + +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeTypeEnum; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeWhereInTypeEnum; +import net.lab1024.smartadmin.module.system.datascope.strategy.DataScopePowerStrategy; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * [ 数据范围 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface DataScope { + + DataScopeTypeEnum dataScopeType() default DataScopeTypeEnum.DEFAULT; + + DataScopeWhereInTypeEnum whereInType() default DataScopeWhereInTypeEnum.EMPLOYEE; + + /** + * DataScopeWhereInTypeEnum.CUSTOM_STRATEGY类型 才可使用joinSqlImplClazz属性 + * @return + */ + Class joinSqlImplClazz() default DataScopePowerStrategy.class; + + /** + * + * 第几个where 条件 从0开始 + * @return + */ + int whereIndex() default 0; + + /** + * DataScopeWhereInTypeEnum为CUSTOM_STRATEGY类型时,此属性无效 + * @return + */ + String joinSql() default ""; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/NoNeedLogin.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/NoNeedLogin.java new file mode 100644 index 00000000..3957937a --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/NoNeedLogin.java @@ -0,0 +1,22 @@ +package net.lab1024.smartadmin.common.anno; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * + * [ 不需要登陆 ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface NoNeedLogin { +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/NoValidPrivilege.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/NoValidPrivilege.java new file mode 100644 index 00000000..d37e63c2 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/NoValidPrivilege.java @@ -0,0 +1,20 @@ +package net.lab1024.smartadmin.common.anno; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * + * [ 不需要权限验证 ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Retention(RetentionPolicy.RUNTIME) +public @interface NoValidPrivilege { + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/OperateLog.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/OperateLog.java new file mode 100644 index 00000000..31dd3683 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/OperateLog.java @@ -0,0 +1,20 @@ +package net.lab1024.smartadmin.common.anno; + +import java.lang.annotation.*; + +/** + * [ 用户操作日志 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +@Documented +public @interface OperateLog { + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/CommentSortTypeEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/CommentSortTypeEnum.java new file mode 100644 index 00000000..1a4de4e4 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/CommentSortTypeEnum.java @@ -0,0 +1,57 @@ +package net.lab1024.smartadmin.common.constant; + + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +/** + * 全局排序枚举类 + * + * @author listen + * @date 2018/01/13 14:24 + */ +public enum CommentSortTypeEnum implements BaseEnum { + + /** + * 正序 ASC 1 + */ + ASC(1, "ASC"), + + /** + * 倒序 DESC 2 + */ + DESC(2, "DESC"); + + private Integer value; + + private String desc; + + /** + * 排序类型:1正序 | 2倒序 + */ + public static final String INFO = "排序类型:1正序 | 2倒序"; + + CommentSortTypeEnum(Integer value, String desc) { + this.value = value; + this.desc = desc; + } + + /** + * 获取枚举类的值 + * + * @return Integer + */ + @Override + public Integer getValue() { + return value; + } + + /** + * 获取枚举类的说明 + * + * @return String + */ + @Override + public String getDesc() { + return desc; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/JudgeEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/JudgeEnum.java new file mode 100644 index 00000000..d7c55429 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/JudgeEnum.java @@ -0,0 +1,52 @@ +package net.lab1024.smartadmin.common.constant; + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +import java.util.Arrays; +import java.util.Optional; + +/** + * + * [ 是与否] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +public enum JudgeEnum implements BaseEnum { + + NO(0, "否"), + + YES(1, "是"); + + private Integer value; + private String desc; + + JudgeEnum(Integer value, String desc) { + this.value = value; + this.desc = desc; + } + + @Override + public Integer getValue() { + return value; + } + @Override + public String getDesc() { + return desc; + } + + public static JudgeEnum valueOf(Integer status) { + JudgeEnum[] values = JudgeEnum.values(); + Optional first = Arrays.stream(values).filter(e -> e.getValue().equals(status)).findFirst(); + return !first.isPresent() ? null : first.get(); + } + + public static boolean isExist(Integer status) { + JudgeEnum judgeEnum = valueOf(status); + return judgeEnum != null; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/ResponseCodeConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/ResponseCodeConst.java new file mode 100644 index 00000000..c572eecd --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/ResponseCodeConst.java @@ -0,0 +1,181 @@ +package net.lab1024.smartadmin.common.constant; + +import net.lab1024.smartadmin.module.system.department.DepartmentResponseCodeConst; +import net.lab1024.smartadmin.module.system.employee.constant.EmployeeResponseCodeConst; +import net.lab1024.smartadmin.module.support.file.constant.FileResponseCodeConst; +import net.lab1024.smartadmin.module.business.log.orderoperatelog.constant.OrderOperateLogOperateTypeConst; +import net.lab1024.smartadmin.module.system.login.LoginResponseCodeConst; +import net.lab1024.smartadmin.module.system.position.PositionResponseCodeConst; +import net.lab1024.smartadmin.module.system.privilege.constant.PrivilegeResponseCodeConst; +import net.lab1024.smartadmin.module.system.role.basic.RoleResponseCodeConst; +import net.lab1024.smartadmin.module.system.systemconfig.constant.SystemConfigResponseCodeConst; +import lombok.extern.slf4j.Slf4j; + +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; + +/** + * 每个业务,100个范围值就够了. + */ +@Slf4j +public class ResponseCodeConst { + + // 范围声明 + static { + // 系统功能,从0开始,step=1000 + ResponseCodeContainer.register(ResponseCodeConst.class, 0, 1000); + ResponseCodeContainer.register(LoginResponseCodeConst.class, 1001, 1999); + ResponseCodeContainer.register(DepartmentResponseCodeConst.class, 2001, 2999); + ResponseCodeContainer.register(EmployeeResponseCodeConst.class, 3001, 3999); + ResponseCodeContainer.register(FileResponseCodeConst.class, 4001, 4999); + ResponseCodeContainer.register(SystemConfigResponseCodeConst.class, 5001, 5999); + ResponseCodeContainer.register(RoleResponseCodeConst.class, 6001, 6999); + ResponseCodeContainer.register(PrivilegeResponseCodeConst.class, 7001, 7999); + ResponseCodeContainer.register(OrderOperateLogOperateTypeConst.class, 8001, 8999); + ResponseCodeContainer.register(PositionResponseCodeConst.class, 13000, 13999); + + } + + public static final ResponseCodeConst SUCCESS = new ResponseCodeConst(1, "操作成功!", true); + + public static final ResponseCodeConst ERROR_PARAM = new ResponseCodeConst(101, "参数异常!"); + + public static final ResponseCodeConst ERROR_PARAM_ANY = new ResponseCodeConst(102, "%s参数异常!"); + + public static final ResponseCodeConst SYSTEM_ERROR = new ResponseCodeConst(111, "系统错误"); + + public static final ResponseCodeConst DEVELOPMENT = new ResponseCodeConst(112, "此功能正在开发中"); + + public static final ResponseCodeConst NOT_EXISTS = new ResponseCodeConst(113, "数据不存在"); + + public static ResponseCodeConst REQUEST_METHOD_ERROR = new ResponseCodeConst(114, "请求方式错误"); + + public static ResponseCodeConst JSON_FORMAT_ERROR = new ResponseCodeConst(115, "JSON格式错误"); + + protected int code; + + protected String msg; + + protected boolean success; + + public ResponseCodeConst() { + } + + protected ResponseCodeConst(int code, String msg) { + super(); + this.code = code; + this.msg = msg; + ResponseCodeContainer.put(this); + } + + protected ResponseCodeConst(int code, String msg, boolean success) { + super(); + this.code = code; + this.msg = msg; + this.success = success; + ResponseCodeContainer.put(this); + } + + protected ResponseCodeConst(int code) { + super(); + this.code = code; + ResponseCodeContainer.put(this); + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static void init() { + log.info("ResponseCodeConst init...."); + } + + // =======================分割======================= + + /** + * 内部类,用于检测code范围 + * + * @author Anders + */ + @Slf4j + private static class ResponseCodeContainer { + + private static final Map RESPONSE_CODE_MAP = new HashMap<>(); + + private static final Map, int[]> RESPONSE_CODE_RANGE_MAP = new HashMap<>(); + + /** + * id的范围:[start, end]左闭右闭 + * + * @param clazz + * @param start + * @param end + */ + private static void register(Class clazz, int start, int end) { + if (start > end) { + throw new IllegalArgumentException(" start > end!"); + } + + if (RESPONSE_CODE_RANGE_MAP.containsKey(clazz)) { + throw new IllegalArgumentException(String.format(" Class:%s already exist!", clazz.getSimpleName())); + } + RESPONSE_CODE_RANGE_MAP.forEach((k, v) -> { + if ((start >= v[0] && start <= v[1]) || (end >= v[0] && end <= v[1])) { + throw new IllegalArgumentException(String.format(" Class:%s 's id range[%d,%d] has " + "intersection with " + "class:%s", clazz.getSimpleName(), start, end, + k.getSimpleName())); + } + }); + + RESPONSE_CODE_RANGE_MAP.put(clazz, new int[]{start, end}); + + // 提前初始化static变量,进行范围检测 + Field[] fields = clazz.getFields(); + if (fields.length != 0) { + try { + fields[0].get(clazz); + } catch (IllegalArgumentException | IllegalAccessException e) { + log.error("", e); + } + } + } + + public static void put(ResponseCodeConst codeConst) { + int[] idRange = RESPONSE_CODE_RANGE_MAP.get(codeConst.getClass()); + if (idRange == null) { + throw new IllegalArgumentException(String.format(" Class:%s has not been registered!", codeConst.getClass().getSimpleName())); + } + int code = codeConst.code; + if (code < idRange[0] || code > idRange[1]) { + throw new IllegalArgumentException(String.format(" Id(%d) out of range[%d,%d], " + "class:%s", code, idRange[0], idRange[1], codeConst.getClass().getSimpleName())); + } + if (RESPONSE_CODE_MAP.keySet().contains(code)) { + log.error(String.format(" Id(%d) out of range[%d,%d], " + "class:%s code is repeat!", code, idRange[0], idRange[1], codeConst.getClass().getSimpleName())); + System.exit(0); + } + RESPONSE_CODE_MAP.put(code, codeConst); + } + + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/controller/BaseController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/controller/BaseController.java new file mode 100644 index 00000000..47b321aa --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/controller/BaseController.java @@ -0,0 +1,42 @@ +package net.lab1024.smartadmin.common.controller; + +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.Workbook; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; + +/** + * @author: zhuoda + * @create: 2020-03-31 08:54 PM from win10 + */ + +@Slf4j +public class BaseController { + + /** + * 下载 Excel 消息头 + * @param fileName + * @param workbook + * @param response + */ + public void downloadExcel(String fileName, Workbook workbook, HttpServletResponse response) { + try { + fileName = URLEncoder.encode(fileName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + log.error("", e); + } + response.setCharacterEncoding("utf-8"); + response.setHeader("Content-Type", "application/vnd.ms-excel"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls"); + try { + workbook.write(response.getOutputStream()); + workbook.close(); + } catch (IOException e) { + log.error("", e); + } + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/BaseEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/BaseEntity.java new file mode 100644 index 00000000..e6724c94 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/BaseEntity.java @@ -0,0 +1,39 @@ +package net.lab1024.smartadmin.common.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.Date; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 上午 11:15 + * @since JDK1.8 + */ +@Data +public class BaseEntity { + + /** + * 主键id + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 创建时间 + */ + private Date createTime; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/BaseEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/BaseEnum.java new file mode 100644 index 00000000..61ef2c66 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/BaseEnum.java @@ -0,0 +1,97 @@ +package net.lab1024.smartadmin.common.domain; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONAware; +import com.alibaba.fastjson.JSONObject; +import com.google.common.base.CaseFormat; +import lombok.Data; + +import java.util.LinkedHashMap; +import java.util.Objects; + +/** + * @author listen + * @date 2018-07-17 下午 3:52 + */ +public interface BaseEnum { + + /** + * 获取枚举类的值 + * + * @return Object + */ + Object getValue(); + + /** + * 获取枚举类的说明 + * + * @return String + */ + String getDesc(); + + /** + * 比较参数是否与枚举类的value相同 + * + * @param value + * @return boolean + */ + default boolean equalsValue(Object value) { + return Objects.equals(getValue(), value); + } + + /** + * 比较枚举类是否相同 + * + * @param baseEnum + * @return boolean + */ + default boolean equals(BaseEnum baseEnum) { + return Objects.equals(getValue(), baseEnum.getValue()) && Objects.equals(getDesc(), baseEnum.getDesc()); + } + + /** + * 返回枚举类的说明 + * + * @param clazz 枚举类类对象 + * @return + */ + static String getInfo(Class clazz) { + BaseEnum[] enums = clazz.getEnumConstants(); + LinkedHashMap json = new LinkedHashMap<>(enums.length); + for (BaseEnum e : enums) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("value", new DeletedQuotationAware(e.getValue())); + jsonObject.put("desc", new DeletedQuotationAware(e.getDesc())); + json.put(e.toString(), jsonObject); + } + + String enumJson = JSON.toJSONString(json, true); + enumJson = enumJson.replaceAll("\"", ""); + enumJson= enumJson.replaceAll("\t","  "); + enumJson = enumJson.replaceAll("\n","
"); + String prefix = "
export const
" + CaseFormat.UPPER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, clazz.getSimpleName() + " =
"); + return prefix + "" + enumJson + "
"; + } + + + @Data + class DeletedQuotationAware implements JSONAware { + + private String value; + + public DeletedQuotationAware(Object value) { + if(value == null){ + this.value = ""; + }else if (value instanceof String) { + this.value = "'" + value + "'"; + }else { + this.value = value.toString(); + } + } + + @Override + public String toJSONString() { + return value; + } + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/ITask.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/ITask.java new file mode 100644 index 00000000..b6427c8e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/ITask.java @@ -0,0 +1,16 @@ +package net.lab1024.smartadmin.common.domain; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 14:23 + * @since JDK1.8 + */ +public interface ITask { + + void execute(String paramJson) throws Exception; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/OrderItemDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/OrderItemDTO.java new file mode 100644 index 00000000..759bb93d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/OrderItemDTO.java @@ -0,0 +1,16 @@ +package net.lab1024.smartadmin.common.domain; + +import lombok.Data; +import lombok.extern.slf4j.Slf4j; + +/** + * @author: zhuoda + * @create: 2020-03-20 09:07 PM from win10 + */ + +@Slf4j +@Data +public class OrderItemDTO { + private String column; + private boolean asc = true; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/PageParamDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/PageParamDTO.java new file mode 100644 index 00000000..73590fc5 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/PageParamDTO.java @@ -0,0 +1,33 @@ +package net.lab1024.smartadmin.common.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Max; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 分页基础参数 + * + * @author lihaifan + * @Date Created in 2017/10/28 16:19 + */ +@Data +public class PageParamDTO { + + @NotNull(message = "分页参数不能为空") + @ApiModelProperty(value = "页码(不能为空)", example = "1") + protected Integer pageNum; + + @NotNull(message = "每页数量不能为空") + @ApiModelProperty(value = "每页数量(不能为空)", example = "10") + @Max(value = 500, message = "每页最大为500") + protected Integer pageSize; + + @ApiModelProperty("是否查询总条数") + protected Boolean searchCount; + + @ApiModelProperty("排序") + protected List orders; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/PageResultDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/PageResultDTO.java new file mode 100644 index 00000000..23995832 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/PageResultDTO.java @@ -0,0 +1,47 @@ +package net.lab1024.smartadmin.common.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Page返回对象 + * + * @Author lihaifan + * @Date Created in 2017/10/31 15:05 + */ +@Data +public class PageResultDTO { + + /** + * 当前页 + */ + @ApiModelProperty(value = "当前页") + private Long pageNum; + + /** + * 每页的数量 + */ + @ApiModelProperty(value = "每页的数量") + private Long pageSize; + + /** + * 总记录数 + */ + @ApiModelProperty(value = "总记录数") + private Long total; + + /** + * 总页数 + */ + @ApiModelProperty(value = "总页数") + private Long pages; + + /** + * 结果集 + */ + @ApiModelProperty(value = "结果集") + private List list; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/ResponseDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/ResponseDTO.java new file mode 100644 index 00000000..92ec781e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/ResponseDTO.java @@ -0,0 +1,132 @@ +package net.lab1024.smartadmin.common.domain; + + +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; + +/** + * 返回类 + * + * @param + * @author zhuoda + */ +public class ResponseDTO { + + protected Integer code; + + protected String msg; + + protected Boolean success; + + protected T data; + + public ResponseDTO() { + } + + public ResponseDTO(ResponseCodeConst responseCodeConst, String msg) { + this.code = responseCodeConst.getCode(); + this.msg = msg; + this.success = responseCodeConst.isSuccess(); + } + + public ResponseDTO(ResponseCodeConst responseCodeConst, T data) { + super(); + this.code = responseCodeConst.getCode(); + this.msg = responseCodeConst.getMsg(); + this.data = data; + this.success = responseCodeConst.isSuccess(); + } + + public ResponseDTO(ResponseCodeConst responseCodeConst, T data, String msg) { + super(); + this.code = responseCodeConst.getCode(); + this.msg = msg; + this.data = data; + this.success = responseCodeConst.isSuccess(); + } + + private ResponseDTO(ResponseCodeConst responseCodeConst) { + this.code = responseCodeConst.getCode(); + this.msg = responseCodeConst.getMsg(); + this.success = responseCodeConst.isSuccess(); + } + + public ResponseDTO(ResponseDTO responseDTO) { + this.code = responseDTO.getCode(); + this.msg = responseDTO.getMsg(); + this.success = responseDTO.isSuccess(); + } + + public static ResponseDTO succ() { + return new ResponseDTO(ResponseCodeConst.SUCCESS); + } + + public static ResponseDTO succData(T data, String msg) { + return new ResponseDTO(ResponseCodeConst.SUCCESS, data, msg); + } + + public static ResponseDTO succData(T data) { + return new ResponseDTO(ResponseCodeConst.SUCCESS, data); + } + + public static ResponseDTO succMsg(String msg) { + return new ResponseDTO(ResponseCodeConst.SUCCESS, msg); + } + + + public static ResponseDTO wrap(ResponseCodeConst codeConst) { + return new ResponseDTO<>(codeConst); + } + + public static ResponseDTO wrap(ResponseCodeConst codeConst, T t) { + return new ResponseDTO(codeConst, t); + } + + public static ResponseDTO wrap(ResponseCodeConst codeConst, String msg) { + return new ResponseDTO(codeConst, msg); + } + + public static ResponseDTO wrapMsg(ResponseCodeConst codeConst, String msg) { + return new ResponseDTO(codeConst, msg); + } + + public String getMsg() { + return msg; + } + + public ResponseDTO setMsg(String msg) { + this.msg = msg; + return this; + } + + public int getCode() { + return code; + } + + public ResponseDTO setCode(Integer code) { + this.code = code; + return this; + } + + public T getData() { + return data; + } + + public ResponseDTO setData(T data) { + this.data = data; + return this; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + @Override + public String toString() { + return "ResponseDTO{" + "code=" + code + ", msg='" + msg + '\'' + ", success=" + success + ", data=" + data + + '}'; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/ValidateList.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/ValidateList.java new file mode 100644 index 00000000..c3907e63 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/ValidateList.java @@ -0,0 +1,148 @@ +package net.lab1024.smartadmin.common.domain; + +import javax.validation.Valid; +import javax.validation.constraints.NotEmpty; +import java.util.*; + +/** + * @author: zhuoda + * @create: 2020-02-03 17:37 PM from win10 + */ +public class ValidateList implements List { + + @Valid + @NotEmpty(message = "数据长度请大于0!") + private List list; + + public ValidateList() { + this.list = new ArrayList<>(); + } + + public ValidateList(List list) { + this.list = list; + } + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + @Override + public int size() { + return list.size(); + } + + @Override + public boolean isEmpty() { + return list.isEmpty(); + } + + @Override + public boolean contains(Object o) { + return list.contains(o); + } + + @Override + public Iterator iterator() { + return list.iterator(); + } + + @Override + public Object[] toArray() { + return list.toArray(); + } + + @Override + public T[] toArray(T[] a) { + return list.toArray(a); + } + + @Override + public boolean add(E e) { + return list.add(e); + } + + @Override + public boolean remove(Object o) { + return list.remove(o); + } + + @Override + public boolean containsAll(Collection c) { + return list.containsAll(c); + } + + @Override + public boolean addAll(Collection c) { + return list.addAll(c); + } + + @Override + public boolean addAll(int index, Collection c) { + return list.addAll(index, c); + } + + @Override + public boolean removeAll(Collection c) { + return list.removeAll(c); + } + + @Override + public boolean retainAll(Collection c) { + return list.retainAll(c); + } + + @Override + public void clear() { + list.clear(); + } + + @Override + public E get(int index) { + return list.get(index); + } + + @Override + public E set(int index, E element) { + return list.set(index, element); + } + + @Override + public void add(int index, E element) { + list.add(index, element); + } + + @Override + public E remove(int index) { + return list.remove(index); + } + + @Override + public int indexOf(Object o) { + return list.indexOf(o); + } + + @Override + public int lastIndexOf(Object o) { + return list.lastIndexOf(o); + } + + @Override + public ListIterator listIterator() { + return list.listIterator(); + } + + @Override + public ListIterator listIterator(int index) { + return list.listIterator(index); + } + + @Override + public List subList(int fromIndex, int toIndex) { + return list.subList(fromIndex, toIndex); + } + +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/exception/SmartBusinessException.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/exception/SmartBusinessException.java new file mode 100644 index 00000000..904f3a7b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/exception/SmartBusinessException.java @@ -0,0 +1,33 @@ +package net.lab1024.smartadmin.common.exception; +/** + * + * [ 业务逻辑异常,全局异常拦截后统一返回ResponseCodeConst.SYSTEM_ERROR ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +public class SmartBusinessException extends RuntimeException { + + public SmartBusinessException() { + } + + public SmartBusinessException(String message) { + super(message); + } + + public SmartBusinessException(String message, Throwable cause) { + super(message, cause); + } + + public SmartBusinessException(Throwable cause) { + super(cause); + } + + public SmartBusinessException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/exception/SmartResponseCodeException.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/exception/SmartResponseCodeException.java new file mode 100644 index 00000000..f3c37ed2 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/exception/SmartResponseCodeException.java @@ -0,0 +1,24 @@ +package net.lab1024.smartadmin.common.exception; + +/** + * [ 全局异常拦截后保留ResponseCode码的异常] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/8/7 0007 下午 16:11 + * @since JDK1.8 + */ +public class SmartResponseCodeException extends RuntimeException{ + private Integer code; + + public SmartResponseCodeException(Integer code, String message) { + super(message); + this.code = code; + } + + public Integer getCode() { + return code; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/AbstractHeartBeatCommand.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/AbstractHeartBeatCommand.java new file mode 100644 index 00000000..c62fbc3d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/AbstractHeartBeatCommand.java @@ -0,0 +1,90 @@ +package net.lab1024.smartadmin.common.heartbeat; + +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import java.util.Date; +import java.util.List; +import java.util.concurrent.*; + + +/** +* @Description: 心跳服务 +* @Author: simajinqiang +* @Date: 2018/7/9 16:26 +*/ +public abstract class AbstractHeartBeatCommand implements HeartBeatRecordCommendInterface { + + + ScheduledExecutorService executorService; + + int threadNum = 1; + + /** + * 项目路径 + */ + private String projectPath; + /** + * 服务器ip(多网卡) + */ + private List serverIps; + /** + * 进程号 + */ + private Integer processNo; + /** + * 进程开启时间 + */ + private Date processStartTime; + + HeartBeatLogger logger; + + /** + * 初始化 + */ + public void init(HeartBeatConfig config, HeartBeatLogger logger){ + this.handlerHeartBeat(); + ThreadFactory threadFactory = new ThreadFactoryBuilder().setNameFormat("AbstractHeartBeatCommand-%s").build(); + executorService = Executors.newScheduledThreadPool(threadNum, threadFactory); + executorService.scheduleWithFixedDelay(new DoHeartBeat(), config.getDelayHandlerTime(), config.getIntervalTime(), TimeUnit.MILLISECONDS); + } + + public void handlerHeartBeat(){ + try { + projectPath = HeatBeatRecordHelper.getProjectPath(); + serverIps = IpUtil.getLocalIPS(); + processNo = HeatBeatRecordHelper.getProcessID(); + processStartTime = HeatBeatRecordHelper.getStartTime(); + }catch (Throwable e){ + logger.error("get heart beat info error.", e); + } + } + + /** + * 销毁线程池 + */ + public void destroy(){ + if (executorService != null && !executorService.isShutdown()) { + executorService.shutdown(); + executorService = null; + } + } + + public class DoHeartBeat implements Runnable{ + + @Override + public void run() { + try { + HeartBeatRecordDTO heartBeatRecord = new HeartBeatRecordDTO(); + heartBeatRecord.setProjectPath(projectPath); + heartBeatRecord.setServerIp(StringUtil.join(serverIps,";")); + heartBeatRecord.setProcessNo(processNo); + heartBeatRecord.setProcessStartTime(processStartTime); + heartBeatRecord.setHeartBeatTime(new Date()); + handler(heartBeatRecord); + }catch (Throwable t){ + logger.error("handler heartbeat error.", t); + } + + } + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatConfig.java new file mode 100644 index 00000000..3fa1ed84 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatConfig.java @@ -0,0 +1,29 @@ +package net.lab1024.smartadmin.common.heartbeat; + +import lombok.Builder; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/8/8 0008 下午 16:22 + * @since JDK1.8 + */ +@Data +@Builder +public class HeartBeatConfig { + + /** + * 延迟执行时间 + */ + private Long delayHandlerTime; + + /** + * 间隔执行时间 + */ + private Long intervalTime; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatLogger.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatLogger.java new file mode 100644 index 00000000..0376b0f0 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatLogger.java @@ -0,0 +1,20 @@ +package net.lab1024.smartadmin.common.heartbeat; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/8/8 0008 下午 16:23 + * @since JDK1.8 + */ +public interface HeartBeatLogger { + + void error(String string); + + void error(String string, Throwable e); + + void info(String string); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatRecordCommendInterface.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatRecordCommendInterface.java new file mode 100644 index 00000000..e94369e3 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatRecordCommendInterface.java @@ -0,0 +1,17 @@ +package net.lab1024.smartadmin.common.heartbeat; + + + +/** +* @Description: +* @Author: simajinqiang +* @Date: 2018/7/9 14:06 +*/ +public interface HeartBeatRecordCommendInterface { + /** + * 处理 + * @param heartBeatRecord + */ + void handler(HeartBeatRecordDTO heartBeatRecord); + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatRecordDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatRecordDTO.java new file mode 100644 index 00000000..b5f4e499 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeartBeatRecordDTO.java @@ -0,0 +1,37 @@ +package net.lab1024.smartadmin.common.heartbeat; + +import lombok.Data; + +import java.util.Date; + +/** +* @Description: 心跳记录日志 +* @Author: simajinqiang +* @Date: 2018/7/9 11:11 +*/ +@Data +public class HeartBeatRecordDTO { + + /** + * 项目名字 + */ + private String projectPath; + /** + * 服务器ip + */ + private String serverIp; + /** + * 进程号 + */ + private Integer processNo; + /** + * 进程开启时间 + */ + private Date processStartTime; + /** + * 心跳当前时间 + */ + private Date heartBeatTime; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeatBeatRecordHelper.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeatBeatRecordHelper.java new file mode 100644 index 00000000..ce3b04f7 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/HeatBeatRecordHelper.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.common.heartbeat; + + +import java.lang.management.ManagementFactory; +import java.lang.management.RuntimeMXBean; +import java.util.Date; + +/** +* @Description: 心跳工具类 +* @Author: simajinqiang +* @Date: 2018/7/9 11:48 +*/ +public class HeatBeatRecordHelper { + + /** + * 获取进程号 + * @return + */ + public static final Integer getProcessID() { + RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean(); + return Integer.valueOf(runtimeMXBean.getName().split("@")[0]) + .intValue(); + } + + /** + * 获取项目名称 + * @return + */ + public static final String getProjectPath(){ + return System.getProperty("user.dir"); + } + + /** + * 获取进程启动时间 + * @return + */ + public static final Date getStartTime(){ + RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean(); + return new Date(runtimeMXBean.getStartTime()); + } + + + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/IpUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/IpUtil.java new file mode 100644 index 00000000..e250f074 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/IpUtil.java @@ -0,0 +1,81 @@ +package net.lab1024.smartadmin.common.heartbeat; + +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.List; + +/** +* @Description: ip工具类 +* @Author: sbq +* @CreateDate: 2019/8/8 10:33 +* @Version: 1.0 +*/ +public class IpUtil { + /** + * 获得服务器的IP地址 + */ + public static String getLocalIP() { + String sIP = ""; + InetAddress ip = null; + try { + boolean bFindIP = false; + Enumeration netInterfaces = (Enumeration) NetworkInterface + .getNetworkInterfaces(); + while (netInterfaces.hasMoreElements()) { + if (bFindIP) { + break; + } + NetworkInterface ni = (NetworkInterface) netInterfaces + .nextElement(); + Enumeration ips = ni.getInetAddresses(); + while (ips.hasMoreElements()) { + ip = (InetAddress) ips.nextElement(); + if (!ip.isLoopbackAddress() + && ip.getHostAddress().matches( + "(\\d{1,3}\\.){3}\\d{1,3}")) { + bFindIP = true; + break; + } + } + } + } catch (Exception e) { + } + if (null != ip) { + sIP = ip.getHostAddress(); + } + return sIP; + } + + /** + * @Description: 获得服务器的IP地址(多网卡) + * @Author: sbq + * @CreateDate: 2019/8/8 10:34 + * @Version: 1.0 + */ + public static List getLocalIPS() { + InetAddress ip = null; + List ipList = new ArrayList(); + try { + Enumeration netInterfaces = (Enumeration) NetworkInterface + .getNetworkInterfaces(); + while (netInterfaces.hasMoreElements()) { + NetworkInterface ni = (NetworkInterface) netInterfaces + .nextElement(); + Enumeration ips = ni.getInetAddresses(); + while (ips.hasMoreElements()) { + ip = (InetAddress) ips.nextElement(); + if (!ip.isLoopbackAddress() + && ip.getHostAddress().matches( + "(\\d{1,3}\\.){3}\\d{1,3}")) { + ipList.add(ip.getHostAddress()); + } + } + } + } catch (Exception e) { + } + return ipList; + } + +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/StringUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/StringUtil.java new file mode 100644 index 00000000..9e0842ec --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/heartbeat/StringUtil.java @@ -0,0 +1,60 @@ +package net.lab1024.smartadmin.common.heartbeat; + +import java.util.Iterator; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/8/8 0008 下午 16:27 + * @since JDK1.8 + */ +public class StringUtil { + + + + public static String join(Iterable iterable, String separator) { + return iterable == null ? null : join(iterable.iterator(), separator); + } + + + public static String join(Iterator iterator, String separator) { + if (iterator == null) { + return null; + } else if (!iterator.hasNext()) { + return ""; + } else { + Object first = iterator.next(); + if (!iterator.hasNext()) { + String result = toString(first); + return result; + } else { + StringBuilder buf = new StringBuilder(256); + if (first != null) { + buf.append(first); + } + + while(iterator.hasNext()) { + if (separator != null) { + buf.append(separator); + } + + Object obj = iterator.next(); + if (obj != null) { + buf.append(obj); + } + } + + return buf.toString(); + } + } + } + + public static String toString(Object obj) { + return obj == null ? "" : obj.toString(); + } + +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/json/LongJsonDeserializer.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/json/LongJsonDeserializer.java new file mode 100644 index 00000000..0dc8e315 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/json/LongJsonDeserializer.java @@ -0,0 +1,21 @@ +package net.lab1024.smartadmin.common.json; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; + +import java.io.IOException; + +public class LongJsonDeserializer extends JsonDeserializer { + + @Override + public Long deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException { + String value = jsonParser.getText(); + try { + return value == null ? null : Long.parseLong(value); + } catch (NumberFormatException e) { + return null; + } + } +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/json/LongJsonSerializer.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/json/LongJsonSerializer.java new file mode 100644 index 00000000..75442925 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/json/LongJsonSerializer.java @@ -0,0 +1,19 @@ +package net.lab1024.smartadmin.common.json; + + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +import java.io.IOException; + +public class LongJsonSerializer extends JsonSerializer { + @Override + public void serialize(Long value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { + String text = (value == null ? null : String.valueOf(value)); + if (text != null) { + jsonGenerator.writeString(text); + } + } +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/kaptcha/KaptchaColor.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/kaptcha/KaptchaColor.java new file mode 100644 index 00000000..4baeb2a2 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/kaptcha/KaptchaColor.java @@ -0,0 +1,39 @@ +package net.lab1024.smartadmin.common.kaptcha; + +import com.google.common.collect.Lists; + +import java.awt.*; +import java.util.List; +import java.util.Random; + +/** + * [ 验证码颜色 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/6 0006 上午 10:51 + * @since JDK1.8 + */ +public class KaptchaColor { + + public static Color getColor() { + + List colors = Lists.newArrayList(); + colors.add(new Color(0, 135, 255)); + colors.add(new Color(51, 153, 51)); + colors.add(new Color(255, 102, 102)); + colors.add(new Color(255, 153, 0)); + colors.add(new Color(153, 102, 0)); + colors.add(new Color(153, 102, 153)); + colors.add(new Color(51, 153, 153)); + colors.add(new Color(102, 102, 255)); + colors.add(new Color(0, 102, 204)); + colors.add(new Color(204, 51, 51)); + colors.add(new Color(128, 153, 65)); + Random random = new Random(); + int colorIndex = random.nextInt(10); + return colors.get(colorIndex); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/kaptcha/KaptchaNoise.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/kaptcha/KaptchaNoise.java new file mode 100644 index 00000000..22238a6c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/kaptcha/KaptchaNoise.java @@ -0,0 +1,44 @@ +package net.lab1024.smartadmin.common.kaptcha; + +import com.google.code.kaptcha.NoiseProducer; +import com.google.code.kaptcha.util.Configurable; + +import java.awt.*; +import java.awt.image.BufferedImage; +import java.util.Random; + +/** + * [ 验证码加噪处理 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/6 0006 上午 10:47 + * @since JDK1.8 + */ +public class KaptchaNoise extends Configurable implements NoiseProducer { + public KaptchaNoise() { + } + + @Override + public void makeNoise(BufferedImage image, float factorOne, float factorTwo, float factorThree, float factorFour) { + + int width = image.getWidth(); + int height = image.getHeight(); + Graphics2D graph = (Graphics2D)image.getGraphics(); + graph.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON)); + graph.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); + Random random = new Random(); + int noiseLineNum = random.nextInt(3); + if(noiseLineNum == 0){ + noiseLineNum = 1; + } + for (int i = 0; i < noiseLineNum; i++){ + graph.setColor(KaptchaColor.getColor()); + graph.drawLine(random.nextInt(width), random.nextInt(height), 10 + random.nextInt(20), 10 + random.nextInt(20)); + } + + graph.dispose(); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/kaptcha/KaptchaWordRenderer.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/kaptcha/KaptchaWordRenderer.java new file mode 100644 index 00000000..38ff1b4c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/kaptcha/KaptchaWordRenderer.java @@ -0,0 +1,75 @@ +package net.lab1024.smartadmin.common.kaptcha; + +import com.google.code.kaptcha.util.Configurable; + +import java.awt.*; +import java.awt.font.FontRenderContext; +import java.awt.font.GlyphVector; +import java.awt.image.BufferedImage; +import java.util.Random; + +/** + * [ 验证码字体生成 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/6 0006 上午 9:43 + * @since JDK1.8 + */ +public class KaptchaWordRenderer extends Configurable implements com.google.code.kaptcha.text.WordRenderer { + + public KaptchaWordRenderer() { + } + + @Override + public BufferedImage renderWord(String word, int width, int height) { + int fontSize = this.getConfig().getTextProducerFontSize(); + Font[] fonts = this.getConfig().getTextProducerFonts(fontSize); + int charSpace = this.getConfig().getTextProducerCharSpace(); + BufferedImage image = new BufferedImage(width, height, 2); + + Graphics2D g2D = image.createGraphics(); + g2D.setColor(Color.WHITE); + RenderingHints hints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + hints.add(new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY)); + g2D.setRenderingHints(hints); + g2D.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); + + FontRenderContext frc = g2D.getFontRenderContext(); + Random random = new Random(); + int startPosY = (height - fontSize) / 5 + fontSize; + char[] wordChars = word.toCharArray(); + Font[] chosenFonts = new Font[wordChars.length]; + int[] charWidths = new int[wordChars.length]; + int widthNeeded = 0; + + int startPosX; + for(startPosX = 0; startPosX < wordChars.length; ++startPosX) { + chosenFonts[startPosX] = fonts[random.nextInt(fonts.length)]; + char[] charToDraw = new char[]{wordChars[startPosX]}; + GlyphVector gv = chosenFonts[startPosX].createGlyphVector(frc, charToDraw); + charWidths[startPosX] = (int)gv.getVisualBounds().getWidth(); + if (startPosX > 0) { + widthNeeded += 2; + } + + widthNeeded += charWidths[startPosX]; + } + + startPosX = (width - widthNeeded) / 2; + + for(int i = 0; i < wordChars.length; ++i) { + g2D.setColor(KaptchaColor.getColor()); + g2D.setFont(chosenFonts[i].deriveFont(Font.PLAIN)); + char[] charToDraw = new char[]{wordChars[i]}; + g2D.drawChars(charToDraw, 0, charToDraw.length, startPosX, startPosY); + startPosX = startPosX + charWidths[i] + charSpace; + } + + return image; + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/SmartReloadManager.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/SmartReloadManager.java new file mode 100644 index 00000000..1d4770c4 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/SmartReloadManager.java @@ -0,0 +1,134 @@ +package net.lab1024.smartadmin.common.reload; + +import net.lab1024.smartadmin.common.reload.annotation.SmartReload; +import net.lab1024.smartadmin.common.reload.domain.AbstractSmartReloadObject; +import net.lab1024.smartadmin.common.reload.domain.AnnotationReloadObject; +import net.lab1024.smartadmin.common.reload.domain.InterfaceReloadObject; +import net.lab1024.smartadmin.common.reload.domain.entity.ReloadItem; +import net.lab1024.smartadmin.common.reload.domain.entity.SmartReloadResult; +import net.lab1024.smartadmin.common.reload.interfaces.SmartReloadCommandInterface; +import net.lab1024.smartadmin.common.reload.interfaces.SmartReloadThreadLogger; +import net.lab1024.smartadmin.common.reload.interfaces.SmartReloadable; + +import java.lang.reflect.Method; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.TimeUnit; + +import static java.util.Objects.requireNonNull; + +/** + * SmartReloadManager 管理器 + *

+ * 可以在此类中添加 检测任务 以及注册 处理程序 + * + * @author zhuoda + */ +public class SmartReloadManager { + + private Map tagReloadObject; + + private SmartReloadScheduler reloadScheduler; + + private SmartReloadThreadLogger logger; + + public SmartReloadManager(SmartReloadThreadLogger logger, int threadCount) { + this.tagReloadObject = new ConcurrentHashMap<>(); + if (logger == null) { + throw new ExceptionInInitializerError("SmartReloadLoggerImp cannot be null"); + } + + if (threadCount < 1) { + throw new ExceptionInInitializerError("threadCount must be greater than 1"); + } + + this.logger = logger; + this.reloadScheduler = new SmartReloadScheduler(this.logger, threadCount); + } + + /** + * 默认创建单个线程 + * + * @param logger + */ + public SmartReloadManager(SmartReloadThreadLogger logger) { + this(logger, 1); + } + + /** + * 停止 + */ + public void shutdown() { + reloadScheduler.shutdown(); + } + + /** + * 添加任务 + * + * @param command SmartReloadCommand实现类 + * @param initialDelay 第一次执行前的延迟时间 + * @param delay 任务间隔时间 + * @param unit 延迟单位 TimeUnit 天、小时、分、秒等 + */ + public void addCommand(SmartReloadCommandInterface command, long initialDelay, long delay, TimeUnit unit) { + reloadScheduler.addCommand(command, initialDelay, delay, unit); + } + + /** + * 注册 实现接口的方式 + * + * @param tag + * @param reloadable + */ + public void register(String tag, SmartReloadable reloadable) { + requireNonNull(reloadable); + requireNonNull(tag); + if (tagReloadObject.containsKey(tag)) { + logger.error("<> register duplicated tag reload : " + tag + " , and it will be cover!"); + } + tagReloadObject.put(tag, new InterfaceReloadObject(reloadable)); + } + + /** + * 注册 要求此类必须包含使用了SmartReload注解的方法 + * + * @param reloadObject + */ + public void register(Object reloadObject) { + requireNonNull(reloadObject); + Method[] declaredMethods = reloadObject.getClass().getDeclaredMethods(); + if (declaredMethods != null) { + for (int i = 0; i < declaredMethods.length; i++) { + Method method = declaredMethods[i]; + SmartReload annotation = method.getAnnotation(SmartReload.class); + if (annotation != null) { + String reloadTag = annotation.value(); + this.register(reloadTag, new AnnotationReloadObject(reloadObject, method)); + } + } + } + } + + private void register(String tag, AbstractSmartReloadObject reloadObject) { + if (tagReloadObject.containsKey(tag)) { + logger.error("<> register duplicated tag reload : " + tag + " , and it will be cover!"); + } + tagReloadObject.put(tag, reloadObject); + } + + /** + * Reload 已注册的ReloadItem + * + * @param reloadItem + * @return SmartReloadResult + */ + public SmartReloadResult doReload(ReloadItem reloadItem) { + AbstractSmartReloadObject reloadObject = tagReloadObject.get(reloadItem.getTag()); + if (reloadObject != null) { + return reloadObject.reload(reloadItem); + } + // 返回注册结果 + return new SmartReloadResult(reloadItem.getTag(), reloadItem.getArgs(), reloadItem.getIdentification(), false, "No registered reload handler was found"); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/SmartReloadScheduler.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/SmartReloadScheduler.java new file mode 100644 index 00000000..121c3056 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/SmartReloadScheduler.java @@ -0,0 +1,87 @@ +package net.lab1024.smartadmin.common.reload; + +import net.lab1024.smartadmin.common.reload.interfaces.SmartReloadCommandInterface; +import net.lab1024.smartadmin.common.reload.interfaces.SmartReloadThreadLogger; + +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * Reload 调度器 + * + * @author zhuoda + */ +public class SmartReloadScheduler { + + private ScheduledThreadPoolExecutor executor; + + private SmartReloadThreadLogger logger; + + SmartReloadScheduler(SmartReloadThreadLogger logger, int threadCount) { + this.executor = new ScheduledThreadPoolExecutor(threadCount, new SmartReloadSchedulerThreadFactory()); + this.logger = logger; + } + + void shutdown() { + try { + executor.shutdown(); + } catch (Throwable e) { + logger.error("<> shutdown ", e); + } + } + + void addCommand(SmartReloadCommandInterface command, long initialDelay, long delay, TimeUnit unit) { + executor.scheduleWithFixedDelay(new ScheduleRunnable(command, this.logger), initialDelay, delay, unit); + } + + static class ScheduleRunnable implements Runnable { + + private SmartReloadCommandInterface command; + + private SmartReloadThreadLogger logger; + + public ScheduleRunnable(SmartReloadCommandInterface command, SmartReloadThreadLogger logger) { + this.command = command; + this.logger = logger; + } + + @Override + public void run() { + try { + command.doTask(); + } catch (Throwable e) { + logger.error("", e); + } + } + } + + static class SmartReloadSchedulerThreadFactory implements ThreadFactory { + + private static final AtomicInteger poolNumber = new AtomicInteger(1); + + private final ThreadGroup group; + + private final AtomicInteger threadNumber = new AtomicInteger(1); + + private final String namePrefix; + + SmartReloadSchedulerThreadFactory() { + SecurityManager s = System.getSecurityManager(); + group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup(); + namePrefix = "smartreload-" + poolNumber.getAndIncrement() + "-thread-"; + } + + @Override + public Thread newThread(Runnable r) { + Thread t = new Thread(group, r, namePrefix + threadNumber.getAndIncrement(), 0); + if (t.isDaemon()) + t.setDaemon(false); + if (t.getPriority() != Thread.NORM_PRIORITY) + t.setPriority(Thread.NORM_PRIORITY); + return t; + } + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/abstracts/AbstractSmartReloadCommand.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/abstracts/AbstractSmartReloadCommand.java new file mode 100644 index 00000000..8e1dc3ed --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/abstracts/AbstractSmartReloadCommand.java @@ -0,0 +1,66 @@ +package net.lab1024.smartadmin.common.reload.abstracts; + +import net.lab1024.smartadmin.common.reload.SmartReloadManager; +import net.lab1024.smartadmin.common.reload.domain.entity.ReloadItem; +import net.lab1024.smartadmin.common.reload.interfaces.SmartReloadCommandInterface; + +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 检测是否 Reload 的类 + * + * @author zhuoda + */ +public abstract class AbstractSmartReloadCommand implements SmartReloadCommandInterface { + + /** + * 当前ReloadItem的存储器 + */ + private ConcurrentHashMap currentTags = null; + + /** + * Reload的执行类 + */ + private SmartReloadManager reloadManager; + + public AbstractSmartReloadCommand(SmartReloadManager reloadManager) { + this.reloadManager = reloadManager; + this.currentTags = new ConcurrentHashMap<>(); + // 初始获取ReloadItem数据 + List readTagStatesFromDb = readReloadItem(); + if (readTagStatesFromDb != null) { + for (ReloadItem reloadItem : readTagStatesFromDb) { + String tag = reloadItem.getTag(); + String tagChangeIdentifier = reloadItem.getIdentification(); + this.currentTags.put(tag, tagChangeIdentifier); + } + } + } + /** + * 任务: + * 读取数据库中 ReloadItem 数据 + * 校验是否发生变化 + * 执行重加载动作 + */ + @Override + public void doTask() { + // 获取数据库数据 + List readTagStatesFromDb = readReloadItem(); + String tag; + String tagIdentifier; + String preTagChangeIdentifier; + for (ReloadItem reloadItem : readTagStatesFromDb) { + tag = reloadItem.getTag(); + tagIdentifier = reloadItem.getIdentification(); + preTagChangeIdentifier = currentTags.get(tag); + // 数据不一致 + if (preTagChangeIdentifier == null || ! preTagChangeIdentifier.equals(tagIdentifier)) { + // 更新map数据 + currentTags.put(tag, tagIdentifier); + // 执行重新加载此项的动作 + handleReloadResult(this.reloadManager.doReload(reloadItem)); + } + } + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/abstracts/AbstractSmartReloadCommand4Spring.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/abstracts/AbstractSmartReloadCommand4Spring.java new file mode 100644 index 00000000..60f34a9c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/abstracts/AbstractSmartReloadCommand4Spring.java @@ -0,0 +1,67 @@ +package net.lab1024.smartadmin.common.reload.abstracts; + +import net.lab1024.smartadmin.common.reload.SmartReloadManager; +import net.lab1024.smartadmin.common.reload.domain.entity.ReloadItem; +import net.lab1024.smartadmin.common.reload.interfaces.SmartReloadCommandInterface; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 检测是否 Reload 的类 + * + * @author zhuoda + */ +public abstract class AbstractSmartReloadCommand4Spring implements SmartReloadCommandInterface { + + /** + * 当前ReloadItem的存储器 + */ + protected ConcurrentHashMap currentTags = new ConcurrentHashMap<>(); + + /** + * Reload的执行类 + */ + @Autowired + protected SmartReloadManager reloadManager; + +// @PostConstruct + public void init() { + List readTagStatesFromDb = readReloadItem(); + if (readTagStatesFromDb != null) { + for (ReloadItem reloadItem : readTagStatesFromDb) { + String tag = reloadItem.getTag(); + String tagChangeIdentifier = reloadItem.getIdentification(); + this.currentTags.put(tag, tagChangeIdentifier); + } + } + } + + /** + * 任务: + * 读取数据库中 ReloadItem 数据 + * 校验是否发生变化 + * 执行重加载动作 + */ + @Override + public void doTask() { + // 获取数据库数据 + List readTagStatesFromDb = readReloadItem(); + String tag; + String tagIdentifier; + String preTagChangeIdentifier; + for (ReloadItem reloadItem : readTagStatesFromDb) { + tag = reloadItem.getTag(); + tagIdentifier = reloadItem.getIdentification(); + preTagChangeIdentifier = currentTags.get(tag); + // 数据不一致 + if (preTagChangeIdentifier == null || ! preTagChangeIdentifier.equals(tagIdentifier)) { + // 更新map数据 + currentTags.put(tag, tagIdentifier); + // 执行重新加载此项的动作 + handleReloadResult(this.reloadManager.doReload(reloadItem)); + } + } + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/annotation/SmartReload.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/annotation/SmartReload.java new file mode 100644 index 00000000..eac54afd --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/annotation/SmartReload.java @@ -0,0 +1,18 @@ +package net.lab1024.smartadmin.common.reload.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 定义 SmartReload 注解 + * + * @author zhuoda + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface SmartReload { + + String value(); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/AbstractSmartReloadObject.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/AbstractSmartReloadObject.java new file mode 100644 index 00000000..907d37da --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/AbstractSmartReloadObject.java @@ -0,0 +1,31 @@ +package net.lab1024.smartadmin.common.reload.domain; + +import net.lab1024.smartadmin.common.reload.domain.entity.ReloadItem; +import net.lab1024.smartadmin.common.reload.domain.entity.SmartReloadResult; + +import java.io.PrintWriter; +import java.io.StringWriter; +/** + * AbstractSmartReloadObject 处理程序的抽象类 + * + * @author zhuoda + */ +public abstract class AbstractSmartReloadObject { + + protected String getStackTrace(Throwable e) { + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + e.printStackTrace(pw); + return sw.toString(); + } + + /** + * 通过reloadItem参数reload,获得结果 + * + * @param reloadItem + * @return boolean + * @author zhuokongming + * @date 2016年10月21日 下午2:09:44 + */ + public abstract SmartReloadResult reload(ReloadItem reloadItem); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/AnnotationReloadObject.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/AnnotationReloadObject.java new file mode 100644 index 00000000..da19bcb9 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/AnnotationReloadObject.java @@ -0,0 +1,44 @@ +package net.lab1024.smartadmin.common.reload.domain; + +import net.lab1024.smartadmin.common.reload.annotation.SmartReload; +import net.lab1024.smartadmin.common.reload.domain.entity.ReloadItem; +import net.lab1024.smartadmin.common.reload.domain.entity.SmartReloadResult; + +import java.lang.reflect.Method; + +/** + * Reload 处理程序的实现类 + * 用于包装以注解 SmartReload 实现的处理类 + * + * @author zhuoda + */ +public class AnnotationReloadObject extends AbstractSmartReloadObject { + + private Object reloadObject; + + private Method method; + + public AnnotationReloadObject(Object reloadObject, Method method) { + super(); + this.reloadObject = reloadObject; + this.method = method; + this.method.setAccessible(true); + } + + @Override + public SmartReloadResult reload(ReloadItem reloadItem) { + SmartReloadResult result = new SmartReloadResult(); + String tag = method.getAnnotation(SmartReload.class).value(); + result.setTag(tag); + result.setArgs(reloadItem.getArgs()); + result.setIdentification(reloadItem.getIdentification()); + try { + Object invoke = method.invoke(reloadObject, reloadItem.getArgs()); + result.setResult((Boolean) invoke); + } catch (Throwable e) { + result.setException(getStackTrace(e)); + } + return result; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/InterfaceReloadObject.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/InterfaceReloadObject.java new file mode 100644 index 00000000..e0f75ba0 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/InterfaceReloadObject.java @@ -0,0 +1,37 @@ +package net.lab1024.smartadmin.common.reload.domain; + +import net.lab1024.smartadmin.common.reload.domain.entity.ReloadItem; +import net.lab1024.smartadmin.common.reload.domain.entity.SmartReloadResult; +import net.lab1024.smartadmin.common.reload.interfaces.SmartReloadable; + +/** + * Reload 处理程序的实现类 + * 用于处理以接口实现的处理类 + * + * @author zhuoda + */ +public class InterfaceReloadObject extends AbstractSmartReloadObject { + + private SmartReloadable object; + + public InterfaceReloadObject(SmartReloadable object) { + super(); + this.object = object; + } + + @Override + public SmartReloadResult reload(ReloadItem reloadItem) { + SmartReloadResult reloadResult = new SmartReloadResult(); + reloadResult.setArgs(reloadItem.getArgs()); + reloadResult.setIdentification(reloadItem.getIdentification()); + reloadResult.setTag(reloadItem.getTag()); + try { + boolean res = object.reload(reloadItem); + reloadResult.setResult(res); + } catch (Throwable e) { + reloadResult.setException(getStackTrace(e)); + } + return reloadResult; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/entity/ReloadItem.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/entity/ReloadItem.java new file mode 100644 index 00000000..66a89b60 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/entity/ReloadItem.java @@ -0,0 +1,55 @@ +package net.lab1024.smartadmin.common.reload.domain.entity; +/** + * ReloadItem 类 + * + * @author zhuoda + */ +public class ReloadItem { + + /** + * 项名称 + */ + private String tag; + + /** + * 参数 + */ + private String args; + + /** + * 标识 + */ + private String identification; + + public ReloadItem() { + + } + public ReloadItem(String tag, String identification, String args) { + this.tag = tag; + this.identification = identification; + this.args = args; + } + + public String getTag() { + return tag; + } + public void setTag(String tag) { + this.tag = tag; + } + public String getIdentification() { + return identification; + } + public void setIdentification(String identification) { + this.identification = identification; + } + public String getArgs() { + return args; + } + public void setArgs(String args) { + this.args = args; + } + @Override + public String toString() { + return "ReloadItem{" + "tag='" + tag + '\'' + ", identification='" + identification + '\'' + ", args='" + args + '\'' + '}'; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/entity/SmartReloadResult.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/entity/SmartReloadResult.java new file mode 100644 index 00000000..07c6d2d5 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/domain/entity/SmartReloadResult.java @@ -0,0 +1,102 @@ +package net.lab1024.smartadmin.common.reload.domain.entity; +/** + * t_reload_result 表 实体类 + * + * @author zhuoda + */ +public class SmartReloadResult { + + /** + * 项名称 + */ + private String tag; + + /** + * 参数 + */ + private String args; + + /** + * 标识 + */ + private String identification; + + /** + * 处理结果 + */ + private boolean result; + + /** + * 异常说明 + */ + private String exception; + + public SmartReloadResult() { + } + + public SmartReloadResult(String tag, String args, boolean result, String exception) { + this.tag = tag; + this.args = args; + this.result = result; + this.exception = exception; + } + + public SmartReloadResult(String tag, String args, String identification, boolean result, String exception) { + this.tag = tag; + this.args = args; + this.identification = identification; + this.result = result; + this.exception = exception; + } + + public void setTag(String tag) { + this.tag = tag; + } + + public void setArgs(String args) { + this.args = args; + } + + public void setIdentification(String identification) { + this.identification = identification; + } + + public void setResult(boolean result) { + this.result = result; + } + + public void setException(String exception) { + this.exception = exception; + } + + public String getTag() { + return tag; + } + + public String getArgs() { + return args; + } + + public String getIdentification() { + return identification; + } + + public boolean isResult() { + return result; + } + + public String getException() { + return exception; + } + + @Override + public String toString() { + return "SmartReloadResult{" + + "tag='" + tag + '\'' + + ", args='" + args + '\'' + + ", identification='" + identification + '\'' + + ", result=" + result + + ", exception='" + exception + '\'' + + '}'; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/interfaces/SmartReloadCommandInterface.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/interfaces/SmartReloadCommandInterface.java new file mode 100644 index 00000000..c9e04237 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/interfaces/SmartReloadCommandInterface.java @@ -0,0 +1,38 @@ +package net.lab1024.smartadmin.common.reload.interfaces; + +import net.lab1024.smartadmin.common.reload.domain.entity.ReloadItem; +import net.lab1024.smartadmin.common.reload.domain.entity.SmartReloadResult; + +import java.util.List; + +/** + * 检测是否 Reload 的类 + * + * @author zhuoda + */ +public interface SmartReloadCommandInterface { + + /** + * 任务: + * 读取数据库中 ReloadItem 数据 + * 校验是否发生变化 + * 执行重加载动作 + */ + void doTask(); + + /** + * 该方法返回一个List:
+ * ReloadItem对象的tagIdentify为:该tag的 状态(状态其实就是个字符串,如果该字符串跟上次有变化则进行reload操作)
+ * ReloadItem对象的args为: reload操作需要的参数

+ * + * @return List + */ + List readReloadItem(); + + /** + * 处理Reload结果 + * + * @param reloadResult + */ + void handleReloadResult(SmartReloadResult reloadResult); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/interfaces/SmartReloadThreadLogger.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/interfaces/SmartReloadThreadLogger.java new file mode 100644 index 00000000..e03c9ad7 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/interfaces/SmartReloadThreadLogger.java @@ -0,0 +1,12 @@ +package net.lab1024.smartadmin.common.reload.interfaces; + +/** + * SmartReloadThreadLogger 日志类 + */ +public interface SmartReloadThreadLogger { + + void error(String string); + + void error(String string, Throwable e); + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/interfaces/SmartReloadable.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/interfaces/SmartReloadable.java new file mode 100644 index 00000000..85473d5f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/reload/interfaces/SmartReloadable.java @@ -0,0 +1,19 @@ +package net.lab1024.smartadmin.common.reload.interfaces; + +import net.lab1024.smartadmin.common.reload.domain.entity.ReloadItem; + +/** + * reload 接口
+ * 需要reload的业务实现类 + */ +@FunctionalInterface +public interface SmartReloadable { + + /** + * reload + * + * @param reloadItem + * @return boolean + */ + boolean reload(ReloadItem reloadItem); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/swagger/SmartSwaggerApiModelEnumPlugin.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/swagger/SmartSwaggerApiModelEnumPlugin.java new file mode 100644 index 00000000..dbc2d586 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/swagger/SmartSwaggerApiModelEnumPlugin.java @@ -0,0 +1,90 @@ +/* + * + * Copyright 2015 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * + */ + +package net.lab1024.smartadmin.common.swagger; + +import net.lab1024.smartadmin.common.anno.ApiModelPropertyEnum; +import net.lab1024.smartadmin.common.domain.BaseEnum; +import com.google.common.base.Function; +import com.google.common.base.Optional; +import org.apache.commons.lang3.StringUtils; +import org.springframework.core.annotation.AnnotationUtils; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.schema.ModelPropertyBuilderPlugin; +import springfox.documentation.spi.schema.contexts.ModelPropertyContext; +import springfox.documentation.swagger.common.SwaggerPluginSupport; + +import java.lang.reflect.AnnotatedElement; + +import static springfox.documentation.schema.Annotations.findPropertyAnnotation; + +/** + * swagger 用于说明枚举类字段说明 + * SWAGGER_PLUGIN_ORDER+1 是将此配置放在原来的后面执行 + * + * @author listen + * @date 2019年5月16日 15:36:56 + */ +public class SmartSwaggerApiModelEnumPlugin implements ModelPropertyBuilderPlugin { + + @Override + public void apply(ModelPropertyContext context) { + Optional enumOptional = Optional.absent(); + + if (context.getAnnotatedElement().isPresent()) { + enumOptional = enumOptional.or(findApiModePropertyAnnotation(context.getAnnotatedElement().get())); + } + if (context.getBeanPropertyDefinition().isPresent()) { + enumOptional = enumOptional.or(findPropertyAnnotation(context.getBeanPropertyDefinition().get(), ApiModelPropertyEnum.class)); + } + + if (enumOptional.isPresent()) { + ApiModelPropertyEnum anEnum = enumOptional.get(); + String enumInfo = BaseEnum.getInfo(anEnum.value()); + context.getBuilder() + .required(enumOptional.transform(toIsRequired()).or(false)) + .description(anEnum.enumDesc() + ":" + enumInfo) + .example(enumOptional.transform(toExample()).orNull()) + .isHidden(anEnum.hidden()); + } + } + + @Override + public boolean supports(DocumentationType delimiter) { + return SwaggerPluginSupport.pluginDoesApply(delimiter); + } + + static Function toIsRequired() { + return annotation -> annotation.required(); + } + + public static Optional findApiModePropertyAnnotation(AnnotatedElement annotated) { + return Optional.fromNullable(AnnotationUtils.getAnnotation(annotated, ApiModelPropertyEnum.class)); + } + + static Function toExample() { + return annotation -> { + String example = annotation.example(); + if (StringUtils.isBlank(example)) { + return ""; + } + return example; + }; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/bigdecimal/BigDecimalValidator.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/bigdecimal/BigDecimalValidator.java new file mode 100644 index 00000000..5ba85bf7 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/bigdecimal/BigDecimalValidator.java @@ -0,0 +1,73 @@ +package net.lab1024.smartadmin.common.validator.bigdecimal; + +import net.lab1024.smartadmin.util.SmartBigDecimalUtil; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import java.math.BigDecimal; + +/** + * BigDecimal 类校验器 + * + * @author listen + * @date 2018年3月20日 13:51:46 + */ +public class BigDecimalValidator implements ConstraintValidator { + + /** + * 获取定义的数值 + */ + private BigDecimal value; + + /** + * 获取比较符 + */ + private ComparisonSymbolEnum symbolEnum; + + /** + * 是否必须 + */ + private boolean required; + + @Override + public void initialize(CheckBigDecimal constraintAnnotation) { + // 初始化属性 + value = new BigDecimal(constraintAnnotation.value()); + symbolEnum = constraintAnnotation.symbolEnum(); + required = constraintAnnotation.required(); + } + + @Override + public boolean isValid(BigDecimal decimal, ConstraintValidatorContext constraintValidatorContext) { + + // 如果数值为空,校验是否必须 + if (null == decimal) { + return ! required; + } + + // 根据操作符,校验结果 + switch (symbolEnum) { + // 等于 + case EQUAL: + return SmartBigDecimalUtil.equals(decimal, value); + // 不等于 + case NOT_EQUAL: + return ! SmartBigDecimalUtil.equals(decimal, value); + // 小于 + case LESS_THAN: + return SmartBigDecimalUtil.isLessThan(decimal, value); + // 小于等于 + case LESS_THAN_OR_EQUAL: + return SmartBigDecimalUtil.isLessThan(decimal, value) || SmartBigDecimalUtil.equals(decimal, value); + // 大于 + case GREATER_THAN: + return SmartBigDecimalUtil.isGreaterThan(decimal, value); + // 大于等于 + case GREATER_THAN_OR_EQUAL: + return SmartBigDecimalUtil.isGreaterThan(decimal, value) || SmartBigDecimalUtil.equals(decimal, value); + default: + } + + return false; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/bigdecimal/CheckBigDecimal.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/bigdecimal/CheckBigDecimal.java new file mode 100644 index 00000000..73ef5668 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/bigdecimal/CheckBigDecimal.java @@ -0,0 +1,53 @@ +package net.lab1024.smartadmin.common.validator.bigdecimal; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 自定义的属性校验注解 + * + * @author listen + * @date 2018年3月20日 13:53:33 + */ +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.RUNTIME) +@Constraint(validatedBy = BigDecimalValidator.class)// 自定义验证的处理类 +public @interface CheckBigDecimal { + + /** + * 与这个数值校验 + * + * @return + */ + String value(); + + /** + * 比较符 请使用 ComparisonSymbolEnum 枚举类 + * + * @return + */ + ComparisonSymbolEnum symbolEnum(); + + /** + * 默认的错误提示信息 + * + * @return String + */ + String message() default "非法的数值"; + + /** + * 是否必须 : 默认 true + * + * @return boolean + */ + boolean required() default true; + + //下面这两个属性必须添加 :不然会报错 + Class[] groups() default {}; + + Class[] payload() default {}; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/bigdecimal/ComparisonSymbolEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/bigdecimal/ComparisonSymbolEnum.java new file mode 100644 index 00000000..e59d0bf3 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/bigdecimal/ComparisonSymbolEnum.java @@ -0,0 +1,40 @@ +package net.lab1024.smartadmin.common.validator.bigdecimal; + +/** + * 比较符枚举类 + * + * @author listen + * @date 2018/03/20 14:01 + */ +public enum ComparisonSymbolEnum { + + /** + * 等于 + */ + EQUAL, + + /** + * 不等于 + */ + NOT_EQUAL, + + /** + * 小于 + */ + LESS_THAN, + + /** + * 小于等于 + */ + LESS_THAN_OR_EQUAL, + + /** + * 大于 + */ + GREATER_THAN, + + /** + * 大于等于 + */ + GREATER_THAN_OR_EQUAL, +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/en/CheckEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/en/CheckEnum.java new file mode 100644 index 00000000..ceef46fc --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/en/CheckEnum.java @@ -0,0 +1,50 @@ +package net.lab1024.smartadmin.common.validator.en; + + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 自定义的属性校验注解 + * 为了方便与校验属性的值是否为合法的枚举值 + * + * @author listen + * @date 2017/11/11 15:31 + */ +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.RUNTIME) +@Constraint(validatedBy = EnumValidator.class)// 自定义验证的处理类 +public @interface CheckEnum { + + /** + * 默认的错误提示信息 + * + * @return String + */ + String message() default "非法的枚举值"; + + /** + * 枚举类对象 必须实现BaseEnum接口 + * + * @return + */ + Class enumClazz(); + + /** + * 是否必须 + * + * @return boolean + */ + boolean required() default false; + + //下面这两个属性必须添加 :不然会报错 + Class[] groups() default {}; + + Class[] payload() default {}; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/en/EnumValidator.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/en/EnumValidator.java new file mode 100644 index 00000000..adbc1dbe --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/validator/en/EnumValidator.java @@ -0,0 +1,71 @@ +package net.lab1024.smartadmin.common.validator.en; + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * 枚举类校验器 + * + * @author listen + * @date 2017/11/11 15:34 + */ +public class EnumValidator implements ConstraintValidator { + + /** + * 枚举类实例集合 + */ + private List enumValList; + + /** + * 是否必须 + */ + private boolean required; + + @Override + public void initialize(CheckEnum constraintAnnotation) { + // 获取注解传入的枚举类对象 + required = constraintAnnotation.required(); + Class enumClass = constraintAnnotation.enumClazz(); + enumValList = Stream.of(enumClass.getEnumConstants()).map(BaseEnum::getValue).collect(Collectors.toList()); + } + + @Override + public boolean isValid(Object value, ConstraintValidatorContext constraintValidatorContext) { + // 判断是否必须 + if (null == value) { + return !required; + } + + if (value instanceof List) { + // 如果为 List 集合数据 + return this.checkList((List) value); + } + + // 校验是否为合法的枚举值 + return enumValList.contains(value); + } + + /** + * 校验集合类型 + * + * @param list + * @return + */ + private boolean checkList(List list) { + if (required && list.isEmpty()) { + // 必须的情况下 list 不能为空 + return false; + } + // 校验是否重复 + long count = list.stream().distinct().count(); + if (count != list.size()) { + return false; + } + return enumValList.containsAll(list); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartAdminWebAppConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartAdminWebAppConfig.java new file mode 100644 index 00000000..04d30c67 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartAdminWebAppConfig.java @@ -0,0 +1,25 @@ +package net.lab1024.smartadmin.config; + +import net.lab1024.smartadmin.interceptor.SmartAuthenticationInterceptor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.*; + +@Configuration +public class SmartAdminWebAppConfig implements WebMvcConfigurer { + + @Autowired + private SmartAuthenticationInterceptor smartAuthenticationInterceptor; + + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(smartAuthenticationInterceptor).addPathPatterns("/**"); + } + + + @Override + public void addViewControllers(ViewControllerRegistry registry) { + registry.addViewController("/druidMonitor").setViewName("redirect:/druid/index.html"); + registry.addViewController("/swaggerApi").setViewName("redirect:/swagger-ui.html"); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartDruidDataSourceConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartDruidDataSourceConfig.java new file mode 100644 index 00000000..560bda2a --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartDruidDataSourceConfig.java @@ -0,0 +1,172 @@ +package net.lab1024.smartadmin.config; + +import com.alibaba.druid.filter.Filter; +import com.alibaba.druid.filter.stat.StatFilter; +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.support.http.StatViewServlet; +import com.alibaba.druid.support.http.WebStatFilter; +import com.alibaba.druid.support.spring.stat.DruidStatInterceptor; +import com.alibaba.druid.util.JdbcConstants; +import lombok.extern.slf4j.Slf4j; +import org.springframework.aop.support.DefaultPointcutAdvisor; +import org.springframework.aop.support.JdkRegexpMethodPointcut; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.boot.web.servlet.ServletRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; + +import javax.sql.DataSource; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +/** + * [ 数据源配置 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Slf4j +@Configuration +public class SmartDruidDataSourceConfig { + + @Value("${spring.datasource.driver-class-name}") + String driver; + + @Value("${spring.datasource.url}") + String url; + + @Value("${spring.datasource.username}") + String username; + + @Value("${spring.datasource.password}") + String password; + + @Value("${spring.datasource.initial-size}") + int initialSize; + + @Value("${spring.datasource.min-idle}") + int minIdle; + + @Value("${spring.datasource.max-active}") + int maxActive; + + @Value("${spring.datasource.max-wait}") + long maxWait; + + @Value("${spring.datasource.time-between-eviction-runs-millis}") + long timeBetweenEvictionRunsMillis; + + @Value("${spring.datasource.min-evictable-idle-time-millis}") + long minEvictableIdleTimeMillis; + + @Value("${spring.datasource.filters}") + String filters; + + @Value("${spring.datasource.druid.username}") + String druidUserName; + + @Value("${spring.datasource.druid.password}") + String druidPassword; + + @Value("${spring.datasource.druid.login.enabled}") + boolean druidLoginEnable; + + @Autowired + private StatFilter logSlowSql; + + @Autowired + private DruidStatInterceptor druidStatInterceptor; + + @Bean + @Primary + public DataSource druidDataSource() { + DruidDataSource druidDataSource = new DruidDataSource(); + druidDataSource.setDbType(JdbcConstants.MYSQL); + druidDataSource.setDriverClassName(driver); + druidDataSource.setUrl(url); + druidDataSource.setUsername(username); + druidDataSource.setPassword(password); + druidDataSource.setInitialSize(initialSize); + druidDataSource.setMinIdle(minIdle); + druidDataSource.setMaxActive(maxActive); + druidDataSource.setMaxWait(maxWait); + druidDataSource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis); + druidDataSource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis); + try { + druidDataSource.setFilters(filters); + ArrayList arrayList = new ArrayList<>(); + arrayList.add(logSlowSql); + druidDataSource.setProxyFilters(arrayList); + druidDataSource.init(); + } catch (SQLException e) { + log.error("初始化数据源出错", e); + } + + return druidDataSource; + } + + @Bean + public ServletRegistrationBean druidServlet() { + ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(); + servletRegistrationBean.setServlet(new StatViewServlet()); + servletRegistrationBean.addUrlMappings("/druid/*"); + Map initParameters = new HashMap(); + //不设置用户名密码可以直接通过druid/index.html访问 + if (druidLoginEnable) { + initParameters.put("loginUsername", druidUserName); + initParameters.put("loginPassword", druidPassword); + } + initParameters.put("resetEnable", "false"); + servletRegistrationBean.setInitParameters(initParameters); + return servletRegistrationBean; + } + + @Bean + public FilterRegistrationBean filterRegistrationBean() { + FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); + filterRegistrationBean.setFilter(new WebStatFilter()); + filterRegistrationBean.addUrlPatterns("/*"); + filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); + return filterRegistrationBean; + } + + @Bean + public StatFilter logSlowSql() { + StatFilter statFilter = new StatFilter(); + statFilter.setMergeSql(true); + statFilter.setSlowSqlMillis(300); + statFilter.setLogSlowSql(true); + return statFilter; + } + + @Bean(name = "druid-stat-interceptor") + public DruidStatInterceptor druidStatInterceptor() { + DruidStatInterceptor dsInterceptor = new DruidStatInterceptor(); + return dsInterceptor; + } + + @Bean + public JdkRegexpMethodPointcut jdkRegexpMethodPointcut() { + JdkRegexpMethodPointcut jdkRegexpMethodPointcut = new JdkRegexpMethodPointcut(); + jdkRegexpMethodPointcut.setPatterns("net.lab1024.smartadmin.module..*Service.*"); + return jdkRegexpMethodPointcut; + } + + @Bean + public DefaultPointcutAdvisor defaultPointcutAdvisor() { + DefaultPointcutAdvisor pointcutAdvisor = new DefaultPointcutAdvisor(); + pointcutAdvisor.setPointcut(jdkRegexpMethodPointcut()); + pointcutAdvisor.setAdvice(druidStatInterceptor); + return pointcutAdvisor; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartHeartBeatConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartHeartBeatConfig.java new file mode 100644 index 00000000..14517a8f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartHeartBeatConfig.java @@ -0,0 +1,33 @@ +package net.lab1024.smartadmin.config; + +import lombok.Data; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; + +/** + * + * [ ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Data +@Configuration +public class SmartHeartBeatConfig { + + /** + * 延迟执行时间 + */ + @Value("${heart-beat.delayHandlerTime}") + private Long delayHandlerTime; + + /** + * 间隔执行时间 + */ + @Value("${heart-beat.intervalTime}") + private Long intervalTime; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartKaptchaConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartKaptchaConfig.java new file mode 100644 index 00000000..06dd1c95 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartKaptchaConfig.java @@ -0,0 +1,49 @@ +package net.lab1024.smartadmin.config; + +import net.lab1024.smartadmin.common.kaptcha.KaptchaNoise; +import net.lab1024.smartadmin.common.kaptcha.KaptchaWordRenderer; +import com.google.code.kaptcha.impl.DefaultKaptcha; +import com.google.code.kaptcha.util.Config; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.Properties; + +/** + * [ 验证码配置 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/4 0004 上午 9:40 + * @since JDK1.8 + */ +@Configuration +public class SmartKaptchaConfig { + + @Bean + public DefaultKaptcha getDefaultKaptcha(){ + DefaultKaptcha defaultKaptcha=new DefaultKaptcha(); + Properties properties=new Properties(); + properties.setProperty("kaptcha.border", "no"); + properties.setProperty("kaptcha.border.color", "34,114,200"); + properties.setProperty("kaptcha.image.width", "125"); + properties.setProperty("kaptcha.image.height", "45"); + properties.setProperty("kaptcha.textproducer.char.string", "0123456789"); + properties.setProperty("kaptcha.textproducer.char.length", "4"); + properties.setProperty("kaptcha.textproducer.font.names", "Arial,Arial Narrow,Serif,Helvetica,Tahoma,Times New Roman,Verdana"); + properties.setProperty("kaptcha.textproducer.font.size", "38"); + + properties.setProperty("kaptcha.background.clear.from", "white"); + properties.setProperty("kaptcha.background.clear.to", "white"); + + properties.setProperty("kaptcha.word.impl", KaptchaWordRenderer.class.getName()); + properties.setProperty("kaptcha.noise.impl", KaptchaNoise.class.getName()); + + Config config=new Config(properties); + defaultKaptcha.setConfig(config); + return defaultKaptcha; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartMybatisPlusConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartMybatisPlusConfig.java new file mode 100644 index 00000000..6bdcfb08 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartMybatisPlusConfig.java @@ -0,0 +1,27 @@ +package net.lab1024.smartadmin.config; + +import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; +import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * @author zhuoda + */ +@EnableTransactionManagement +@Configuration +@MapperScan(basePackages = {"net.lab1024.smartadmin.module.*"}) +public class SmartMybatisPlusConfig { + + /** + * 分页插件 + */ + @Bean + public PaginationInterceptor paginationInterceptor() { + // 开启 count 的 join 优化,只针对 left join !!! + return new PaginationInterceptor().setCountSqlParser(new JsqlParserCountOptimize(true)); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartRedisConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartRedisConfig.java new file mode 100644 index 00000000..829ca01f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartRedisConfig.java @@ -0,0 +1,74 @@ +package net.lab1024.smartadmin.config; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.*; +import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +/** + * [ redis配置 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Configuration +public class SmartRedisConfig { + + @Autowired + private RedisConnectionFactory factory; + + @Bean + public RedisTemplate redisTemplate() { + Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); + ObjectMapper om = new ObjectMapper(); + om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); + jackson2JsonRedisSerializer.setObjectMapper(om); + RedisTemplate template = new RedisTemplate(); + template.setConnectionFactory(factory); + template.setKeySerializer(new StringRedisSerializer()); + template.setValueSerializer(jackson2JsonRedisSerializer); + template.setHashKeySerializer(jackson2JsonRedisSerializer); + template.setHashValueSerializer(jackson2JsonRedisSerializer); + template.setDefaultSerializer(new StringRedisSerializer()); + template.afterPropertiesSet(); + return template; + } + + @Bean + public HashOperations hashOperations(RedisTemplate redisTemplate) { + return redisTemplate.opsForHash(); + } + + @Bean + public ValueOperations valueOperations(RedisTemplate redisTemplate) { + return redisTemplate.opsForValue(); + } + + @Bean + public ListOperations listOperations(RedisTemplate redisTemplate) { + return redisTemplate.opsForList(); + } + + @Bean + public SetOperations setOperations(RedisTemplate redisTemplate) { + return redisTemplate.opsForSet(); + } + + @Bean + public ZSetOperations zSetOperations(RedisTemplate redisTemplate) { + return redisTemplate.opsForZSet(); + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartReloadConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartReloadConfig.java new file mode 100644 index 00000000..bf5defdd --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartReloadConfig.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.config; + +import net.lab1024.smartadmin.common.reload.SmartReloadManager; +import net.lab1024.smartadmin.common.reload.interfaces.SmartReloadThreadLogger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/28 0028 下午 20:15 + * @since JDK1.8 + */ +@Slf4j +@Configuration +public class SmartReloadConfig { + + @Value("${smart-reload.thread-count}") + private Integer threadCount; + + @Bean + public SmartReloadManager initSmartReloadManager() { + /** + * 创建 Reload Manager 调度器 + */ + SmartReloadManager smartReloadManager = new SmartReloadManager(new SmartReloadThreadLogger() { + @Override + public void error(String string) { + log.error(string); + } + + @Override + public void error(String string, Throwable e) { + log.error(string, e); + } + }, threadCount); + return smartReloadManager; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartRestTemplateConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartRestTemplateConfig.java new file mode 100644 index 00000000..70d9624c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartRestTemplateConfig.java @@ -0,0 +1,109 @@ +package net.lab1024.smartadmin.config; + +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import org.apache.http.client.HttpClient; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.config.Registry; +import org.apache.http.config.RegistryBuilder; +import org.apache.http.conn.socket.ConnectionSocketFactory; +import org.apache.http.conn.socket.PlainConnectionSocketFactory; +import org.apache.http.conn.ssl.SSLConnectionSocketFactory; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; +import org.springframework.http.client.ClientHttpRequestFactory; +import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; +import org.springframework.http.converter.FormHttpMessageConverter; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.StringHttpMessageConverter; +import org.springframework.web.client.RestTemplate; + +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Configuration +public class SmartRestTemplateConfig { + + + @Value("${http.pool.max-total}") + private Integer maxTotal; + @Value("${http.pool.default-max-per-route}") + private Integer defaultMaxPerRoute; + @Value("${http.pool.socket-timeout}") + private Integer socketTimeout; + @Value("${http.pool.connect-timeout}") + private Integer connectTimeout; + @Value("${http.pool.connection-request-timeout}") + private Integer connectionRequestTimeout; + + + @Bean + public RestTemplate restTemplate(ClientHttpRequestFactory factory) { + return new RestTemplate(factory); + } + + @Bean + public ClientHttpRequestFactory httpRequestFactory() { + HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient()); + return factory; + } + + /** + * fastJsonRestTemplate + * + * @return + */ + @Bean(name = "fastJsonRestTemplate") + public RestTemplate fastJsonRestTemplate() { + RestTemplate restTemplate = new RestTemplate(httpRequestFactory()); + + HttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8")); + + FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); + List fastMediaTypes = new ArrayList<>(); + fastMediaTypes.add(MediaType.APPLICATION_FORM_URLENCODED); + fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); + fastConverter.setSupportedMediaTypes(fastMediaTypes); + List> converters = restTemplate.getMessageConverters(); + converters.add(1,converter); + converters.add(fastConverter); + return restTemplate; + } + + + @Bean + public HttpClient httpClient() { + Registry registry = RegistryBuilder.create() + .register("http", PlainConnectionSocketFactory.getSocketFactory()) + .register("https", SSLConnectionSocketFactory.getSocketFactory()) + .build(); + PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(registry); + connectionManager.setMaxTotal(maxTotal); + connectionManager.setDefaultMaxPerRoute(defaultMaxPerRoute); + + RequestConfig requestConfig = RequestConfig.custom() + .setSocketTimeout(socketTimeout) + .setConnectTimeout(connectTimeout) + .setConnectionRequestTimeout(connectionRequestTimeout) + .build(); + return HttpClientBuilder.create() + .setDefaultRequestConfig(requestConfig) + .setConnectionManager(connectionManager) + .build(); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartSwaggerApiModelEnumConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartSwaggerApiModelEnumConfig.java new file mode 100644 index 00000000..93e45791 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartSwaggerApiModelEnumConfig.java @@ -0,0 +1,29 @@ +package net.lab1024.smartadmin.config; + +import net.lab1024.smartadmin.common.swagger.SmartSwaggerApiModelEnumPlugin; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; +import org.springframework.core.annotation.Order; +import springfox.documentation.swagger.common.SwaggerPluginSupport; + +/** + * [ 对于枚举类进行swagger注解,与前端的vue-enum相匹配 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/8/9 0009 上午 9:46 + * @since JDK1.8 + */ +@Configuration +@Profile({"dev", "sit", "pre", "prod"}) +public class SmartSwaggerApiModelEnumConfig { + + @Bean + @Order(SwaggerPluginSupport.SWAGGER_PLUGIN_ORDER + 1) + public SmartSwaggerApiModelEnumPlugin swaggerEnum(){ + return new SmartSwaggerApiModelEnumPlugin(); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartSwaggerDynamicGroupConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartSwaggerDynamicGroupConfig.java new file mode 100644 index 00000000..aad7b175 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartSwaggerDynamicGroupConfig.java @@ -0,0 +1,236 @@ +package net.lab1024.smartadmin.config; + +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; +import com.google.common.base.Optional; +import com.google.common.base.Predicate; +import com.google.common.base.Predicates; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.interceptor.SmartAuthenticationInterceptor; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.beans.factory.support.BeanDefinitionBuilder; +import org.springframework.beans.factory.support.BeanDefinitionRegistry; +import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor; +import org.springframework.context.EnvironmentAware; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; +import org.springframework.core.env.Environment; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.RequestHandler; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.ParameterBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.schema.ModelRef; +import springfox.documentation.service.*; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.contexts.SecurityContext; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * [ 根据SwaggerTagConst内部类动态生成Swagger group ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/8/7 0007 下午 19:20 + * @since JDK1.8 + */ +@Slf4j +@EnableSwagger2 +@EnableKnife4j +@Configuration +@Profile({"dev", "sit", "pre", "prod"}) +public class SmartSwaggerDynamicGroupConfig implements EnvironmentAware, BeanDefinitionRegistryPostProcessor { + + /** + * 分组名称 + */ + private String apiGroupName; + + /** + * 文档标题 + */ + private String title; + + /** + * 文档描述 + */ + private String description; + + /** + * api版本 + */ + private String version; + + /** + * service url + */ + private String serviceUrl; + + /** + * controller 包路径 + */ + private String packAge; + + private int groupIndex = 0; + + private String groupName = "default"; + + private final List groupList = Lists.newArrayList(); + + private final Map> groupMap = Maps.newHashMap(); + + @Override + public void setEnvironment(Environment environment) { + this.apiGroupName = environment.getProperty("swagger.apiGroupName"); + this.title = environment.getProperty("swagger.title"); + this.description = environment.getProperty("swagger.description"); + this.version = environment.getProperty("swagger.version"); + this.serviceUrl = environment.getProperty("swagger.serviceUrl"); + this.packAge = environment.getProperty("swagger.packAge"); + } + + @Override + public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { + this.groupBuild(); + for (Map.Entry> entry : groupMap.entrySet()) { + String group = entry.getKey(); + BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(Docket.class, this::baseDocket); + BeanDefinition beanDefinition = builder.getRawBeanDefinition(); + registry.registerBeanDefinition(group + "Api", beanDefinition); + } + } + + private void groupBuild() { + Class clazz = SwaggerTagConst.class; + Class[] innerClazz = clazz.getDeclaredClasses(); + for (Class cls : innerClazz) { + String group = cls.getSimpleName(); + List apiTags = Lists.newArrayList(); + Field[] fields = cls.getDeclaredFields(); + for (Field field : fields) { + boolean isFinal = Modifier.isFinal(field.getModifiers()); + if (isFinal) { + try { + apiTags.add(field.get(null).toString()); + } catch (Exception e) { + log.error("", e); + } + } + } + groupList.add(group); + groupMap.put(group, apiTags); + } + } + + private Docket baseDocket() { + // 配置全局参数 token + ParameterBuilder tokenPar = new ParameterBuilder(); + Parameter parameter = tokenPar.name(SmartAuthenticationInterceptor.TOKEN_NAME) + .description("token") + .modelRef(new ModelRef("string")) + .parameterType("header") + .defaultValue("") + .required(false) + .build(); + + // 请求类型过滤规则 + Predicate controllerPredicate = getControllerPredicate(); + // controller 包路径 + Predicate controllerPackage = RequestHandlerSelectors.basePackage(packAge); + return new Docket(DocumentationType.SWAGGER_2) + .groupName(groupName) + .forCodeGeneration(true) + .select() + .apis(controllerPackage) + .apis(controllerPredicate) + .paths(PathSelectors.any()) + .build() + .apiInfo(this.serviceApiInfo()) + .securitySchemes(securitySchemes()) + .securityContexts(securityContexts()) + .globalOperationParameters(Lists.newArrayList(parameter)); + } + + private List securitySchemes() { + List apiKeyList = new ArrayList<>(); + apiKeyList.add(new ApiKey("x-access-token", "x-access-token", "header")); + return apiKeyList; + } + + private List securityContexts() { + List securityContexts = new ArrayList<>(); + securityContexts.add( + SecurityContext.builder() + .securityReferences(defaultAuth()) + .forPaths(PathSelectors.any()) + .build()); + return securityContexts; + } + + List defaultAuth() { + AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); + AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; + authorizationScopes[0] = authorizationScope; + List securityReferences = new ArrayList<>(); + securityReferences.add(new SecurityReference("x-access-token", authorizationScopes)); + return securityReferences; + } + + private Predicate getControllerPredicate() { + groupName = groupList.get(groupIndex); + List apiTags = groupMap.get(groupName); + Predicate methodPredicate = (input) -> { + Api api = null; + Optional apiOptional = input.findControllerAnnotation(Api.class); + if (apiOptional.isPresent()) { + api = apiOptional.get(); + } + List tags = Arrays.asList(api.tags()); + if (api != null && apiTags.containsAll(tags)) { + return true; + } + return false; + }; + groupIndex++; + return Predicates.or( + Predicates.and(RequestHandlerSelectors.withClassAnnotation(RestController.class), methodPredicate), + Predicates.and( + RequestHandlerSelectors.withMethodAnnotation(ResponseBody.class), methodPredicate) + ); + } + + private ApiInfo serviceApiInfo() { + return new ApiInfoBuilder() + .title(title) + .description(description) + .version(version) + .license("Apache License Version 2.0") + .contact(new Contact("1024创新实验室", "http://www.1024lab.net", "")) + .termsOfServiceUrl(serviceUrl) + .build(); + } + + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException { + + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartWebSocketConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartWebSocketConfig.java new file mode 100644 index 00000000..f431fdac --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartWebSocketConfig.java @@ -0,0 +1,25 @@ +package net.lab1024.smartadmin.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.socket.server.standard.ServerEndpointExporter; + +/** + * [ WebSocketConfig ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/10 0010 下午 16:07 + * @since JDK1.8 + */ +@Configuration +public class SmartWebSocketConfig { + + @Bean + public ServerEndpointExporter serverEndpointExporter() { + return new ServerEndpointExporter(); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SystemEnvironmentCondition.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SystemEnvironmentCondition.java new file mode 100644 index 00000000..63c2a5ed --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SystemEnvironmentCondition.java @@ -0,0 +1,22 @@ +package net.lab1024.smartadmin.config; +import net.lab1024.smartadmin.constant.SystemEnvironmentEnum; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Condition; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; +/** + * 是否是正式环境 + * + * @author listen + * @date 2019/08/27 08:56 + */ +public class SystemEnvironmentCondition implements Condition { + + @Value("${spring.profiles.active}") + private String systemEnvironment; + + @Override + public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) { + return ! SystemEnvironmentEnum.PROD.equalsValue(systemEnvironment); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/CommonConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/CommonConst.java new file mode 100644 index 00000000..b2c4a63f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/CommonConst.java @@ -0,0 +1,51 @@ +package net.lab1024.smartadmin.constant; + +import com.google.common.collect.ImmutableSet; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.Set; + +/** + * + * [ 通用常量 ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +public class CommonConst { + + + public static final class Page { + public static final Integer SIZE = 10; + } + + public static final class Password { + public static final String DEFAULT = "123456"; + public static final String SALT_FORMAT = "smart_%s_admin"; + } + + public static final String IGNORE_H5_URL_MAPPING = "/h5/api"; + + public static final class CommonCollection { + public static final Set IGNORE_URL = ImmutableSet.of("/swagger", "Excel"); + + public static final Set IGNORE_URL_MAPPING = ImmutableSet.of(IGNORE_H5_URL_MAPPING); + + public static Boolean contain(Set ignores, String uri) { + if (CollectionUtils.isEmpty(ignores)) { + return false; + } + for (String ignoreUrl : ignores) { + if (uri.startsWith(ignoreUrl)) { + return true; + } + } + return false; + } + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SmartReloadTagConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SmartReloadTagConst.java new file mode 100644 index 00000000..0799bd66 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SmartReloadTagConst.java @@ -0,0 +1,16 @@ +package net.lab1024.smartadmin.constant; +/** + * smart initDefines 项 常量 + * + * @author listen + * @date 2018/02/10 14:29 + */ +public class SmartReloadTagConst { + + /** + * 系统环境设置 DEMO + */ + public static final String SYSTEM_CONFIG = "system_config"; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SwaggerTagConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SwaggerTagConst.java new file mode 100644 index 00000000..559f9a30 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SwaggerTagConst.java @@ -0,0 +1,69 @@ +package net.lab1024.smartadmin.constant; + +/** + * [] + * + * @author yandanyang + * @version 1.0 + * @since JDK1.8 + */ +public class SwaggerTagConst { + + + public static class Admin { + public static final String MANAGER_SYSTEM_CONFIG = "管理端-系统配置"; + + public static final String MANAGER_USER = "管理端-用户"; + + public static final String MANAGER_USER_LOGIN = "管理端-用户登录"; + + public static final String MANAGER_DEPARTMENT = "管理端-部门"; + + public static final String MANAGER_ROLE = "管理端-角色"; + + public static final String MANAGER_ROLE_USER = "管理端-角色用户"; + + public static final String MANAGER_ROLE_PRIVILEGE = "管理端-角色权限"; + + public static final String MANAGER_SMART_RELOAD = "管理端-smart reload"; + + public static final String MANAGER_ORDER_OPERATE_LOG = "管理端-单据操作日志"; + + public static final String MANAGER_TASK_SCHEDULER = "管理端-任务调度"; + + public static final String MANAGER_USER_LOGIN_LOG = "管理端-用户登录日志"; + + public static final String MANAGER_USER_OPERATE_LOG = "管理端-用户操作日志"; + + public static final String MANAGER_DATA_SCOPE = "管理端-数据范围"; + + public static final String MANAGER_JOB = "管理端-岗位"; + + public static final String MANAGER_NOTICE = "管理端-系统通知"; + + public static final String MANAGER_FILE = "通用-文件服务"; + + public static final String MANAGER_PRIVILEGE = "通用-权限"; + + public static final String MANAGER_EMAIL = "通用-邮件发送"; + + public static final String MANAGER_HEART_BEAT = "通用-心跳服务"; + } + + /** + * 自定义分组2 + */ + public static class Group2 { + + + } + + /** + * 自定义分组2 + */ + public static class Group3 { + + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SystemEnvironmentEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SystemEnvironmentEnum.java new file mode 100644 index 00000000..e8d0fd75 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SystemEnvironmentEnum.java @@ -0,0 +1,67 @@ +package net.lab1024.smartadmin.constant; + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +/** + * 系统环境枚举类 + * + * @author listen + * @date 2019年4月11日 17:34:59 + */ +public enum SystemEnvironmentEnum implements BaseEnum { + + + /** + * dev + */ + DEV("dev", "开发环境"), + + /** + * sit + */ + SIT("sit", "测试环境"), + + /** + * pre + */ + PRE("pre", "预发布环境"), + + /** + * prod + */ + PROD("prod", "生产环境"); + + + public static final String DEV_ENV = "dev"; + + + private String value; + + private String desc; + + SystemEnvironmentEnum(String value, String desc) { + this.value = value; + this.desc = desc; + } + + /** + * 获取定义枚举value值 + * + * @return Integer + */ + @Override + public String getValue() { + return value; + } + + /** + * 获取枚举类的说明 + * + * @return String + */ + @Override + public String getDesc() { + return desc; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/handler/SmartGlobalExceptionHandler.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/handler/SmartGlobalExceptionHandler.java new file mode 100644 index 00000000..dabd6fd9 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/handler/SmartGlobalExceptionHandler.java @@ -0,0 +1,73 @@ +package net.lab1024.smartadmin.handler; + +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.common.exception.SmartBusinessException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.TypeMismatchException; +import org.springframework.http.converter.HttpMessageNotReadableException; +import org.springframework.validation.FieldError; +import org.springframework.web.HttpRequestMethodNotSupportedException; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * [ 全局异常拦截 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Slf4j +@ControllerAdvice +public class SmartGlobalExceptionHandler { + + /** + * 添加全局异常处理流程 + * + * @param e + * @return + * @throws Exception + */ + @ResponseBody + @ExceptionHandler(Exception.class) + public ResponseDTO exceptionHandler(Exception e) { + log.error("error:", e); + + // http 请求方式错误 + if (e instanceof HttpRequestMethodNotSupportedException) { + return ResponseDTO.wrap(ResponseCodeConst.REQUEST_METHOD_ERROR); + } + + // 参数类型错误 + if (e instanceof TypeMismatchException) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM); + } + + // json 格式错误 + if (e instanceof HttpMessageNotReadableException) { + return ResponseDTO.wrap(ResponseCodeConst.JSON_FORMAT_ERROR); + } + + // 参数校验未通过 + if (e instanceof MethodArgumentNotValidException) { + List fieldErrors = ((MethodArgumentNotValidException) e).getBindingResult().getFieldErrors(); + List msgList = fieldErrors.stream().map(FieldError :: getDefaultMessage).collect(Collectors.toList()); + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, String.join(",", msgList)); + } + + if (e instanceof SmartBusinessException) { + return ResponseDTO.wrap(ResponseCodeConst.SYSTEM_ERROR); + } + + return ResponseDTO.wrap(ResponseCodeConst.SYSTEM_ERROR); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/handler/SmartOperateLogAspect.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/handler/SmartOperateLogAspect.java new file mode 100644 index 00000000..0dd49cd2 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/handler/SmartOperateLogAspect.java @@ -0,0 +1,167 @@ +package net.lab1024.smartadmin.handler; + +import com.alibaba.fastjson.JSON; +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.constant.JudgeEnum; +import net.lab1024.smartadmin.module.business.log.LogService; +import net.lab1024.smartadmin.module.business.log.useroperatelog.domain.UserOperateLogEntity; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.util.SmartRequestTokenUtil; +import net.lab1024.smartadmin.util.SmartStringUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.annotation.AfterReturning; +import org.aspectj.lang.annotation.AfterThrowing; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.aspectj.lang.reflect.MethodSignature; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.annotation.AnnotationUtils; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.lang.reflect.Method; +/** + * [ 操作日志记录处理,对所有OperateLog注解的Controller进行操作日志监控 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Slf4j +@Aspect +@Component +public class SmartOperateLogAspect { + + @Autowired + private LogService logService; + + @Pointcut("execution(* net.lab1024.smartadmin.module..*Controller.*(..)))") + public void logPointCut() { + } + + @AfterReturning(pointcut = "logPointCut()") + public void doAfterReturning(JoinPoint joinPoint) { + handleLog(joinPoint, null); + } + + @AfterThrowing(value = "logPointCut()", throwing = "e") + public void doAfterThrowing(JoinPoint joinPoint, Exception e) { + handleLog(joinPoint, e); + } + + protected void handleLog(final JoinPoint joinPoint, final Exception e) { + try { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + OperateLog operateLog = this.getAnnotationLog(joinPoint); + if (operateLog == null) { + return; + } + RequestTokenBO requestToken = SmartRequestTokenUtil.getRequestUser(); + if (requestToken == null) { + return; + } + // 设置方法名称 + String className = joinPoint.getTarget().getClass().getName(); + String methodName = joinPoint.getSignature().getName(); + String operateMethod = className + "." + methodName; + Object[] args = joinPoint.getArgs(); + StringBuilder sb = new StringBuilder(); + for (Object obj : args) { + sb.append(obj.getClass().getSimpleName()); + sb.append("["); + sb.append(JSON.toJSONString(obj)); + sb.append("]"); + } + String params = sb.toString(); + String failReason = null; + Integer result = JudgeEnum.YES.getValue(); + if (e != null) { + result = JudgeEnum.NO.getValue(); + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw, true); + e.printStackTrace(pw); + failReason = sw.toString(); + pw.flush(); + pw.close(); + sw.flush(); + sw.close(); + } + UserOperateLogEntity operateLogEntity = + UserOperateLogEntity.builder().userId(requestToken.getRequestUserId()).userName(requestToken.getEmployeeBO().getActualName()).url(request.getRequestURI()).method(operateMethod).param(params).failReason(failReason).result(result).build(); + ApiOperation apiOperation = this.getApiOperation(joinPoint); + if (apiOperation != null) { + operateLogEntity.setContent(apiOperation.value()); + } + Api api = this.getApi(joinPoint); + if (api != null) { + String[] tags = api.tags(); + operateLogEntity.setModule(SmartStringUtil.join(tags, ",")); + } + logService.addLog(operateLogEntity); + } catch (Exception exp) { + log.error("保存操作日志异常:{}", exp.getMessage()); + exp.printStackTrace(); + } + } + + private OperateLog getAnnotationLog(JoinPoint joinPoint) throws Exception { + Signature signature = joinPoint.getSignature(); + MethodSignature methodSignature = (MethodSignature) signature; + Method method = methodSignature.getMethod(); + OperateLog classAnnotation = AnnotationUtils.findAnnotation(method.getDeclaringClass(), OperateLog.class); + + if (method != null) { + return classAnnotation; + } + return null; + } + + /** + * swagger API + * + * @param joinPoint + * @return + * @throws Exception + */ + private Api getApi(JoinPoint joinPoint) { + Signature signature = joinPoint.getSignature(); + MethodSignature methodSignature = (MethodSignature) signature; + Method method = methodSignature.getMethod(); + Api classAnnotation = AnnotationUtils.findAnnotation(method.getDeclaringClass(), Api.class); + + if (method != null) { + return classAnnotation; + } + return null; + } + + /** + * swagger ApiOperation + * + * @param joinPoint + * @return + * @throws Exception + */ + private ApiOperation getApiOperation(JoinPoint joinPoint) { + Signature signature = joinPoint.getSignature(); + MethodSignature methodSignature = (MethodSignature) signature; + Method method = methodSignature.getMethod(); + + if (method != null) { + return method.getAnnotation(ApiOperation.class); + } + return null; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/interceptor/SmartAuthenticationInterceptor.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/interceptor/SmartAuthenticationInterceptor.java new file mode 100644 index 00000000..30f299f9 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/interceptor/SmartAuthenticationInterceptor.java @@ -0,0 +1,158 @@ +package net.lab1024.smartadmin.interceptor; + +import com.alibaba.fastjson.JSONObject; +import net.lab1024.smartadmin.common.anno.NoNeedLogin; +import net.lab1024.smartadmin.common.anno.NoValidPrivilege; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.CommonConst; +import net.lab1024.smartadmin.module.system.login.LoginResponseCodeConst; +import net.lab1024.smartadmin.module.system.login.LoginTokenService; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.privilege.service.PrivilegeEmployeeService; +import net.lab1024.smartadmin.util.SmartRequestTokenUtil; +import net.lab1024.smartadmin.util.SmartStringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.lang.reflect.Method; +import java.util.List; + +/** + * [ 登录拦截器 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Component +public class SmartAuthenticationInterceptor extends HandlerInterceptorAdapter { + + public static final String TOKEN_NAME = "x-access-token"; + + @Value("${access-control-allow-origin}") + private String accessControlAllowOrigin; + + @Autowired + private LoginTokenService loginTokenService; + + @Autowired + private PrivilegeEmployeeService privilegeEmployeeService; + + /** + * 拦截服务器端响应处理ajax请求返回结果 + * + * @param request + * @param response + * @param handler + * @return + * @throws Exception + */ + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + //跨域设置 + this.crossDomainConfig(response); + boolean isHandlerMethod = handler instanceof HandlerMethod; + if (! isHandlerMethod) { + return true; + } + + //不需要登录的注解 + Boolean isNoNeedLogin = ((HandlerMethod) handler).getMethodAnnotation(NoNeedLogin.class) != null; + if (isNoNeedLogin) { + return true; + } + + //放行的Uri前缀 + String uri = request.getRequestURI(); + String contextPath = request.getContextPath(); + String target = uri.replaceFirst(contextPath, ""); + if (CommonConst.CommonCollection.contain(CommonConst.CommonCollection.IGNORE_URL, target)) { + return true; + } + + //需要做token校验, 消息头的token优先于请求query参数的token + String xHeaderToken = request.getHeader(TOKEN_NAME); + String xRequestToken = request.getParameter(TOKEN_NAME); + String xAccessToken = null != xHeaderToken ? xHeaderToken : xRequestToken; + if (null == xAccessToken) { + this.outputResult(response, LoginResponseCodeConst.LOGIN_ERROR); + return false; + } + + //根据token获取登录用户 + RequestTokenBO requestToken = loginTokenService.getEmployeeTokenInfo(xAccessToken); + if (null == requestToken) { + this.outputResult(response, LoginResponseCodeConst.LOGIN_ERROR); + return false; + } + + //判断接口权限 + String methodName = ((HandlerMethod) handler).getMethod().getName(); + String className = ((HandlerMethod) handler).getBeanType().getName(); + List list = SmartStringUtil.splitConvertToList(className, "\\."); + String controllerName = list.get(list.size() - 1); + Method m = ((HandlerMethod) handler).getMethod(); + Class cls = ((HandlerMethod) handler).getBeanType(); + boolean isClzAnnotation = cls.isAnnotationPresent(NoValidPrivilege.class); + boolean isMethodAnnotation = m.isAnnotationPresent(NoValidPrivilege.class); + NoValidPrivilege noValidPrivilege = null; + if (isClzAnnotation) { + noValidPrivilege = cls.getAnnotation(NoValidPrivilege.class); + } else if (isMethodAnnotation) { + noValidPrivilege = m.getAnnotation(NoValidPrivilege.class); + } + //不需验证权限 + if (noValidPrivilege != null) { + SmartRequestTokenUtil.setUser(request, requestToken); + return true; + } + //需要验证权限 + Boolean privilegeValidPass = privilegeEmployeeService.checkEmployeeHavePrivilege(requestToken, controllerName, methodName); + if (! privilegeValidPass) { + this.outputResult(response, LoginResponseCodeConst.NOT_HAVE_PRIVILEGES); + return false; + } + SmartRequestTokenUtil.setUser(request, requestToken); + return true; + } + + /** + * 配置跨域 + * + * @param response + */ + private void crossDomainConfig(HttpServletResponse response) { + response.setHeader("Access-Control-Allow-Origin", accessControlAllowOrigin); + response.setHeader("Access-Control-Allow-Credentials", "true"); + response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE, PATCH"); + response.setHeader("Access-Control-Expose-Headers", "*"); + response.setHeader("Access-Control-Allow-Headers", "Authentication,Origin, X-Requested-With, Content-Type, " + "Accept, x-access-token"); + response.setHeader("Cache-Control", "no-cache"); + response.setHeader("Pragma", "no-cache"); + response.setHeader("Expires ", "-1"); + } + + /** + * 错误输出 + * + * @param response + * @param responseCodeConst + * @throws IOException + */ + private void outputResult(HttpServletResponse response, LoginResponseCodeConst responseCodeConst) throws IOException { + ResponseDTO wrap = ResponseDTO.wrap(responseCodeConst); + String msg = JSONObject.toJSONString(wrap); + response.setContentType("application/json;charset=UTF-8"); + response.getWriter().write(msg); + response.flushBuffer(); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/listener/SmartAdminStartupRunner.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/listener/SmartAdminStartupRunner.java new file mode 100644 index 00000000..9205fa5b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/listener/SmartAdminStartupRunner.java @@ -0,0 +1,22 @@ +package net.lab1024.smartadmin.listener; + +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; +import org.springframework.boot.CommandLineRunner; +import org.springframework.stereotype.Component; + +/** + * 应用启动以后检测code码 + * + * @author zhuo + * @version 1.0 + * @since JDK1.8 + */ + +@Component +public class SmartAdminStartupRunner implements CommandLineRunner { + + @Override + public void run(String... args) { + ResponseCodeConst.init(); + } +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailController.java new file mode 100644 index 00000000..b7e350bd --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailController.java @@ -0,0 +1,81 @@ +package net.lab1024.smartadmin.module.business.email; + +import net.lab1024.smartadmin.common.anno.NoValidPrivilege; +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.business.email.domain.dto.EmailDTO; +import net.lab1024.smartadmin.module.business.email.domain.dto.EmailQueryDTO; +import net.lab1024.smartadmin.module.business.email.domain.dto.EmailVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date 2019-05-13 17:10:16 + * @since JDK1.8 + */ +@RestController +@OperateLog +@Api(tags = {SwaggerTagConst.Admin.MANAGER_EMAIL}) +public class EmailController { + + @Autowired + private EmailService emailService; + + @ApiOperation(value = "分页查询",notes = "@author yandanyang") + @PostMapping("/email/page/query") + @NoValidPrivilege + public ResponseDTO> queryByPage(@RequestBody @Validated EmailQueryDTO queryDTO) { + return emailService.queryByPage(queryDTO); + } + + @ApiOperation(value = "添加",notes = "@author yandanyang") + @PostMapping("/email/add") + @NoValidPrivilege + public ResponseDTO add(@RequestBody @Valid EmailDTO addTO){ + return emailService.add(addTO); + } + + @ApiOperation(value="修改",notes = "@author yandanyang") + @PostMapping("/email/update") + @NoValidPrivilege + public ResponseDTO update(@RequestBody @Valid EmailDTO updateDTO){ + return emailService.update(updateDTO); + } + + + @ApiOperation(value="删除",notes = "@author yandanyang") + @GetMapping("/email/delete/{id}") + @NoValidPrivilege + public ResponseDTO delete(@PathVariable("id") Long id){ + return emailService.delete(id); + } + + + @ApiOperation(value="详情",notes = "@author yandanyang") + @GetMapping("/email/detail/{id}") + @NoValidPrivilege + public ResponseDTO detail(@PathVariable("id") Long id){ + return emailService.detail(id); + } + + + @ApiOperation(value="发送",notes = "@author yandanyang") + @GetMapping("/email/send/{id}") + @NoValidPrivilege + public ResponseDTO send(@PathVariable("id") Long id){ + return emailService.send(id); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailDao.java new file mode 100644 index 00000000..76a7dea5 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailDao.java @@ -0,0 +1,47 @@ +package net.lab1024.smartadmin.module.business.email; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.module.business.email.domain.dto.EmailQueryDTO; +import net.lab1024.smartadmin.module.business.email.domain.entity.EmailEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019-05-13 17:10:16 + * @since JDK1.8 + */ +@Mapper +@Component +public interface EmailDao extends BaseMapper { + + /** + * 分页查询 + * @param queryDTO + * @return EmailEntity + */ + List queryByPage(Page page, @Param("queryDTO") EmailQueryDTO queryDTO); + + /** + * 根据id删除 + * @param id + * @return + */ + void deleteById(@Param("id") Long id); + + /** + * 批量删除 + * @param idList + * @return + */ + void deleteByIds(@Param("idList") List idList); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailSendStatusEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailSendStatusEnum.java new file mode 100644 index 00000000..a6cf0c44 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailSendStatusEnum.java @@ -0,0 +1,37 @@ +package net.lab1024.smartadmin.module.business.email; + + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/28 0028 下午 15:37 + * @since JDK1.8 + */ +public enum EmailSendStatusEnum { + + NOT_SEND(0,"未发送"), + + SEND(1,"已发送"); + + private Integer type; + private String desc; + + EmailSendStatusEnum(Integer type, String desc) { + this.type = type; + this.desc = desc; + } + + public Integer getType() { + return type; + } + + public String getDesc() { + return desc; + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailService.java new file mode 100644 index 00000000..6b7e5b7d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/EmailService.java @@ -0,0 +1,122 @@ +package net.lab1024.smartadmin.module.business.email; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.business.email.domain.dto.EmailConfigDTO; +import net.lab1024.smartadmin.module.business.email.domain.dto.EmailDTO; +import net.lab1024.smartadmin.module.business.email.domain.dto.EmailQueryDTO; +import net.lab1024.smartadmin.module.business.email.domain.dto.EmailVO; +import net.lab1024.smartadmin.module.business.email.domain.entity.EmailEntity; +import net.lab1024.smartadmin.module.system.systemconfig.SystemConfigService; +import net.lab1024.smartadmin.module.system.systemconfig.constant.SystemConfigEnum; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartPageUtil; +import net.lab1024.smartadmin.util.SmartSendMailUtil; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date 2019-05-13 17:10:16 + * @since JDK1.8 + */ +@Service +public class EmailService { + + @Autowired + private EmailDao emailDao; + + @Autowired + private SystemConfigService systemConfigService; + + /** + * @author yandanyang + * @description 分页查询 + * @date 2019-05-13 17:10:16 + */ + public ResponseDTO> queryByPage(EmailQueryDTO queryDTO) { + Page page = SmartPageUtil.convert2QueryPage(queryDTO); + List entities = emailDao.queryByPage(page, queryDTO); + List dtoList = SmartBeanUtil.copyList(entities, EmailVO.class); + page.setRecords(dtoList); + PageResultDTO pageResultDTO = SmartPageUtil.convert2PageResult(page); + return ResponseDTO.succData(pageResultDTO); + } + + /** + * @author yandanyang + * @description 添加 + * @date 2019-05-13 17:10:16 + */ + public ResponseDTO add(EmailDTO addDTO) { + EmailEntity entity = SmartBeanUtil.copy(addDTO, EmailEntity.class); + emailDao.insert(entity); + return ResponseDTO.succData(entity.getId()); + } + + /** + * @author yandanyang + * @description 编辑 + * @date 2019-05-13 17:10:16 + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO update(EmailDTO updateDTO) { + EmailEntity entity = SmartBeanUtil.copy(updateDTO, EmailEntity.class); + emailDao.updateById(entity); + return ResponseDTO.succData(entity.getId()); + } + + /** + * @author yandanyang + * @description 删除 + * @date 2019-05-13 17:10:16 + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO delete(Long id) { + emailDao.deleteById(id); + return ResponseDTO.succ(); + } + + /** + * @author yandanyang + * @description 根据ID查询 + * @date 2019-05-13 17:10:16 + */ + public ResponseDTO detail(Long id) { + EmailEntity entity = emailDao.selectById(id); + EmailVO dto = SmartBeanUtil.copy(entity, EmailVO.class); + return ResponseDTO.succData(dto); + } + + /** + * 发送某个已创建的邮件 + * + * @param id + * @return + */ + public ResponseDTO send(Long id) { + EmailEntity entity = emailDao.selectById(id); + EmailConfigDTO emailConfig = systemConfigService.selectByKey2Obj(SystemConfigEnum.Key.EMAIL_CONFIG.name(), EmailConfigDTO.class); + String toEmails = entity.getToEmails(); + if (StringUtils.isEmpty(toEmails)) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "收件人信息为空"); + } + String[] emails = toEmails.split(";"); + SmartSendMailUtil.sendMail(emailConfig.getUsername(), emailConfig.getPassword(), emailConfig.getUsername(), emails, "", emailConfig.getSmtpHost(), entity.getTitle(), entity.getContent()); + entity.setSendStatus(EmailSendStatusEnum.SEND.getType()); + emailDao.updateById(entity); + return ResponseDTO.succ(); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailConfigDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailConfigDTO.java new file mode 100644 index 00000000..87f0e413 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailConfigDTO.java @@ -0,0 +1,30 @@ +package net.lab1024.smartadmin.module.business.email.domain.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/13 0013 下午 16:52 + * @since JDK1.8 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class EmailConfigDTO { + + private String smtpHost; + + private String username; + + private String password; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailDTO.java new file mode 100644 index 00000000..8300a3f5 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailDTO.java @@ -0,0 +1,44 @@ +package net.lab1024.smartadmin.module.business.email.domain.dto; +import lombok.Data; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 12:27 + * @since JDK1.8 + */ +@Data +public class EmailDTO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("收件人") + private String toEmails; + + @ApiModelProperty("发送状态 0未发送 1已发送") + private Integer sendStatus; + + @ApiModelProperty("邮件内容") + private String content; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailQueryDTO.java new file mode 100644 index 00000000..6768dc4f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailQueryDTO.java @@ -0,0 +1,35 @@ +package net.lab1024.smartadmin.module.business.email.domain.dto; + +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date 2019-05-13 17:10:16 + * @since JDK1.8 + */ +@Data +public class EmailQueryDTO extends PageParamDTO { + + + @ApiModelProperty("开始日期") + private String startDate; + + @ApiModelProperty("结束日期") + private String endDate; + + + @ApiModelProperty("标题") + private String title; + + + @ApiModelProperty("发送状态 0未发送 1已发送") + private Integer sendStatus; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailVO.java new file mode 100644 index 00000000..4686efad --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/dto/EmailVO.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.module.business.email.domain.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 12:27 + * @since JDK1.8 + */ +@Data +public class EmailVO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("收件人") + private String toEmails; + + @ApiModelProperty("发送状态 0未发送 1已发送") + private Integer sendStatus; + + @ApiModelProperty("邮件内容") + private String content; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/entity/EmailEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/entity/EmailEntity.java new file mode 100644 index 00000000..d7c0da18 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/email/domain/entity/EmailEntity.java @@ -0,0 +1,40 @@ +package net.lab1024.smartadmin.module.business.email.domain.entity; +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019-05-13 17:10:16 + * @since JDK1.8 + */ +@Data +@TableName("t_email") +public class EmailEntity extends BaseEntity { + + /** + * 标题 + */ + private String title; + + /** + * 收件人 + */ + private String toEmails; + + /** + * 发送状态 0未发送 1已发送 + */ + private Integer sendStatus; + + /** + * 邮件内容 + */ + private String content; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/LogService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/LogService.java new file mode 100644 index 00000000..9aae836c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/LogService.java @@ -0,0 +1,75 @@ +package net.lab1024.smartadmin.module.business.log; + +import net.lab1024.smartadmin.module.business.log.orderoperatelog.OrderOperateLogDao; +import net.lab1024.smartadmin.module.business.log.orderoperatelog.domain.entity.OrderOperateLogEntity; +import net.lab1024.smartadmin.module.business.log.userloginlog.UserLoginLogDao; +import net.lab1024.smartadmin.module.business.log.userloginlog.domain.UserLoginLogEntity; +import net.lab1024.smartadmin.module.business.log.useroperatelog.UserOperateLogDao; +import net.lab1024.smartadmin.module.business.log.useroperatelog.domain.UserOperateLogEntity; +import net.lab1024.smartadmin.util.SmartThreadFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/4 0004 下午 16:19 + * @since JDK1.8 + */ +@Slf4j +@Service +public class LogService { + + private ThreadPoolExecutor threadPoolExecutor; + + @Autowired + private UserLoginLogDao userLoginLogDao; + + @Autowired + private OrderOperateLogDao orderOperateLogDao; + + @Autowired + private UserOperateLogDao userOperateLogDao; + + @PostConstruct + void init() { + if (threadPoolExecutor == null) { + threadPoolExecutor = new ThreadPoolExecutor(1, 1, 10L, TimeUnit.SECONDS, new LinkedBlockingQueue<>(2000), SmartThreadFactory.create("LogAspect")); + } + } + + @PreDestroy + void destroy() { + if (threadPoolExecutor != null) { + threadPoolExecutor.shutdown(); + threadPoolExecutor = null; + } + } + + public void addLog(Object object) { + try { + if (object instanceof UserLoginLogEntity) { + threadPoolExecutor.execute(() -> userLoginLogDao.insert((UserLoginLogEntity) object)); + } + if (object instanceof OrderOperateLogEntity) { + threadPoolExecutor.execute(() -> orderOperateLogDao.insert((OrderOperateLogEntity) object)); + } + if (object instanceof UserOperateLogEntity) { + threadPoolExecutor.execute(() -> userOperateLogDao.insert((UserOperateLogEntity) object)); + } + } catch (Throwable e) { + log.error("userLogAfterAdvice:{}", e); + } + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/OrderOperateLogController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/OrderOperateLogController.java new file mode 100644 index 00000000..5f84c7ab --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/OrderOperateLogController.java @@ -0,0 +1,44 @@ +package net.lab1024.smartadmin.module.business.log.orderoperatelog; + +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.business.log.orderoperatelog.constant.OrderOperateLogOrderTypeEnum; +import net.lab1024.smartadmin.module.business.log.orderoperatelog.domain.vo.OrderOperateLogVO; +import net.lab1024.smartadmin.util.SmartStringUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 单据操作记录Controller + * + * @author lidoudou + * @date: 2018/1/31 16:56 + */ + +@Api(tags = {SwaggerTagConst.Admin.MANAGER_ORDER_OPERATE_LOG}) +@OperateLog +@RestController +public class OrderOperateLogController { + + @Autowired + private OrderOperateLogService orderOperateLogService; + + @ApiOperation(value = "查询单据操作日志", notes = "查询单据操作日志") + @GetMapping("/orderOperateLog/list/{orderId}") + @ApiImplicitParams({@ApiImplicitParam(name = "orderId", value = "业务id", paramType = "path"), @ApiImplicitParam(name = "orderType", value = "业务类型" + OrderOperateLogOrderTypeEnum.INFO, paramType + = "query")}) + public ResponseDTO> list(@PathVariable Long orderId, String orderType) { + List orderTypeList = SmartStringUtil.splitConverToIntSet(orderType, ",").stream().collect(Collectors.toList()); + return orderOperateLogService.listOrderOperateLogsByOrderTypeAndOrderId(orderId, orderTypeList); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/OrderOperateLogDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/OrderOperateLogDao.java new file mode 100644 index 00000000..a720f5c5 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/OrderOperateLogDao.java @@ -0,0 +1,30 @@ +package net.lab1024.smartadmin.module.business.log.orderoperatelog; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.lab1024.smartadmin.module.business.log.orderoperatelog.domain.entity.OrderOperateLogEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + *

+ * 各种单据操作记录 + * Mapper 接口 + *

+ * + * @author anders + * @since 2018-01-09 + */ +@Mapper +@Component +public interface OrderOperateLogDao extends BaseMapper { + + List listOrderOperateLogsByOrderTypeAndOrderId(@Param("orderId") Long orderId, @Param("orderTypeList") List orderTypeList); + + List listOrderOperateLogsByOrderTypeAndOrderIds(@Param("orderIds") List orderIds, @Param("orderTypeList") List orderTypeList); + + void batchInsert(List list); + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/OrderOperateLogService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/OrderOperateLogService.java new file mode 100644 index 00000000..601b8cef --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/OrderOperateLogService.java @@ -0,0 +1,64 @@ +package net.lab1024.smartadmin.module.business.log.orderoperatelog; + +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.business.log.orderoperatelog.domain.dto.OrderOperateLogSaveDTO; +import net.lab1024.smartadmin.module.business.log.orderoperatelog.domain.entity.OrderOperateLogEntity; +import net.lab1024.smartadmin.module.business.log.orderoperatelog.domain.vo.OrderOperateLogVO; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartStringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 各种单据操作记录 + * 服务实现类 + *

+ * + * @author anders + * @since 2018-01-09 + */ +@Service +public class OrderOperateLogService { + + @Autowired + private OrderOperateLogDao orderOperateLogDao; + + public void batchSaveOrderOperateLog(List orderOperateLogSaveDTOList) { + List entityList = new ArrayList<>(); + orderOperateLogSaveDTOList.forEach(e -> { + OrderOperateLogEntity orderOperateLogEntity = SmartBeanUtil.copy(e, OrderOperateLogEntity.class); + orderOperateLogEntity.setOperateType(e.getOperateType().getCode()); + if (SmartStringUtil.isNotBlank(e.getOperateContent())) { + orderOperateLogEntity.setOperateContent(e.getOperateContent()); + } else { + orderOperateLogEntity.setOperateContent(e.getOperateType().getMsg()); + } + orderOperateLogEntity.setOperateRemark(e.getOperateRemark()); + orderOperateLogEntity.setExtData(e.getExtData()); + orderOperateLogEntity.setCreateTime(new Date()); + orderOperateLogEntity.setOrderType(e.getOrderType().getType()); + entityList.add(orderOperateLogEntity); + }); + //批量添加 + orderOperateLogDao.batchInsert(entityList); + } + + public ResponseDTO> listOrderOperateLogsByOrderTypeAndOrderId(Long orderId, List orderTypeList) { + List orderOperateLogEntities = orderOperateLogDao.listOrderOperateLogsByOrderTypeAndOrderId(orderId, orderTypeList); + List dtoList = orderOperateLogEntities.stream().map(e -> SmartBeanUtil.copy(e, OrderOperateLogVO.class)).collect(Collectors.toList()); + return ResponseDTO.succData(dtoList); + } + + public ResponseDTO> listOrderOperateLogsByOrderTypeAndOrderIds(List orderIds, List orderTypeList) { + List orderOperateLogEntities = orderOperateLogDao.listOrderOperateLogsByOrderTypeAndOrderIds(orderIds, orderTypeList); + List dtoList = orderOperateLogEntities.stream().map(e -> SmartBeanUtil.copy(e, OrderOperateLogVO.class)).collect(Collectors.toList()); + return ResponseDTO.succData(dtoList); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/constant/OrderOperateLogDefaultEmpEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/constant/OrderOperateLogDefaultEmpEnum.java new file mode 100644 index 00000000..c088322d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/constant/OrderOperateLogDefaultEmpEnum.java @@ -0,0 +1,37 @@ +package net.lab1024.smartadmin.module.business.log.orderoperatelog.constant; + +/** + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +public enum OrderOperateLogDefaultEmpEnum { + + DEFAULT_EMP(0,"系统"); + + + private Integer empId; + + private String empName; + + OrderOperateLogDefaultEmpEnum(Integer empId,String empName) { + this.empId = empId; + this.empName = empName; + } + + public int getEmpId() { + return empId; + } + + public String getEmpName() { + return empName; + } + + + +} + diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/constant/OrderOperateLogOperateTypeConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/constant/OrderOperateLogOperateTypeConst.java new file mode 100644 index 00000000..d5d14b63 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/constant/OrderOperateLogOperateTypeConst.java @@ -0,0 +1,30 @@ +package net.lab1024.smartadmin.module.business.log.orderoperatelog.constant; + +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; + +/** + * [ 8001 -8999 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +public class OrderOperateLogOperateTypeConst extends ResponseCodeConst { + + + public static final OrderOperateLogOperateTypeConst ADD = new OrderOperateLogOperateTypeConst(8001, "创建并提交"); + + public static final OrderOperateLogOperateTypeConst UPDATE = new OrderOperateLogOperateTypeConst(8002, "修改并提交"); + + public static final OrderOperateLogOperateTypeConst DELETE = new OrderOperateLogOperateTypeConst(8003, "删除"); + + + private OrderOperateLogOperateTypeConst(int code, String msg) { + super(code, msg); + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/constant/OrderOperateLogOrderTypeEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/constant/OrderOperateLogOrderTypeEnum.java new file mode 100644 index 00000000..9674836e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/constant/OrderOperateLogOrderTypeEnum.java @@ -0,0 +1,51 @@ +package net.lab1024.smartadmin.module.business.log.orderoperatelog.constant; + +import java.util.Arrays; +import java.util.Optional; + +/** + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +public enum OrderOperateLogOrderTypeEnum { + + EXAMPLE(1, "样例"); + + + public static final String INFO = ""; + + private int type; + + private String typeName; + + OrderOperateLogOrderTypeEnum(int type, String typeName) { + this.type = type; + this.typeName = typeName; + } + + public int getType() { + return type; + } + + public String getTypeName() { + return typeName; + } + + public static OrderOperateLogOrderTypeEnum getValueByName(String name) { + OrderOperateLogOrderTypeEnum[] values = OrderOperateLogOrderTypeEnum.values(); + Optional first = Arrays.stream(values).filter(e -> e.getTypeName().equals(name)).findFirst(); + if (!first.isPresent()) { + return null; + } + if (!first.isPresent()) { + return null; + } + OrderOperateLogOrderTypeEnum orderType = first.get(); + return orderType; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/dto/OrderOperateLogSaveDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/dto/OrderOperateLogSaveDTO.java new file mode 100644 index 00000000..a9861bdc --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/dto/OrderOperateLogSaveDTO.java @@ -0,0 +1,80 @@ +package net.lab1024.smartadmin.module.business.log.orderoperatelog.domain.dto; + + +import net.lab1024.smartadmin.module.business.log.orderoperatelog.constant.OrderOperateLogOperateTypeConst; +import net.lab1024.smartadmin.module.business.log.orderoperatelog.constant.OrderOperateLogOrderTypeEnum; +import lombok.Data; + +/** + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Data +public class OrderOperateLogSaveDTO { + + /** + * 各种单据的id + */ + private Long orderId; + + /** + * 单据类型 + */ + private OrderOperateLogOrderTypeEnum orderType; + + /** + * 操作类型 + */ + private OrderOperateLogOperateTypeConst operateType; + + /** + *操作类型 对应的中文 + */ + private String operateContent; + + /** + * 操作备注 + */ + private String operateRemark; + + /** + * 员工id + */ + private Long employeeId; + + /** + * 员工名称 + */ + private String employeeName; + + /** + * 额外信息 + */ + private String extData; + + public OrderOperateLogSaveDTO() { + } + + public OrderOperateLogSaveDTO(Long orderId, OrderOperateLogOrderTypeEnum orderType, OrderOperateLogOperateTypeConst operateType, String + operateRemark, Long employeeId, String employeeName, String extData) { + this.orderId = orderId; + this.orderType = orderType; + this.operateType = operateType; + this.operateRemark = operateRemark; + this.employeeId = employeeId; + this.employeeName = employeeName; + this.extData = extData; + } + + @Override + public String toString() { + return "OrderOperateLogSaveDTO{" + "orderId=" + orderId + ", orderType=" + orderType + ", operateType=" + operateType + ", operateRemark='" + + operateRemark + '\'' + ", employeeId=" + employeeId + ", employeeName='" + employeeName + '\'' + ", extData='" + extData + '\'' + '}'; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/dto/SupplierOrderOperateVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/dto/SupplierOrderOperateVO.java new file mode 100644 index 00000000..9633527f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/dto/SupplierOrderOperateVO.java @@ -0,0 +1,44 @@ +package net.lab1024.smartadmin.module.business.log.orderoperatelog.domain.dto; + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 预存款申请/提取单流水临时文件 + * @author zzr + */ +@Data +public class SupplierOrderOperateVO { + + /** + * 流水类型 + */ + private Integer tradingType; + + /** + * 总重 + */ + private BigDecimal totalWeight; + + /** + * 金额 + */ + private BigDecimal amount; + + /** + * 操作人名称 + */ + private String buyerName; + + /** + * 备注 + */ + private String remark; + + /** + * 创建时间 + */ + private Date createTime; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/entity/OrderOperateLogEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/entity/OrderOperateLogEntity.java new file mode 100644 index 00000000..8f61f3ec --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/entity/OrderOperateLogEntity.java @@ -0,0 +1,58 @@ +package net.lab1024.smartadmin.module.business.log.orderoperatelog.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Builder; +import lombok.Data; + +/** + *

+ * 各种单据操作记录 + * + *

+ * + * @author anders + * @since 2018-01-09 + */ + +@Data +@Builder +@TableName("t_order_operate_log") +public class OrderOperateLogEntity extends BaseEntity { + + /** + * 各种单据的id + */ + private Long orderId; + /** + * 单据类型 + */ + private Integer orderType; + /** + * 操作类型 + */ + private Integer operateType; + /** + * 操作类型 对应的中文 + */ + private String operateContent; + /** + * 操作备注 + */ + private String operateRemark; + /** + * 员工id + */ + private Long employeeId; + /** + * 员工名称 + */ + private String employeeName; + /** + * 额外信息 + */ + private String extData; + + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/vo/OrderOperateLogVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/vo/OrderOperateLogVO.java new file mode 100644 index 00000000..ab565691 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/orderoperatelog/domain/vo/OrderOperateLogVO.java @@ -0,0 +1,69 @@ +package net.lab1024.smartadmin.module.business.log.orderoperatelog.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author bhr + * @Description: 操作日志 + * @date 2019/8/28 9:31 + */ +@Data +public class OrderOperateLogVO { + + private Long id; + /** + * 各种单据的id + */ + @ApiModelProperty("各种单据的id") + private Long orderId; + /** + * 单据类型 + */ + @ApiModelProperty("单据类型") + private Integer orderType; + /** + * 操作类型 + */ + @ApiModelProperty("操作类型") + private Integer operateType; + /** + * 操作类型 对应的中文 + */ + @ApiModelProperty("操作类型 对应的中文") + private String operateContent; + /** + * 操作备注 + */ + @ApiModelProperty("操作备注") + private String operateRemark; + @ApiModelProperty("操作备注,包含审批人名使用别名显示") + private String operateSecondRemark; + /** + * 员工id + */ + @ApiModelProperty("员工id") + private Long employeeId; + /** + * 员工名称 + */ + @ApiModelProperty("员工名称") + private String employeeName; + /** + * 员工名称 + */ + @ApiModelProperty("员工别名") + private String employeeSecondName; + /** + * 额外信息 + */ + @ApiModelProperty("额外信息") + private String extData; + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + private Date createTime; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/UserLoginLogController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/UserLoginLogController.java new file mode 100644 index 00000000..eccf2e69 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/UserLoginLogController.java @@ -0,0 +1,54 @@ +package net.lab1024.smartadmin.module.business.log.userloginlog; + +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeQueryDTO; +import net.lab1024.smartadmin.module.system.employee.domain.vo.EmployeeVO; +import net.lab1024.smartadmin.module.business.log.userloginlog.domain.UserLoginLogDTO; +import net.lab1024.smartadmin.module.business.log.userloginlog.domain.UserLoginLogQueryDTO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * [ 用户登录日志 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date 2019-05-15 10:25:21 + * @since JDK1.8 + */ +@RestController +@Api(tags = {SwaggerTagConst.Admin.MANAGER_USER_LOGIN_LOG}) +@OperateLog +public class UserLoginLogController { + + @Autowired + private UserLoginLogService userLoginLogService; + + @ApiOperation(value = "分页查询用户登录日志", notes = "@author yandanyang") + @PostMapping("/userLoginLog/page/query") + public ResponseDTO> queryByPage(@RequestBody UserLoginLogQueryDTO queryDTO) { + return userLoginLogService.queryByPage(queryDTO); + } + + @ApiOperation(value = "删除用户登录日志", notes = "@author yandanyang") + @GetMapping("/userLoginLog/delete/{id}") + public ResponseDTO delete(@PathVariable("id") Long id) { + return userLoginLogService.delete(id); + } + + @ApiOperation(value = "查询员工在线状态", notes = "@author zzr") + @PostMapping("/userOnLine/query") + public ResponseDTO> queryUserOnLine(@RequestBody @Valid EmployeeQueryDTO queryDTO) { + return userLoginLogService.queryUserOnLine(queryDTO); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/UserLoginLogDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/UserLoginLogDao.java new file mode 100644 index 00000000..ab585690 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/UserLoginLogDao.java @@ -0,0 +1,47 @@ +package net.lab1024.smartadmin.module.business.log.userloginlog; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.module.business.log.userloginlog.domain.UserLoginLogQueryDTO; +import net.lab1024.smartadmin.module.business.log.userloginlog.domain.UserLoginLogEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ 用户登录日志 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019-05-15 10:25:21 + * @since JDK1.8 + */ +@Mapper +@Component +public interface UserLoginLogDao extends BaseMapper { + + /** + * 分页查询 + * @param queryDTO + * @return UserLoginLogEntity + */ + List queryByPage(Page page, @Param("queryDTO") UserLoginLogQueryDTO queryDTO); + + /** + * 根据id删除 + * @param id + * @return + */ + void deleteById(@Param("id") Long id); + + /** + * 批量删除 + * @param idList + * @return + */ + void deleteByIds(@Param("idList") List idList); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/UserLoginLogService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/UserLoginLogService.java new file mode 100644 index 00000000..0d096fe3 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/UserLoginLogService.java @@ -0,0 +1,82 @@ +package net.lab1024.smartadmin.module.business.log.userloginlog; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.system.employee.EmployeeService; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeQueryDTO; +import net.lab1024.smartadmin.module.system.employee.domain.vo.EmployeeVO; +import net.lab1024.smartadmin.module.business.log.userloginlog.domain.UserLoginLogDTO; +import net.lab1024.smartadmin.module.business.log.userloginlog.domain.UserLoginLogEntity; +import net.lab1024.smartadmin.module.business.log.userloginlog.domain.UserLoginLogQueryDTO; +import net.lab1024.smartadmin.module.support.websocket.WebSocketServer; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartPageUtil; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * [ 用户登录日志 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date 2019-05-15 10:25:21 + * @since JDK1.8 + */ +@Service +public class UserLoginLogService { + + @Autowired + private UserLoginLogDao userLoginLogDao; + + @Autowired + private EmployeeService employeeService; + + /** + * @author yandanyang + * @description 分页查询 + * @date 2019-05-15 10:25:21 + */ + public ResponseDTO> queryByPage(UserLoginLogQueryDTO queryDTO) { + Page page = SmartPageUtil.convert2QueryPage(queryDTO); + List entities = userLoginLogDao.queryByPage(page, queryDTO); + List dtoList = SmartBeanUtil.copyList(entities, UserLoginLogDTO.class); + page.setRecords(dtoList); + PageResultDTO pageResultDTO = SmartPageUtil.convert2PageResult(page); + return ResponseDTO.succData(pageResultDTO); + } + + /** + * @author yandanyang + * @description 删除 + * @date 2019-05-15 10:25:21 + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO delete(Long id) { + userLoginLogDao.deleteById(id); + return ResponseDTO.succ(); + } + + /** + * 查询员工在线状态 + * + * @param queryDTO + * @return + */ + public ResponseDTO> queryUserOnLine(EmployeeQueryDTO queryDTO) { + List onLineUserList = WebSocketServer.getOnLineUserList(); + if (CollectionUtils.isEmpty(onLineUserList)) { + return ResponseDTO.succ(); + } + queryDTO.setEmployeeIds(onLineUserList); + ResponseDTO> employeeList = employeeService.selectEmployeeList(queryDTO); + return employeeList; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/domain/UserLoginLogDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/domain/UserLoginLogDTO.java new file mode 100644 index 00000000..efeb14de --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/domain/UserLoginLogDTO.java @@ -0,0 +1,53 @@ +package net.lab1024.smartadmin.module.business.log.userloginlog.domain; +import lombok.Data; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; + +/** + * [ 用户登录日志 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 12:27 + * @since JDK1.8 + */ +@Data +public class UserLoginLogDTO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("员工id") + private Long userId; + + @ApiModelProperty("用户名") + private String userName; + + @ApiModelProperty("用户ip") + private String remoteIp; + + @ApiModelProperty("用户端口") + private Integer remotePort; + + @ApiModelProperty("浏览器") + private String remoteBrowser; + + @ApiModelProperty("操作系统") + private String remoteOs; + + @ApiModelProperty("登录状态") + private Integer loginStatus; + + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/domain/UserLoginLogEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/domain/UserLoginLogEntity.java new file mode 100644 index 00000000..b0d02ac9 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/domain/UserLoginLogEntity.java @@ -0,0 +1,60 @@ +package net.lab1024.smartadmin.module.business.log.userloginlog.domain; +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.*; + + +/** + * [ 用户登录日志] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019-05-15 10:25:21 + * @since JDK1.8 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@TableName("t_user_login_log") +public class UserLoginLogEntity extends BaseEntity { + + /** + * 员工id + */ + private Long userId; + + /** + * 用户名 + */ + private String userName; + /** + * 用户ip + */ + private String remoteIp; + + /** + * 用户端口 + */ + private Integer remotePort; + + /** + * 浏览器 + */ + private String remoteBrowser; + + /** + * 操作系统 + */ + private String remoteOs; + + /** + * 登录状态 + */ + private Integer loginStatus; + + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/domain/UserLoginLogQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/domain/UserLoginLogQueryDTO.java new file mode 100644 index 00000000..726797cc --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/userloginlog/domain/UserLoginLogQueryDTO.java @@ -0,0 +1,31 @@ +package net.lab1024.smartadmin.module.business.log.userloginlog.domain; + +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ 用户登录日志 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date 2019-05-15 10:25:21 + * @since JDK1.8 + */ +@Data +public class UserLoginLogQueryDTO extends PageParamDTO { + + + @ApiModelProperty("开始日期") + private String startDate; + + @ApiModelProperty("结束日期") + private String endDate; + + + @ApiModelProperty("用户名") + private String userName; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/UserOperateLogController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/UserOperateLogController.java new file mode 100644 index 00000000..e1c2d775 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/UserOperateLogController.java @@ -0,0 +1,50 @@ +package net.lab1024.smartadmin.module.business.log.useroperatelog; + +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.business.log.useroperatelog.domain.UserOperateLogDTO; +import net.lab1024.smartadmin.module.business.log.useroperatelog.domain.UserOperateLogQueryDTO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date 2019-05-15 11:32:14 + * @since JDK1.8 + */ +@RestController +@Api(tags = {SwaggerTagConst.Admin.MANAGER_USER_OPERATE_LOG}) +@OperateLog +public class UserOperateLogController { + + @Autowired + private UserOperateLogService userOperateLogService; + + @ApiOperation(value = "分页查询",notes = "@author yandanyang") + @PostMapping("/userOperateLog/page/query") + public ResponseDTO> queryByPage(@RequestBody UserOperateLogQueryDTO queryDTO) { + return userOperateLogService.queryByPage(queryDTO); + } + + @ApiOperation(value="删除",notes = "@author yandanyang") + @GetMapping("/userOperateLog/delete/{id}") + public ResponseDTO delete(@PathVariable("id") Long id){ + return userOperateLogService.delete(id); + } + + + @ApiOperation(value="详情",notes = "@author yandanyang") + @GetMapping("/userOperateLog/detail/{id}") + public ResponseDTO detail(@PathVariable("id") Long id){ + return userOperateLogService.detail(id); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/UserOperateLogDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/UserOperateLogDao.java new file mode 100644 index 00000000..8959bbed --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/UserOperateLogDao.java @@ -0,0 +1,47 @@ +package net.lab1024.smartadmin.module.business.log.useroperatelog; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.module.business.log.useroperatelog.domain.UserOperateLogQueryDTO; +import net.lab1024.smartadmin.module.business.log.useroperatelog.domain.UserOperateLogEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019-05-15 11:32:14 + * @since JDK1.8 + */ +@Mapper +@Component +public interface UserOperateLogDao extends BaseMapper { + + /** + * 分页查询 + * @param queryDTO + * @return UserOperateLogEntity + */ + List queryByPage(Page page, @Param("queryDTO") UserOperateLogQueryDTO queryDTO); + + /** + * 根据id删除 + * @param id + * @return + */ + void deleteById(@Param("id") Long id); + + /** + * 批量删除 + * @param idList + * @return + */ + void deleteByIds(@Param("idList") List idList); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/UserOperateLogService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/UserOperateLogService.java new file mode 100644 index 00000000..772504ce --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/UserOperateLogService.java @@ -0,0 +1,91 @@ +package net.lab1024.smartadmin.module.business.log.useroperatelog; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.business.log.useroperatelog.domain.UserOperateLogDTO; +import net.lab1024.smartadmin.module.business.log.useroperatelog.domain.UserOperateLogEntity; +import net.lab1024.smartadmin.module.business.log.useroperatelog.domain.UserOperateLogQueryDTO; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartPageUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date 2019-05-15 11:32:14 + * @since JDK1.8 + */ +@Service +public class UserOperateLogService { + + @Autowired + private UserOperateLogDao userOperateLogDao; + + /** + * @author yandanyang + * @description 分页查询 + * @date 2019-05-15 11:32:14 + */ + public ResponseDTO> queryByPage(UserOperateLogQueryDTO queryDTO) { + Page page = SmartPageUtil.convert2QueryPage(queryDTO); + List entities = userOperateLogDao.queryByPage(page, queryDTO); + List dtoList = SmartBeanUtil.copyList(entities, UserOperateLogDTO.class); + page.setRecords(dtoList); + PageResultDTO pageResultDTO = SmartPageUtil.convert2PageResult(page); + return ResponseDTO.succData(pageResultDTO); + } + + /** + * @author yandanyang + * @description 添加 + * @date 2019-05-15 11:32:14 + */ + public ResponseDTO add(UserOperateLogDTO addDTO) { + UserOperateLogEntity entity = SmartBeanUtil.copy(addDTO, UserOperateLogEntity.class); + userOperateLogDao.insert(entity); + return ResponseDTO.succ(); + } + + /** + * @author yandanyang + * @description 编辑 + * @date 2019-05-15 11:32:14 + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO update(UserOperateLogDTO updateDTO) { + UserOperateLogEntity entity = SmartBeanUtil.copy(updateDTO, UserOperateLogEntity.class); + userOperateLogDao.updateById(entity); + return ResponseDTO.succ(); + } + + /** + * @author yandanyang + * @description 删除 + * @date 2019-05-15 11:32:14 + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO delete(Long id) { + userOperateLogDao.deleteById(id); + return ResponseDTO.succ(); + } + + /** + * @author yandanyang + * @description 根据ID查询 + * @date 2019-05-15 11:32:14 + */ + public ResponseDTO detail(Long id) { + UserOperateLogEntity entity = userOperateLogDao.selectById(id); + UserOperateLogDTO dto = SmartBeanUtil.copy(entity, UserOperateLogDTO.class); + return ResponseDTO.succData(dto); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/domain/UserOperateLogDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/domain/UserOperateLogDTO.java new file mode 100644 index 00000000..39fd2f99 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/domain/UserOperateLogDTO.java @@ -0,0 +1,59 @@ +package net.lab1024.smartadmin.module.business.log.useroperatelog.domain; +import lombok.Data; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 12:27 + * @since JDK1.8 + */ +@Data +public class UserOperateLogDTO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("用户id") + private Long userId; + + @ApiModelProperty("用户名称") + private String userName; + + @ApiModelProperty("操作模块") + private String module; + + @ApiModelProperty("操作内容") + private String content; + + @ApiModelProperty("请求路径") + private String url; + + @ApiModelProperty("请求方法") + private String method; + + @ApiModelProperty("请求参数") + private String param; + + @ApiModelProperty("请求结果 0失败 1成功") + private Integer result; + + @ApiModelProperty("失败原因") + private String failReason; + + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/domain/UserOperateLogEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/domain/UserOperateLogEntity.java new file mode 100644 index 00000000..467ce769 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/domain/UserOperateLogEntity.java @@ -0,0 +1,74 @@ +package net.lab1024.smartadmin.module.business.log.useroperatelog.domain; +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019-05-15 11:32:14 + * @since JDK1.8 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@TableName("t_user_operate_log") +public class UserOperateLogEntity extends BaseEntity { + + + + /** + * 用户id + */ + private Long userId; + + /** + * 用户名称 + */ + private String userName; + /** + * 操作模块 + */ + private String module; + + /** + * 操作内容 + */ + private String content; + + /** + * 请求路径 + */ + private String url; + + /** + * 请求方法 + */ + private String method; + + /** + * 请求参数 + */ + private String param; + + /** + * 请求结果 0失败 1成功 + */ + private Integer result; + + /** + * 失败原因 + */ + private String failReason; + + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/domain/UserOperateLogQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/domain/UserOperateLogQueryDTO.java new file mode 100644 index 00000000..cee24b7d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/log/useroperatelog/domain/UserOperateLogQueryDTO.java @@ -0,0 +1,34 @@ +package net.lab1024.smartadmin.module.business.log.useroperatelog.domain; + +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date 2019-05-15 11:32:14 + * @since JDK1.8 + */ +@Data +public class UserOperateLogQueryDTO extends PageParamDTO { + + + @ApiModelProperty("开始日期") + private String startDate; + + @ApiModelProperty("结束日期") + private String endDate; + + + @ApiModelProperty("用户名称") + private String userName; + + @ApiModelProperty("请求结果 0失败 1成功") + private Integer resultFlag; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeController.java new file mode 100644 index 00000000..5d42d5d9 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeController.java @@ -0,0 +1,96 @@ +package net.lab1024.smartadmin.module.business.notice; + +import net.lab1024.smartadmin.common.anno.NoValidPrivilege; +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.business.notice.domain.dto.*; +import net.lab1024.smartadmin.util.SmartRequestTokenUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date 2019-07-11 16:19:48 + * @since JDK1.8 + */ +@RestController +@Api(tags = {SwaggerTagConst.Admin.MANAGER_NOTICE}) +public class NoticeController { + + @Autowired + private NoticeService noticeService; + + @ApiOperation(value = "分页查询全部消息", notes = "@author yandanyang") + @PostMapping("/notice/page/query") + @NoValidPrivilege + public ResponseDTO> queryByPage(@RequestBody NoticeQueryDTO queryDTO) { + return noticeService.queryByPage(queryDTO); + } + + @ApiOperation(value = "获取已收取的所有消息", notes = "@author yandanyang") + @PostMapping("/notice/receive/page/query") + @NoValidPrivilege + public ResponseDTO> queryReceiveByPage(@RequestBody NoticeReceiveQueryDTO queryDTO) { + return noticeService.queryReceiveByPage(queryDTO, SmartRequestTokenUtil.getRequestUser()); + } + + @ApiOperation(value = "分页查询未读消息", notes = "@author yandanyang") + @PostMapping("/notice/unread/page/query") + @NoValidPrivilege + public ResponseDTO> queryUnreadByPage(@RequestBody PageParamDTO queryDTO) { + return noticeService.queryUnreadByPage(queryDTO, SmartRequestTokenUtil.getRequestUser()); + } + + @ApiOperation(value = "添加", notes = "@author yandanyang") + @PostMapping("/notice/add") + @NoValidPrivilege + public ResponseDTO add(@RequestBody @Valid NoticeAddDTO addTO) { + return noticeService.add(addTO, SmartRequestTokenUtil.getRequestUser()); + } + + @ApiOperation(value = "修改", notes = "@author yandanyang") + @PostMapping("/notice/update") + @NoValidPrivilege + public ResponseDTO update(@RequestBody @Valid NoticeUpdateDTO updateDTO) { + return noticeService.update(updateDTO); + } + + @ApiOperation(value = "删除", notes = "@author yandanyang") + @GetMapping("/notice/delete/{id}") + @NoValidPrivilege + public ResponseDTO delete(@PathVariable("id") Long id) { + return noticeService.delete(id); + } + + @ApiOperation(value = "详情", notes = "@author yandanyang") + @GetMapping("/notice/detail/{id}") + @NoValidPrivilege + public ResponseDTO detail(@PathVariable("id") Long id) { + return noticeService.detail(id); + } + + @ApiOperation(value = "发送", notes = "@author yandanyang") + @GetMapping("/notice/send/{id}") + @NoValidPrivilege + public ResponseDTO send(@PathVariable("id") Long id) { + return noticeService.send(id, SmartRequestTokenUtil.getRequestUser()); + } + + @ApiOperation(value = "读取消息", notes = "@author yandanyang") + @GetMapping("/notice/read/{id}") + @NoValidPrivilege + public ResponseDTO read(@PathVariable("id") Long id) { + return noticeService.read(id, SmartRequestTokenUtil.getRequestUser()); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeManage.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeManage.java new file mode 100644 index 00000000..7f65e416 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeManage.java @@ -0,0 +1,97 @@ +package net.lab1024.smartadmin.module.business.notice; + +import net.lab1024.smartadmin.common.constant.JudgeEnum; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.business.notice.dao.NoticeDao; +import net.lab1024.smartadmin.module.business.notice.dao.NoticeReceiveRecordDao; +import net.lab1024.smartadmin.module.business.notice.domain.dto.NoticeUpdateDTO; +import net.lab1024.smartadmin.module.business.notice.domain.entity.NoticeEntity; +import net.lab1024.smartadmin.module.business.notice.domain.entity.NoticeReceiveRecordEntity; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.Date; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/13 0013 下午 17:33 + * @since JDK1.8 + */ +@Service +public class NoticeManage { + + @Autowired + private NoticeDao noticeDao; + @Autowired + private NoticeReceiveRecordDao noticeReceiveRecordDao; + + /** + * 发送消息 + * @param entity + * @param requestToken + */ + @Transactional(rollbackFor = Exception.class) + public void send(NoticeEntity entity, RequestTokenBO requestToken){ + + entity.setSendStatus(JudgeEnum.YES.getValue()); + noticeDao.updateById(entity); + //默认发件人 已读此消息 + NoticeReceiveRecordEntity recordEntity = new NoticeReceiveRecordEntity(); + recordEntity.setEmployeeId(requestToken.getRequestUserId()); + recordEntity.setNoticeId(entity.getId()); + recordEntity.setCreateTime(new Date()); + recordEntity.setUpdateTime(new Date()); + noticeReceiveRecordDao.insert(recordEntity); + } + + + /** + * 保存读取记录 + * @param noticeId + * @param requestToken + */ + public void saveReadRecord(Long noticeId, RequestTokenBO requestToken){ + NoticeReceiveRecordEntity recordEntity = new NoticeReceiveRecordEntity(); + recordEntity.setEmployeeId(requestToken.getRequestUserId()); + recordEntity.setNoticeId(noticeId); + recordEntity.setCreateTime(new Date()); + recordEntity.setUpdateTime(new Date()); + noticeReceiveRecordDao.insert(recordEntity); + } + + + /** + * 消息删除 + * @param entity + */ + @Transactional(rollbackFor = Exception.class) + public void delete(NoticeEntity entity) { + if(JudgeEnum.YES.getValue().equals(entity.getSendStatus())){ + //消息已发送 执行逻辑删除 + noticeDao.logicDeleteById(entity.getId(),JudgeEnum.YES.getValue()); + }else{ + //消息未发送 执行真实删除 + noticeDao.deleteById(entity.getId()); + } + } + + /** + * 更新消息 + * @param entity + * @param updateDTO + */ + public void update(NoticeEntity entity,NoticeUpdateDTO updateDTO) { + entity.setTitle(updateDTO.getTitle()); + entity.setContent(updateDTO.getContent()); + entity.setSendStatus(JudgeEnum.NO.getValue()); + entity.setDeleted(JudgeEnum.NO.getValue()); + noticeDao.updateById(entity); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeService.java new file mode 100644 index 00000000..113c285c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeService.java @@ -0,0 +1,235 @@ +package net.lab1024.smartadmin.module.business.notice; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.constant.JudgeEnum; +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.business.notice.dao.NoticeDao; +import net.lab1024.smartadmin.module.business.notice.dao.NoticeReceiveRecordDao; +import net.lab1024.smartadmin.module.business.notice.domain.dto.*; +import net.lab1024.smartadmin.module.business.notice.domain.entity.NoticeEntity; +import net.lab1024.smartadmin.module.business.notice.domain.entity.NoticeReceiveRecordEntity; +import net.lab1024.smartadmin.module.support.websocket.WebSocketServer; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartPageUtil; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date 2019-07-11 16:19:48 + * @since JDK1.8 + */ +@Service +public class NoticeService { + + @Autowired + private NoticeDao noticeDao; + + @Autowired + private NoticeReceiveRecordDao noticeReceiveRecordDao; + + @Autowired + private NoticeManage noticeManage; + + /** + * @author yandanyang + * @description 分页查询 + * @date 2019-07-11 16:19:48 + */ + public ResponseDTO> queryByPage(NoticeQueryDTO queryDTO) { + queryDTO.setDeleted(JudgeEnum.NO.getValue()); + Page page = SmartPageUtil.convert2QueryPage(queryDTO); + List dtoList = noticeDao.queryByPage(page, queryDTO); + page.setRecords(dtoList); + PageResultDTO pageResultDTO = SmartPageUtil.convert2PageResult(page); + return ResponseDTO.succData(pageResultDTO); + } + + /** + * 获取当前登录人的消息列表 + * + * @param queryDTO + * @param requestToken + * @return + */ + public ResponseDTO> queryReceiveByPage(NoticeReceiveQueryDTO queryDTO, RequestTokenBO requestToken) { + queryDTO.setEmployeeId(requestToken.getRequestUserId()); + queryDTO.setSendStatus(JudgeEnum.YES.getValue()); + Page page = SmartPageUtil.convert2QueryPage(queryDTO); + List dtoList = noticeDao.queryReceiveByPage(page, queryDTO); + dtoList.forEach(e -> { + if (e.getReceiveTime() == null) { + e.setReadStatus(JudgeEnum.NO.getValue()); + } else { + e.setReadStatus(JudgeEnum.YES.getValue()); + } + }); + page.setRecords(dtoList); + PageResultDTO pageResultDTO = SmartPageUtil.convert2PageResult(page); + return ResponseDTO.succData(pageResultDTO); + } + + /** + * 获取我的未读消息 + * + * @param queryDTO + * @param requestToken + * @return + */ + public ResponseDTO> queryUnreadByPage(PageParamDTO queryDTO, RequestTokenBO requestToken) { + Page page = SmartPageUtil.convert2QueryPage(queryDTO); + List dtoList = noticeDao.queryUnreadByPage(page, requestToken.getRequestUserId(), JudgeEnum.YES.getValue()); + page.setRecords(dtoList); + PageResultDTO pageResultDTO = SmartPageUtil.convert2PageResult(page); + return ResponseDTO.succData(pageResultDTO); + } + + /** + * @author yandanyang + * @description 添加 + * @date 2019-07-11 16:19:48 + */ + public ResponseDTO add(NoticeAddDTO addDTO, RequestTokenBO requestToken) { + NoticeEntity entity = SmartBeanUtil.copy(addDTO, NoticeEntity.class); + entity.setCreateTime(new Date()); + entity.setUpdateTime(new Date()); + entity.setCreateUser(requestToken.getRequestUserId()); + entity.setSendStatus(JudgeEnum.NO.getValue()); + entity.setDeleted(JudgeEnum.NO.getValue()); + noticeDao.insert(entity); + return ResponseDTO.succ(); + } + + /** + * @author yandanyang + * @description 编辑 + * @date 2019-07-11 16:19:48 + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO update(NoticeUpdateDTO updateDTO) { + NoticeEntity entity = noticeDao.selectById(updateDTO.getId()); + if (entity == null) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "此系统通知不存在"); + } + if (JudgeEnum.YES.getValue().equals(entity.getSendStatus())) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "此系统通知已发送无法修改"); + } + noticeManage.update(entity, updateDTO); + return ResponseDTO.succ(); + } + + /** + * @author yandanyang + * @description 删除 + * @date 2019-07-11 16:19:48 + */ + public ResponseDTO delete(Long id) { + NoticeEntity entity = noticeDao.selectById(id); + if (entity == null) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "此系统通知不存在"); + } + noticeManage.delete(entity); + return ResponseDTO.succ(); + } + + /** + * @author yandanyang + * @description 根据ID查询 + * @date 2019-07-11 16:19:48 + */ + public ResponseDTO detail(Long id) { + NoticeDetailVO noticeDTO = noticeDao.detail(id); + return ResponseDTO.succData(noticeDTO); + } + + /** + * 获取某人的未读消息数 + * + * @param employeeId + * @return + */ + private Integer getUnreadCount(Long employeeId) { + return noticeDao.noticeUnreadCount(employeeId, JudgeEnum.YES.getValue()); + } + + /** + * 发送给所有在线用户未读消息数 + * + * @param id + * @param requestToken + * @return + */ + public ResponseDTO send(Long id, RequestTokenBO requestToken) { + NoticeEntity entity = noticeDao.selectById(id); + if (entity == null) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "此系统通知不存在"); + } + noticeManage.send(entity, requestToken); + this.sendMessage(requestToken); + return ResponseDTO.succ(); + } + + /** + * 发送系统通知 ,发送人不进行接收,需再事务外调用 以防止数据隔离级别不同造成未读消息数异常 + * + * @param requestToken + */ + private void sendMessage(RequestTokenBO requestToken) { + List onLineEmployeeIds = WebSocketServer.getOnLineUserList(); + if (CollectionUtils.isEmpty(onLineEmployeeIds)) { + return; + } + //在线用户已读消息数 + Map readCountMap = new HashMap<>(); + List readCountList = noticeDao.readCount(onLineEmployeeIds); + if (CollectionUtils.isNotEmpty(readCountList)) { + readCountMap = readCountList.stream().collect(Collectors.toMap(NoticeReadCountDTO :: getEmployeeId, NoticeReadCountDTO :: getReadCount)); + } + //已发送消息数 + Integer noticeCount = noticeDao.noticeCount(JudgeEnum.YES.getValue()); + for (Long employeeId : onLineEmployeeIds) { + Integer readCount = readCountMap.get(employeeId) == null ? 0 : readCountMap.get(employeeId); + Integer unReadCount = noticeCount - readCount; + if (! requestToken.getRequestUserId().equals(employeeId)) { + WebSocketServer.sendOneOnLineUser(unReadCount.toString(), employeeId); + } + } + } + + /** + * 读取消息 + * + * @param id + * @param requestToken + * @return + */ + public ResponseDTO read(Long id, RequestTokenBO requestToken) { + NoticeDetailVO noticeDTO = noticeDao.detail(id); + + NoticeReceiveRecordEntity recordEntity = noticeReceiveRecordDao.selectByEmployeeAndNotice(requestToken.getRequestUserId(), id); + if (recordEntity != null) { + return ResponseDTO.succData(noticeDTO); + } + noticeManage.saveReadRecord(id, requestToken); + this.sendMessage(requestToken); + return ResponseDTO.succData(noticeDTO); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/dao/NoticeDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/dao/NoticeDao.java new file mode 100644 index 00000000..de7caec5 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/dao/NoticeDao.java @@ -0,0 +1,103 @@ +package net.lab1024.smartadmin.module.business.notice.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.anno.DataScope; +import net.lab1024.smartadmin.module.business.notice.domain.dto.*; +import net.lab1024.smartadmin.module.business.notice.domain.entity.NoticeEntity; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeWhereInTypeEnum; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019-07-11 16:19:48 + * @since JDK1.8 + */ +@Mapper +@Component +public interface NoticeDao extends BaseMapper { + + /** + * 分页查询 + * @param queryDTO + * @return NoticeEntity + */ + @DataScope(joinSql = "n.create_user in (#employeeIds)", whereInType = DataScopeWhereInTypeEnum.EMPLOYEE) + List queryByPage(Page page, @Param("queryDTO") NoticeQueryDTO queryDTO); + + + /** + * 获取某人的未读消息 + * @param page + * @param employeeId + * @return + */ + @DataScope(joinSql = "e.department_id in (#departmentIds)", whereInType = DataScopeWhereInTypeEnum.DEPARTMENT) + List queryUnreadByPage(Page page, @Param("employeeId") Long employeeId, @Param("sendStatus") Integer sendStatus); + + + /** + * 获取 + * @param page + * @param queryDTO + * @return + */ + List queryReceiveByPage(Page page, @Param("queryDTO") NoticeReceiveQueryDTO queryDTO); + + /** + * 详情 + * @param id + * @return + */ + NoticeDetailVO detail(@Param("id") Long id); + + /** + * 根据id删除 逻辑删除 + * @param id + * @param deletedFlag + */ + void logicDeleteById(@Param("id") Long id,@Param("deletedFlag") Integer deletedFlag); + + + + /** + * 批量逻辑删除 + * @param idList + * @param deletedFlag + * @return + */ + void logicDeleteByIds(@Param("idList") List idList,@Param("deletedFlag") Integer deletedFlag); + + /** + * 获取消息总数 + * @return + */ + Integer noticeCount(@Param("sendStatus") Integer sendStatus); + + + /** + * 获取已读消息数 + * @param employeeIds + * @return + */ + List readCount(@Param("employeeIds") List employeeIds); + + + /** + * 获取某人的未读消息数 + * @param employeeId + * @param sendStatus + * @return + */ + Integer noticeUnreadCount(@Param("employeeId") Long employeeId, @Param("sendStatus") Integer sendStatus); + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/dao/NoticeReceiveRecordDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/dao/NoticeReceiveRecordDao.java new file mode 100644 index 00000000..682e0d74 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/dao/NoticeReceiveRecordDao.java @@ -0,0 +1,48 @@ +package net.lab1024.smartadmin.module.business.notice.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.lab1024.smartadmin.module.business.notice.domain.entity.NoticeReceiveRecordEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019-07-11 16:19:48 + * @since JDK1.8 + */ +@Mapper +@Component +public interface NoticeReceiveRecordDao extends BaseMapper { + + /** + * 批量删除 + * + * @param noticeId + * @return + */ + void deleteByNoticeId(@Param("noticeId") Long noticeId); + + /** + * 批量插入 + * + * @param rolePrivilegeList + */ + void batchInsert(List rolePrivilegeList); + + /** + * 根据员工和系统通知获取读取记录 + * + * @param employeeId + * @param noticeId + * @return + */ + NoticeReceiveRecordEntity selectByEmployeeAndNotice(@Param("employeeId") Long employeeId, @Param("noticeId") Long noticeId); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeAddDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeAddDTO.java new file mode 100644 index 00000000..572817d1 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeAddDTO.java @@ -0,0 +1,28 @@ +package net.lab1024.smartadmin.module.business.notice.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 12:27 + * @since JDK1.8 + */ +@Data +public class NoticeAddDTO { + + @ApiModelProperty("消息标题") + @Length(max = 200) + private String title; + + @ApiModelProperty("消息内容") + @Length(max = 5000) + private String content; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeDetailVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeDetailVO.java new file mode 100644 index 00000000..097317cd --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeDetailVO.java @@ -0,0 +1,30 @@ +package net.lab1024.smartadmin.module.business.notice.domain.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 12:27 + * @since JDK1.8 + */ +@Data +public class NoticeDetailVO extends NoticeVO { + + + @ApiModelProperty("消息内容") + private String content; + + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeQueryDTO.java new file mode 100644 index 00000000..b68feb4f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeQueryDTO.java @@ -0,0 +1,34 @@ +package net.lab1024.smartadmin.module.business.notice.domain.dto; + +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date 2019-07-11 16:19:48 + * @since JDK1.8 + */ +@Data +public class NoticeQueryDTO extends PageParamDTO { + + + @ApiModelProperty("开始日期") + private String startDate; + + @ApiModelProperty("结束日期") + private String endDate; + + + @ApiModelProperty("消息标题") + private String title; + + @ApiModelProperty(value = "是否删除",hidden = true) + private Integer deleted; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeReadCountDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeReadCountDTO.java new file mode 100644 index 00000000..7821cf76 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeReadCountDTO.java @@ -0,0 +1,26 @@ +package net.lab1024.smartadmin.module.business.notice.domain.dto; + +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/12 0012 上午 8:11 + * @since JDK1.8 + */ +@Data +public class NoticeReadCountDTO { + /** + * 员工id + */ + private Long employeeId; + /** + * 已读消息数 + */ + private Integer readCount; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeReceiveDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeReceiveDTO.java new file mode 100644 index 00000000..aa4aa7ad --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeReceiveDTO.java @@ -0,0 +1,43 @@ +package net.lab1024.smartadmin.module.business.notice.domain.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import net.lab1024.smartadmin.common.anno.ApiModelPropertyEnum; +import net.lab1024.smartadmin.common.constant.JudgeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/12 0012 上午 11:53 + * @since JDK1.8 + */ +@Data +public class NoticeReceiveDTO{ + + @ApiModelProperty("id") + private Long id; + + @ApiModelProperty("消息标题") + private String title; + + + @ApiModelProperty("消息创建人") + private Long createUser; + + @ApiModelProperty("消息创建人名称") + private String createUserName; + + @ApiModelProperty("结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date receiveTime; + + @ApiModelPropertyEnum(enumDesc = "读取状态",value = JudgeEnum.class) + private Integer readStatus; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeReceiveQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeReceiveQueryDTO.java new file mode 100644 index 00000000..63bbc87b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeReceiveQueryDTO.java @@ -0,0 +1,25 @@ +package net.lab1024.smartadmin.module.business.notice.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/12 0012 下午 12:32 + * @since JDK1.8 + */ +@Data +public class NoticeReceiveQueryDTO extends NoticeQueryDTO{ + + @ApiModelProperty(value = "当前登录人",hidden = true) + private Long employeeId; + + @ApiModelProperty(value = "发送状态",hidden = true) + private Integer sendStatus; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeUpdateDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeUpdateDTO.java new file mode 100644 index 00000000..d62c00ca --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeUpdateDTO.java @@ -0,0 +1,21 @@ +package net.lab1024.smartadmin.module.business.notice.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/11 0011 下午 16:24 + * @since JDK1.8 + */ +@Data +public class NoticeUpdateDTO extends NoticeAddDTO{ + + @ApiModelProperty("id") + private Long id; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeVO.java new file mode 100644 index 00000000..04fc5fbb --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/dto/NoticeVO.java @@ -0,0 +1,42 @@ +package net.lab1024.smartadmin.module.business.notice.domain.dto; +import net.lab1024.smartadmin.common.anno.ApiModelPropertyEnum; +import net.lab1024.smartadmin.common.constant.JudgeEnum; +import lombok.Data; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 12:27 + * @since JDK1.8 + */ +@Data +public class NoticeVO { + + @ApiModelProperty("id") + private Long id; + + @ApiModelProperty("消息标题") + private String title; + + + @ApiModelProperty("消息创建人") + private Long createUser; + + @ApiModelPropertyEnum(enumDesc = "发送状态",value = JudgeEnum.class) + private Integer sendStatus; + + @ApiModelProperty("消息创建人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/entity/NoticeEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/entity/NoticeEntity.java new file mode 100644 index 00000000..4caeca22 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/entity/NoticeEntity.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.module.business.notice.domain.entity; +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019-07-11 16:19:48 + * @since JDK1.8 + */ +@Data +@TableName("t_notice") +public class NoticeEntity extends BaseEntity { + + /** + * 消息标题 + */ + private String title; + + /** + * 消息内容 + */ + private String content; + + /** + * 消息创建人 + */ + private Long createUser; + + /** + * 发送状态 + */ + private Integer sendStatus; + + /** + * 删除状态 + */ + private Integer deleted; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/entity/NoticeReceiveRecordEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/entity/NoticeReceiveRecordEntity.java new file mode 100644 index 00000000..74f5f3e7 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/domain/entity/NoticeReceiveRecordEntity.java @@ -0,0 +1,33 @@ +package net.lab1024.smartadmin.module.business.notice.domain.entity; +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019-07-11 16:19:48 + * @since JDK1.8 + */ +@Data +@TableName("t_notice_receive_record") +public class NoticeReceiveRecordEntity extends BaseEntity { + + + /** + * 消息id + */ + private Long noticeId; + + /** + * 消息接收人 + */ + private Long employeeId; + + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/controller/PeonyController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/controller/PeonyController.java new file mode 100644 index 00000000..08b12c62 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/controller/PeonyController.java @@ -0,0 +1,88 @@ +package net.lab1024.smartadmin.module.business.peony.controller; + +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.controller.BaseController; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.common.domain.ValidateList; +import net.lab1024.smartadmin.module.business.peony.domain.dto.PeonyAddDTO; +import net.lab1024.smartadmin.module.business.peony.domain.dto.PeonyUpdateDTO; +import net.lab1024.smartadmin.module.business.peony.domain.dto.PeonyQueryDTO; +import net.lab1024.smartadmin.module.business.peony.domain.vo.PeonyVO; +import net.lab1024.smartadmin.module.business.peony.domain.vo.PeonyExcelVO; +import net.lab1024.smartadmin.module.business.peony.service.PeonyService; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import org.apache.poi.ss.usermodel.Workbook; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * [ 牡丹花 ] + * + * @author 卓大 + * @version 1.0 + * @company 1024创新实验室( www.1024lab.net ) + * @copyright (c) 1024创新实验室( www.1024lab.net )Inc. All rights reserved. + * @date 2020-04-06 18:17:56 + * @since JDK1.8 + */ +@RestController +@Api(tags = {"牡丹花"}) +public class PeonyController extends BaseController { + + @Autowired + private PeonyService peonyService; + + @ApiOperation(value = "分页查询牡丹花",notes = "@author 卓大") + @PostMapping("/peony/page/query") + public ResponseDTO> queryByPage(@RequestBody PeonyQueryDTO queryDTO) { + return peonyService.queryByPage(queryDTO); + } + + @ApiOperation(value = "添加牡丹花",notes = "@author 卓大") + @PostMapping("/peony/add") + public ResponseDTO add(@RequestBody @Validated PeonyAddDTO addTO){ + return peonyService.add(addTO); + } + + @ApiOperation(value="修改牡丹花",notes = "@author 卓大") + @PostMapping("/peony/update") + public ResponseDTO update(@RequestBody @Validated PeonyUpdateDTO updateDTO){ + return peonyService.update(updateDTO); + } + + @ApiOperation(value="批量删除牡丹花",notes = "@author 卓大") + @PostMapping("/peony/deleteByIds") + public ResponseDTO delete(@RequestBody @Validated ValidateList idList) { + return peonyService.deleteByIds(idList); + } + + @ApiOperation(value = "批量导出", notes = "@author 卓大") + @PostMapping("/peony/export/batch") + public void batchExport(@RequestBody @Validated ValidateList idList, HttpServletResponse response) { + //查询数据 + List peonyList = peonyService.queryBatchExportData(idList); + //导出操作 + ExportParams ex = new ExportParams("牡丹花", "Sheet1"); + Workbook workbook = ExcelExportUtil.exportExcel(ex, PeonyExcelVO.class, peonyList); + downloadExcel("牡丹花", workbook, response); + } + + @ApiOperation(value = "导出全部", notes = "@author 卓大") + @PostMapping("/peony/export/all") + public void exportAll(@RequestBody @Validated PeonyQueryDTO queryDTO, HttpServletResponse response) { + //查询数据 + List peonyList = peonyService.queryAllExportData(queryDTO); + //导出操作 + ExportParams ex = new ExportParams("牡丹花", "Sheet1"); + Workbook workbook = ExcelExportUtil.exportExcel(ex, PeonyExcelVO.class, peonyList); + downloadExcel("牡丹花", workbook, response); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/dao/PeonyDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/dao/PeonyDao.java new file mode 100644 index 00000000..bc131bb3 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/dao/PeonyDao.java @@ -0,0 +1,64 @@ +package net.lab1024.smartadmin.module.business.peony.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.metadata.IPage; +import net.lab1024.smartadmin.module.business.peony.domain.dto.PeonyQueryDTO; +import net.lab1024.smartadmin.module.business.peony.domain.entity.PeonyEntity; +import net.lab1024.smartadmin.module.business.peony.domain.vo.PeonyVO; +import net.lab1024.smartadmin.module.business.peony.domain.vo.PeonyExcelVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ 牡丹花 ] + * + * @author 卓大 + * @version 1.0 + * @company 1024创新实验室( www.1024lab.net ) + * @copyright (c) 1024创新实验室( www.1024lab.net )Inc. All rights reserved. + * @date 2020-04-06 18:17:56 + * @since JDK1.8 + */ +@Mapper +@Component +public interface PeonyDao extends BaseMapper { + + /** + * 分页查询 + * @param queryDTO + * @return PeonyVO + */ + IPage queryByPage(Page page, @Param("queryDTO") PeonyQueryDTO queryDTO); + + /** + * 根据id删除 + * @param id + * @return + */ + void deleteById(@Param("id") Long id); + + /** + * 根据id批量删除 + * @param idList + * @return + */ + void deleteByIdList(@Param("idList") List idList); + + /** + * 查询所有导出数据 + * @param queryDTO + * @return + */ + List queryAllExportData(@Param("queryDTO") PeonyQueryDTO queryDTO); + + /** + * 查询批量导出数据 + * @param idList + * @return + */ + List queryBatchExportData(@Param("idList") List idList); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/dto/PeonyAddDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/dto/PeonyAddDTO.java new file mode 100644 index 00000000..976a2593 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/dto/PeonyAddDTO.java @@ -0,0 +1,41 @@ +package net.lab1024.smartadmin.module.business.peony.domain.dto; + +import lombok.Data; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; + +/** + * 新建 [ 牡丹花 ] + * + * @author 卓大 + * @version 1.0 + * @company 1024创新实验室( www.1024lab.net ) + * @copyright (c) 2018 1024创新实验室( www.1024lab.net )Inc. All rights reserved. + * @date 2020-04-06 18:17:56 + * @since JDK1.8 + */ +@Data +public class PeonyAddDTO { + @ApiModelProperty("品种") + private String kind; + + @ApiModelProperty("名字") + private String name; + + @ApiModelProperty("颜色") + private String color; + + @ApiModelProperty("图片链接") + private String imageUrl; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/dto/PeonyQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/dto/PeonyQueryDTO.java new file mode 100644 index 00000000..9841f01d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/dto/PeonyQueryDTO.java @@ -0,0 +1,44 @@ +package net.lab1024.smartadmin.module.business.peony.domain.dto; + +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.util.Date; + +/** + * [ 牡丹花 ] + * + * @author 卓大 + * @version 1.0 + * @company 1024创新实验室( www.1024lab.net ) + * @copyright (c) 1024创新实验室( www.1024lab.net )Inc. All rights reserved. + * @date 2020-04-06 18:17:56 + * @since JDK1.8 + */ +@Data +public class PeonyQueryDTO extends PageParamDTO { + + @ApiModelProperty("ID") + private Long id; + + @ApiModelProperty("品种") + private String kind; + + @ApiModelProperty("名字") + private String name; + + @ApiModelProperty("颜色") + private String color; + + @ApiModelProperty("创建时间-开始") + private Date createTimeBegin; + + @ApiModelProperty("创建时间-截止") + private Date createTimeEnd; + + @ApiModelProperty("上次更新时间-开始") + private Date updateTimeBegin; + + @ApiModelProperty("上次更新创建时间-开始") + private Date updateTimeEnd; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/dto/PeonyUpdateDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/dto/PeonyUpdateDTO.java new file mode 100644 index 00000000..7d7ca820 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/dto/PeonyUpdateDTO.java @@ -0,0 +1,20 @@ +package net.lab1024.smartadmin.module.business.peony.domain.dto; + +import lombok.Data; + +/** + * 更新 [ 牡丹花 ] + * + * @author 卓大 + * @version 1.0 + * @company 1024创新实验室( www.1024lab.net ) + * @copyright (c) 2018 1024创新实验室( www.1024lab.net )Inc. All rights reserved. + * @date 2020-04-06 18:17:56 + * @since JDK1.8 + */ +@Data +public class PeonyUpdateDTO extends PeonyAddDTO { + + private Long id; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/entity/PeonyEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/entity/PeonyEntity.java new file mode 100644 index 00000000..48eb9d56 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/entity/PeonyEntity.java @@ -0,0 +1,44 @@ +package net.lab1024.smartadmin.module.business.peony.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +/** + * [ 牡丹花 ] + * + * @author 卓大 + * @version 1.0 + * @company 1024创新实验室( www.1024lab.net ) + * @copyright (c) 1024创新实验室( www.1024lab.net )Inc. All rights reserved. + * @date 2020-04-06 18:17:56 + * @since JDK1.8 + */ +@Data +@TableName("t_peony") +public class PeonyEntity extends BaseEntity{ + + + /** + * 品种 + */ + private String kind; + + /** + * 名字 + */ + private String name; + + /** + * 颜色 + */ + private String color; + + /** + * 图片链接 + */ + private String imageUrl; + + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/vo/PeonyExcelVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/vo/PeonyExcelVO.java new file mode 100644 index 00000000..8964433f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/vo/PeonyExcelVO.java @@ -0,0 +1,42 @@ +package net.lab1024.smartadmin.module.business.peony.domain.vo; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; +import java.util.Date; + +/** + * [ 牡丹花 ] + * + * @author 卓大 + * @version 1.0 + * @company 1024创新实验室( www.1024lab.net ) + * @copyright (c) 1024创新实验室( www.1024lab.net )Inc. All rights reserved. + * @date 2020-04-06 18:17:56 + * @since JDK1.8 + */ +@Data +public class PeonyExcelVO { + @Excel(name = "ID") + private Long id; + + @Excel(name = "品种") + private String kind; + + @Excel(name = "名字") + private String name; + + @Excel(name = "颜色") + private String color; + + @Excel(name = "图片链接") + private String imageUrl; + + @Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @Excel(name = "更新时间", format = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/vo/PeonyVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/vo/PeonyVO.java new file mode 100644 index 00000000..06590916 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/domain/vo/PeonyVO.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.module.business.peony.domain.vo; + +import lombok.Data; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; + +/** + * [ 牡丹花 ] + * + * @author 卓大 + * @version 1.0 + * @company 1024创新实验室( www.1024lab.net ) + * @copyright (c) 1024创新实验室( www.1024lab.net )Inc. All rights reserved. + * @date 2020-04-06 18:17:56 + * @since JDK1.8 + */ +@Data +public class PeonyVO { + @ApiModelProperty("ID") + private Long id; + + @ApiModelProperty("品种") + private String kind; + + @ApiModelProperty("名字") + private String name; + + @ApiModelProperty("颜色") + private String color; + + @ApiModelProperty("图片链接") + private String imageUrl; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/service/PeonyService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/service/PeonyService.java new file mode 100644 index 00000000..50bfbb44 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/peony/service/PeonyService.java @@ -0,0 +1,108 @@ +package net.lab1024.smartadmin.module.business.peony.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.business.peony.dao.PeonyDao; +import net.lab1024.smartadmin.module.business.peony.domain.dto.PeonyAddDTO; +import net.lab1024.smartadmin.module.business.peony.domain.dto.PeonyUpdateDTO; +import net.lab1024.smartadmin.module.business.peony.domain.dto.PeonyQueryDTO; +import net.lab1024.smartadmin.module.business.peony.domain.entity.PeonyEntity; +import net.lab1024.smartadmin.module.business.peony.domain.vo.PeonyVO; +import net.lab1024.smartadmin.module.business.peony.domain.vo.PeonyExcelVO; +import net.lab1024.smartadmin.util.SmartPageUtil; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * [ 牡丹花 ] + * + * @author 卓大 + * @version 1.0 + * @company 1024创新实验室( www.1024lab.net ) + * @copyright (c) 1024创新实验室( www.1024lab.net )Inc. All rights reserved. + * @date 2020-04-06 18:17:56 + * @since JDK1.8 + */ +@Service +public class PeonyService { + + @Autowired + private PeonyDao peonyDao; + + /** + * 根据id查询 + */ + public PeonyEntity getById(Long id){ + return peonyDao.selectById(id); + } + + /** + * 分页查询 + * @author 卓大 + * @date 2020-04-06 18:17:56 + */ + public ResponseDTO> queryByPage(PeonyQueryDTO queryDTO) { + Page page = SmartPageUtil.convert2QueryPage(queryDTO); + IPage voList = peonyDao.queryByPage(page, queryDTO); + PageResultDTO pageResultDTO = SmartPageUtil.convert2PageResult(voList); + return ResponseDTO.succData(pageResultDTO); + } + + /** + * 添加 + * @author 卓大 + * @date 2020-04-06 18:17:56 + */ + public ResponseDTO add(PeonyAddDTO addDTO) { + PeonyEntity entity = SmartBeanUtil.copy(addDTO, PeonyEntity.class); + peonyDao.insert(entity); + return ResponseDTO.succ(); + } + + /** + * 编辑 + * @author 卓大 + * @date 2020-04-06 18:17:56 + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO update(PeonyUpdateDTO updateDTO) { + PeonyEntity entity = SmartBeanUtil.copy(updateDTO, PeonyEntity.class); + peonyDao.updateById(entity); + return ResponseDTO.succ(); + } + + /** + * 删除 + * @author 卓大 + * @date 2020-04-06 18:17:56 + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO deleteByIds(List idList) { + peonyDao.deleteByIdList(idList); + return ResponseDTO.succ(); + } + + /** + * 查询全部导出对象 + * @author 卓大 + * @date 2020-04-06 18:17:56 + */ + public List queryAllExportData(PeonyQueryDTO queryDTO) { + return peonyDao.queryAllExportData( queryDTO); + } + + /** + * 批量查询导出对象 + * @author 卓大 + * @date 2020-04-06 18:17:56 + */ + public List queryBatchExportData(List idList) { + return peonyDao.queryBatchExportData(idList); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/constant/SqlOperateTypeEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/constant/SqlOperateTypeEnum.java new file mode 100644 index 00000000..943e1c36 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/constant/SqlOperateTypeEnum.java @@ -0,0 +1,34 @@ +package net.lab1024.smartadmin.module.support.codegenerator.constant; + + +/** + * [ gt,lt 目前只支持Date] + * + * @author yandanyang + * @version 1.0 + * @since JDK1.8 + */ +public enum SqlOperateTypeEnum{ + + + LIKE(1, "like"), + EQUALS(2, "equals"), + IN(3, "in"); + + private Integer type; + + private String name; + + SqlOperateTypeEnum(Integer type, String name) { + this.type = type; + this.name = name; + } + + public Integer getType() { + return type; + } + + public String getName() { + return name; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/dao/TableDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/dao/TableDao.java new file mode 100644 index 00000000..f8d005ab --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/dao/TableDao.java @@ -0,0 +1,40 @@ +package net.lab1024.smartadmin.module.support.codegenerator.dao; + +import net.lab1024.smartadmin.module.support.codegenerator.domain.ColumnVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/10 0010 下午 18:59 + * @since JDK1.8 + */ +@Mapper +@Component +public interface TableDao { + + + /** + * 查询表描述 + * @param tableName + * @return + */ + String selectTableDesc(@Param("tableName") String tableName); + + /** + * 查询表列信息 + * @param tableName + * @return + */ + List selectTableColumn(@Param("tableName") String tableName); + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/CodeGeneratorDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/CodeGeneratorDTO.java new file mode 100644 index 00000000..4995aa57 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/CodeGeneratorDTO.java @@ -0,0 +1,56 @@ +package net.lab1024.smartadmin.module.support.codegenerator.domain; + +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/11 0011 上午 10:12 + * @since JDK1.8 + */ +@Data +@Builder +public class CodeGeneratorDTO { + + /** + * 需要生成代码的表名 + */ + private String tableName; + + /** + * 表前缀 + */ + private String tablePrefix; + + /** + * 基础包路径 + */ + private String basePackage; + + /** + * module下的子包 + */ + private String modulePackage; + + /** + * 公司 + */ + private String company; + + /** + * 作者 + */ + private String author; + + /** + * 需要构建查询方法的列 + */ + private List queryColumnList; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/CodeGeneratorQueryColumnDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/CodeGeneratorQueryColumnDTO.java new file mode 100644 index 00000000..9e1bd054 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/CodeGeneratorQueryColumnDTO.java @@ -0,0 +1,30 @@ +package net.lab1024.smartadmin.module.support.codegenerator.domain; + +import net.lab1024.smartadmin.module.support.codegenerator.constant.SqlOperateTypeEnum; +import lombok.Builder; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/11 0011 上午 10:13 + * @since JDK1.8 + */ +@Data +@Builder +public class CodeGeneratorQueryColumnDTO { + + /** + * 生成查询方法的查询列名 + */ + private String columnName; + + /** + * 此列的查询动作 + */ + private SqlOperateTypeEnum sqlOperate; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/ColumnVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/ColumnVO.java new file mode 100644 index 00000000..9bec4d9f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/ColumnVO.java @@ -0,0 +1,36 @@ +package net.lab1024.smartadmin.module.support.codegenerator.domain; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/10 0010 下午 17:55 + * @since JDK1.8 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ColumnVO { + + private String columnName; + + private String columnType; + + private String columnDesc; + + private String fieldType; + + private String fieldName; + + private Boolean isNumber; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/QueryFieldVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/QueryFieldVO.java new file mode 100644 index 00000000..c2afcc53 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/domain/QueryFieldVO.java @@ -0,0 +1,30 @@ +package net.lab1024.smartadmin.module.support.codegenerator.domain; + +import lombok.Builder; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/10 0010 下午 17:56 + * @since JDK1.8 + */ +@Data +@Builder +public class QueryFieldVO { + + private String fieldName; + + private String columnName; + + private String columnDesc; + + private String fieldType; + + private String sqlOperate; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/service/CodeGeneratorComponent.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/service/CodeGeneratorComponent.java new file mode 100644 index 00000000..37ee4e87 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/service/CodeGeneratorComponent.java @@ -0,0 +1,92 @@ +package net.lab1024.smartadmin.module.support.codegenerator.service; + +import com.google.common.base.CaseFormat; +import org.springframework.stereotype.Component; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/11 0011 上午 8:33 + * @since JDK1.8 + */ +@Component +public class CodeGeneratorComponent { + + private static Map dataMap = new HashMap<>(16); + private static Map numberTypeMap = new HashMap<>(16); + + static { + dataMap(); + } + + public static void dataMap() { + numberTypeMap.put("int", "Integer"); + numberTypeMap.put("tinyint", "Integer"); + numberTypeMap.put("smallint", "Integer"); + numberTypeMap.put("integer", "Integer"); + numberTypeMap.put("bigint", "Long"); + numberTypeMap.put("float", "Float"); + numberTypeMap.put("double", "Double"); + numberTypeMap.put("decimal", "BigDecimal"); + + dataMap.put("char", "String"); + dataMap.put("varchar", "String"); + dataMap.put("tinytext", "String"); + dataMap.put("text", "String"); + dataMap.put("longtext", "String"); + + dataMap.put("date", "Date"); + dataMap.put("datetime", "Date"); + dataMap.put("timestamp", "Date"); + + } + + + public Map codeTemplates(String moduleClass, String basePackage, String modulePackage) { + String modulePath = modulePackage.replaceAll("\\.", "/"); + String javaPackagePath = "java/" + modulePath + File.separator; + String xmlPackagePath = "mapper/" + modulePath + File.separator; + String frontPackagePath = "web" + File.separator; + Map templateMap = new HashMap<>(); + //后端 + templateMap.put("templates/codegenerator/java/Controller.java.vm", javaPackagePath + "controller" + File.separator + moduleClass + "Controller.java"); + templateMap.put("templates/codegenerator/java/Dao.java.vm", javaPackagePath + "dao" + File.separator + moduleClass + "Dao.java"); + templateMap.put("templates/codegenerator/java/Dao.xml.vm", xmlPackagePath + moduleClass + "Mapper.xml"); + templateMap.put("templates/codegenerator/java/AddDTO.java.vm", javaPackagePath + "domain" + File.separator + "dto" + File.separator + moduleClass + "AddDTO.java"); + templateMap.put("templates/codegenerator/java/UpdateDTO.java.vm", javaPackagePath + "domain" + File.separator + "dto" + File.separator + moduleClass + "UpdateDTO.java"); + templateMap.put("templates/codegenerator/java/Entity.java.vm", javaPackagePath + "domain" + File.separator + "entity" + File.separator + moduleClass + "Entity.java"); + templateMap.put("templates/codegenerator/java/VO.java.vm", javaPackagePath + "domain" + File.separator + "vo" + File.separator + moduleClass + "VO.java"); + templateMap.put("templates/codegenerator/java/ExcelVO.java.vm", javaPackagePath + "domain" + File.separator + "vo" + File.separator + moduleClass + "ExcelVO.java"); + templateMap.put("templates/codegenerator/java/QueryDTO.java.vm", javaPackagePath + "domain" + File.separator + "dto" + File.separator + moduleClass + "QueryDTO.java"); + templateMap.put("templates/codegenerator/java/Service.java.vm", javaPackagePath + "service" + File.separator + moduleClass + "Service.java"); + //前端 + String webPackageName = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, moduleClass).replaceAll("_", "-"); + templateMap.put("templates/codegenerator/web/Api.js.vm", frontPackagePath + "api" + File.separator + webPackageName + ".js"); + templateMap.put("templates/codegenerator/web/Router.js.vm", frontPackagePath + "router" + File.separator + webPackageName + ".js"); + templateMap.put("templates/codegenerator/web/List.vue.vm", frontPackagePath + webPackageName + File.separator + webPackageName + "-list.vue"); + templateMap.put("templates/codegenerator/web/ListForm.vue.vm", frontPackagePath + webPackageName + File.separator + "components" + File.separator + webPackageName + "-list-form.vue"); + return templateMap; + } + + public String getJavaType(String mysqlType) { + String javaType = dataMap.get(mysqlType); + if (javaType == null) { + javaType = numberTypeMap.get(mysqlType); + } + return javaType; + } + + public boolean isNumber(String mysqlType) { + return numberTypeMap.containsKey(mysqlType); + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/service/CodeGeneratorService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/service/CodeGeneratorService.java new file mode 100644 index 00000000..b2b6585d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/codegenerator/service/CodeGeneratorService.java @@ -0,0 +1,336 @@ +package net.lab1024.smartadmin.module.support.codegenerator.service; + +import com.google.common.base.CaseFormat; +import net.lab1024.smartadmin.module.support.codegenerator.dao.TableDao; +import net.lab1024.smartadmin.module.support.codegenerator.domain.CodeGeneratorDTO; +import net.lab1024.smartadmin.module.support.codegenerator.domain.CodeGeneratorQueryColumnDTO; +import net.lab1024.smartadmin.module.support.codegenerator.domain.ColumnVO; +import net.lab1024.smartadmin.module.support.codegenerator.domain.QueryFieldVO; +import net.lab1024.smartadmin.util.SmartDateUtil; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import net.lab1024.smartadmin.util.SmartStringUtil; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.WordUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.velocity.Template; +import org.apache.velocity.VelocityContext; +import org.apache.velocity.app.Velocity; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.ResourceUtils; + +import javax.swing.filechooser.FileSystemView; +import java.io.File; +import java.io.FileWriter; +import java.util.*; +import java.util.Map.Entry; +import java.util.stream.Collectors; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/11 0011 上午 9:36 + * @since JDK1.8 + */ +@Slf4j +@Service +public class CodeGeneratorService { + + @Autowired + private TableDao tableDao; + + @Autowired + private CodeGeneratorComponent codeGeneratorComponent; + + /** + * 大家注意了开始生成代码了 + * + * @param codeGenerator + * @throws Exception + */ + public void codeGenerator(CodeGeneratorDTO codeGenerator) throws Exception { + this.basicValid(codeGenerator); + String date = SmartDateUtil.formatYMDHMS(new Date()); + String tableDesc = this.getTableDesc(codeGenerator.getTableName()); + String author = codeGenerator.getAuthor(); + String basePackage = codeGenerator.getBasePackage(); + if (StringUtils.isEmpty(basePackage)) { + basePackage = "net.lab1024.smartadmin"; + } + String moduleClass = this.tableName2Class(codeGenerator.getTableName(), codeGenerator.getTablePrefix()); + String moduleVar = this.tableName2Var(codeGenerator.getTableName(), codeGenerator.getTablePrefix()); + String modulePackage = codeGenerator.getModulePackage(); + + List columnList = this.columnList(codeGenerator.getTableName()); + List queryFieldList = this.buildQueryField(codeGenerator, columnList); + Map codeTemplates = codeGeneratorComponent.codeTemplates(moduleClass, basePackage, modulePackage); + List queryImports = this.buildQueryImport(queryFieldList); + List dtoImports = this.buildDTOImport(columnList); + List entityImports = this.buildEntityImport(columnList); + Properties p = new Properties(); + p.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); + p.put("directive.foreach.counter.name", "velocityCount"); + p.put("directive.foreach.counter.initial.value", "1"); + Velocity.init(p); + Map map = new HashMap<>(); + map.put("company", codeGenerator.getCompany()); + map.put("tableName", codeGenerator.getTableName()); + map.put("basePackage", basePackage); + map.put("modulePackage", modulePackage); + map.put("moduleClass", moduleClass); + map.put("tableDesc", tableDesc); + map.put("author", author); + map.put("date", date); + map.put("moduleVar", moduleVar); + map.put("columnList", columnList); + map.put("queryFieldList", queryFieldList); + map.put("queryImports", queryImports); + map.put("dtoImports", dtoImports); + map.put("entityImports", entityImports); + map.put("webModuleName", CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, moduleClass).replaceAll("_", "-")); + map.put("upperCamel", CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, moduleClass)); + //前端的变量 + map.put("ViewUIMessage", "$Message"); + map.put("VueRefs", "$refs"); + VelocityContext context = new VelocityContext(map); + this.codeGenerator(context, codeTemplates); + } + + private List buildQueryImport(List queryFieldList) { + List queryImports = Lists.newArrayList(); + if (CollectionUtils.isNotEmpty(queryFieldList)) { + queryFieldList.forEach(e -> { + importPackage(queryImports, e.getFieldType()); + if ("in".equals(e.getSqlOperate())) { + queryImports.add("import java.util.List;"); + } + }); + } + return queryImports; + } + + private List buildDTOImport(List columnList) { + List dtoImports = Lists.newArrayList(); + if (CollectionUtils.isNotEmpty(columnList)) { + columnList.forEach(e -> { + importPackage(dtoImports, e.getFieldType()); + }); + } + return dtoImports; + } + + private List buildEntityImport(List columnList) { + List entityImports = Lists.newArrayList(); + if (CollectionUtils.isNotEmpty(columnList)) { + columnList.forEach(e -> { + if (!e.getFieldName().equals("createTime") && !e.getFieldName().equals("updateTime") && !e.getFieldName().equals("id")) { + importPackage(entityImports, e.getFieldType()); + } + }); + } + return entityImports; + } + + private void importPackage(List imports, String fieldType) { + if ("Date".equals(fieldType) && !imports.contains("import java.util.Date;")) { + imports.add("import java.util.Date;"); + } + if ("BigDecimal".equals(fieldType) && !imports.contains("import java.math.BigDecimal;")) { + imports.add("import java.math.BigDecimal;"); + } + } + + private String getOutputDir() { + File desktopDir = FileSystemView.getFileSystemView().getHomeDirectory(); + return desktopDir.getAbsolutePath() + File.separator + "smart-admin" + File.separator; + } + + /** + * 生成代码 + * + * @param context + * @param codeTemplates + */ + private void codeGenerator(VelocityContext context, Map codeTemplates) throws Exception { + String projectPath = getOutputDir(); + + Velocity.setProperty("input.encoding", "UTF-8"); + Velocity.setProperty("output.encoding", "UTF-8"); + + for (Entry entry : codeTemplates.entrySet()) { + String template = entry.getKey(); + String filePath = projectPath + entry.getValue(); + String fileName = filePath.substring(filePath.lastIndexOf(File.separator) + 1); + String fileDir = filePath.replace(fileName, ""); + File directory = new File(fileDir); + if (!directory.exists()) { + directory.mkdirs(); + } + FileWriter writer; + try { + writer = new FileWriter(filePath); + Template tpl = Velocity.getTemplate(template, "UTF-8"); + tpl.merge(context, writer); + writer.flush(); + writer.close(); + } catch (Exception e) { + log.error("", e); + } + } + + log.info("------------------------------ 代 码 生 成 完 毕 ! ------------------------------"); + log.info("代码目录:{}", projectPath); + log.info("------------------------------ 代 码 生 成 完 毕 ! ------------------------------"); + + } + + public static void main(String[] args) { + try { + int i = 1 / 0; + } catch (Exception e) { + log.error("", e); + } + } + + private void basicValid(CodeGeneratorDTO codeGenerator) throws Exception { + if (StringUtils.isEmpty(codeGenerator.getTableName())) { + throw new Exception("你没建表吗?"); + } + if (StringUtils.isEmpty(codeGenerator.getTablePrefix())) { + throw new Exception("你的表没前缀吗?"); + } + if (StringUtils.isEmpty(codeGenerator.getAuthor())) { + throw new Exception("输入下你的大名"); + } + } + + /** + * 构建查询集合 + * + * @param codeGenerator + * @param columnList + * @return + * @throws Exception + */ + private List buildQueryField(CodeGeneratorDTO codeGenerator, List columnList) throws Exception { + List queryFieldList = Lists.newArrayList(); + Map storageMap = columnList.stream().collect(Collectors.toMap(ColumnVO::getColumnName, e -> e)); + List queryColumnList = codeGenerator.getQueryColumnList(); + if (CollectionUtils.isEmpty(queryColumnList)) { + return queryFieldList; + } + for (CodeGeneratorQueryColumnDTO queryColumn : queryColumnList) { + ColumnVO columnDTO = storageMap.get(queryColumn.getColumnName()); + if (columnDTO == null) { + String errorMsg = "sql列[" + queryColumn.getColumnName() + "]在表[" + codeGenerator.getTableName() + "]中不存在。"; + log.error(errorMsg); + throw new Exception(errorMsg); + } + QueryFieldVO queryField = + QueryFieldVO.builder().fieldName(columnDTO.getFieldName()).fieldType(columnDTO.getFieldType()).columnName(columnDTO.getColumnName()).columnDesc(columnDTO.getColumnDesc()).sqlOperate(queryColumn.getSqlOperate().getName()).build(); + queryFieldList.add(queryField); + } + return queryFieldList; + } + + /** + * 列数据 组合 + * + * @param tableName + * @return + * @throws Exception + */ + private List columnList(String tableName) throws Exception { + List list = tableDao.selectTableColumn(tableName); + for (ColumnVO column : list) { + String javaType = codeGeneratorComponent.getJavaType(column.getColumnType()); + if (StringUtils.isEmpty(javaType)) { + String errorMsg = "sql数据类型[" + column.getColumnType() + "]缺少对应的java类型。"; + log.error(errorMsg); + throw new Exception(errorMsg); + } + if ("Integer".equals(javaType) && column.getColumnName().contains("id")) { + column.setFieldType("Long"); + } else { + column.setFieldType(javaType); + } + column.setFieldName(this.columnName2Field(column.getColumnName())); + if (SmartStringUtil.isBlank(column.getColumnDesc())) { + column.setColumnDesc(column.getColumnName()); + } + + column.setIsNumber(codeGeneratorComponent.isNumber(column.getColumnType())); + } + return list; + } + + /** + * 获取列注释为类描述 + * + * @param tableName + * @return + */ + private String getTableDesc(String tableName) { + return tableDao.selectTableDesc(tableName); + } + + /** + * 列名转字段名 + * + * @param columnName + * @return + */ + private String columnName2Field(String columnName) { + String transName = WordUtils.capitalizeFully(columnName, new char[]{'_'}).replace("_", ""); + return WordUtils.uncapitalize(transName); + } + + /** + * 表名转类名前缀 + * + * @param tableName + * @param tablePrefix + * @return + */ + private String tableName2Class(String tableName, String tablePrefix) { + if (StringUtils.isNotBlank(tablePrefix)) { + tableName = tableName.replaceFirst(tablePrefix, ""); + } + return WordUtils.capitalizeFully(tableName, new char[]{'_'}).replace("_", ""); + } + + /** + * 表名转包名 + * + * @param tableName + * @param tablePrefix + * @return + */ + private String tableName2Package(String tableName, String tablePrefix) { + if (StringUtils.isNotBlank(tablePrefix)) { + tableName = tableName.replaceFirst(tablePrefix, ""); + } + return tableName.replace("_", ""); + } + + /** + * 表名转 java变量前缀 + * + * @param tableName + * @param tablePrefix + * @return + */ + private String tableName2Var(String tableName, String tablePrefix) { + if (StringUtils.isNotBlank(tablePrefix)) { + tableName = tableName.replaceFirst(tablePrefix, ""); + } + String transName = WordUtils.capitalizeFully(tableName, new char[]{'_'}).replace("_", ""); + return WordUtils.uncapitalize(transName); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/FileController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/FileController.java new file mode 100644 index 00000000..001e99d2 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/FileController.java @@ -0,0 +1,93 @@ +package net.lab1024.smartadmin.module.support.file; + +import net.lab1024.smartadmin.common.anno.NoNeedLogin; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.support.file.constant.FileServiceTypeEnum; +import net.lab1024.smartadmin.module.support.file.domain.dto.FileAddDTO; +import net.lab1024.smartadmin.module.support.file.domain.dto.FileQueryDTO; +import net.lab1024.smartadmin.module.support.file.domain.vo.FileVO; +import net.lab1024.smartadmin.module.support.file.domain.vo.UploadVO; +import net.lab1024.smartadmin.module.support.file.service.FileService; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.util.SmartRequestTokenUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; + +/** + * @Description: 文件服务 + * @Author: sbq + * @CreateDate: 2019/7/18 9:36 + * @Version: 1.0 + */ +@RestController +@Api(tags = {SwaggerTagConst.Admin.MANAGER_FILE}) +public class FileController { + + @Autowired + private FileService fileService; + + @ApiOperation(value = "文件本地上传", notes = "文件本地上传") + @PostMapping("/api/file/localUpload/{moduleType}") + public ResponseDTO localUpload(MultipartFile file, @PathVariable Integer moduleType) throws Exception { + return fileService.fileUpload(file, FileServiceTypeEnum.LOCAL, moduleType); + } + + @ApiOperation(value = "获取本地文件URL", notes = "获取文件URL") + @PostMapping("/api/file/get") + public ResponseDTO localGetFile(String path) { + return fileService.getFileUrl(path, FileServiceTypeEnum.LOCAL); + } + + @ApiOperation(value = "文件阿里云上传", notes = "文件阿里云上传") + @PostMapping("/api/file/aliYunUpload/{moduleType}") + public ResponseDTO aliYunUpload(MultipartFile file, @PathVariable Integer moduleType) throws Exception { + return fileService.fileUpload(file, FileServiceTypeEnum.ALI_OSS, moduleType); + } + + @ApiOperation(value = "获取阿里云文件URL", notes = "获取阿里云文件URL") + @PostMapping("/api/file/aliYunGet") + public ResponseDTO aliYunGet(String path) { + return fileService.getFileUrl(path, FileServiceTypeEnum.ALI_OSS); + } + + @ApiOperation(value = "文件七牛云上传", notes = "文件七牛云上传") + @PostMapping("/api/file/qiNiuUpload/{moduleType}") + public ResponseDTO qiNiuUpload(MultipartFile file, @PathVariable Integer moduleType) throws Exception { + return fileService.fileUpload(file, FileServiceTypeEnum.QI_NIU_OSS, moduleType); + } + + @ApiOperation(value = "获取七牛云文件URL", notes = "获取七牛云URL") + @PostMapping("/api/file/qiNiuGet") + public ResponseDTO qiNiuGet(String path) { + return fileService.getFileUrl(path, FileServiceTypeEnum.QI_NIU_OSS); + } + + @ApiOperation(value = "系统文件查询") + @PostMapping("/api/file/query") + public ResponseDTO> queryListByPage(@RequestBody FileQueryDTO queryDTO) { + return fileService.queryListByPage(queryDTO); + } + + @ApiOperation(value = "系统文件下载通用接口(流下载)") + @GetMapping("/api/file/downLoad") + @NoNeedLogin + public ResponseEntity downLoadById(Long id, HttpServletRequest request) { + return fileService.downLoadById(id, request); + } + + @ApiOperation(value = "系统文件保存通用接口") + @PostMapping("/api/file/save") + public ResponseDTO saveFile(@Valid @RequestBody FileAddDTO addDTO) { + RequestTokenBO requestToken = SmartRequestTokenUtil.getRequestUser(); + return fileService.saveFile(addDTO,requestToken); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/FileDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/FileDao.java new file mode 100644 index 00000000..3155bf25 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/FileDao.java @@ -0,0 +1,72 @@ +package net.lab1024.smartadmin.module.support.file; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.module.support.file.domain.dto.FileDTO; +import net.lab1024.smartadmin.module.support.file.domain.dto.FileQueryDTO; +import net.lab1024.smartadmin.module.support.file.domain.entity.FileEntity; +import net.lab1024.smartadmin.module.support.file.domain.vo.FileVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author cyj + * @date 2018-01-05 上午 9:49 + */ +@Mapper +@Component +public interface FileDao extends BaseMapper { + + /** + * 批量添加上传文件 + * + * @param fileDTOList + * @return + */ + Integer insertFileBatch(List fileDTOList); + + + /** + * 批量添加上传文件 + * + * @param fileDTOList + * @return + */ + Integer insertFileEntityBatch(List fileDTOList); + + /** + * 批量删除 + * + * @param moduleId + * @return + */ + Integer deleteFilesByModuleId(@Param("moduleId") String moduleId); + + /** + * 批量删除 + * + * @param moduleId + * @param moduleType + * @return + */ + Integer deleteFilesByModuleIdAndModuleType(@Param("moduleId") String moduleId, @Param("moduleType") String moduleType); + + /** + * @param moduleId + * @return + */ + List listFilesByModuleId(@Param("moduleId") String moduleId); + + List listFilesByFileIds(@Param("fileIds") List fileIds); + + List listFilesByModuleIdAndModuleType(@Param("moduleId") String moduleId, @Param("moduleType") String moduleType); + + List listFilesByModuleIdAndModuleTypes(@Param("moduleId") String moduleId, @Param("moduleTypes") List moduleTypes); + + List listFilesByModuleIdsAndModuleType(@Param("moduleIds") List moduleIds, @Param("moduleType") String moduleType); + + List queryListByPage(Page page, @Param("queryDTO") FileQueryDTO queryDTO); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileModuleTypeEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileModuleTypeEnum.java new file mode 100644 index 00000000..8052b767 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileModuleTypeEnum.java @@ -0,0 +1,47 @@ +package net.lab1024.smartadmin.module.support.file.constant; + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +/** + * [] + * + * @author yandanyang + * @version 1.0 + * @since JDK1.8 + */ +public enum FileModuleTypeEnum implements BaseEnum { + + /** + * path 首字符不能包含\ 或者/ + */ + + BACK_USER(1, "backUser/config", "backUser"), + + CODE_REVIEW(2, "codeReview", "CodeReview"); + + private Integer value; + + private String path; + + private String desc; + + FileModuleTypeEnum(Integer value, String path, String desc) { + this.value = value; + this.path = path; + this.desc = desc; + } + + public String getPath() { + return path; + } + + @Override + public Integer getValue() { + return this.value; + } + + @Override + public String getDesc() { + return this.desc; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileResponseCodeConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileResponseCodeConst.java new file mode 100644 index 00000000..fd5abfb9 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileResponseCodeConst.java @@ -0,0 +1,37 @@ +package net.lab1024.smartadmin.module.support.file.constant; + +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +public class FileResponseCodeConst extends ResponseCodeConst { + + /** + * 4001 -4999 + */ + public static final FileResponseCodeConst FILE_EMPTY = new FileResponseCodeConst(4001, "上传文件不存在!"); + + public static final FileResponseCodeConst FILE_SIZE_ERROR = new FileResponseCodeConst(4002, "上传文件超过%s,请重新上传!"); + + public static final FileResponseCodeConst UNKNOWN_FILE_TYPE = new FileResponseCodeConst(4003, "未知的文件类型!"); + + public static final FileResponseCodeConst LOCAL_UPDATE_PREFIX_ERROR = new FileResponseCodeConst(4004, "文件本地上传缺少URL前缀配置[local_upload_url_prefix]"); + + public static final FileResponseCodeConst UPLOAD_ERROR = new FileResponseCodeConst(4005, "上传失败"); + + public static final FileResponseCodeConst URL_ERROR = new FileResponseCodeConst(4006, "获取URL失败"); + + public static final FileResponseCodeConst FILE_MODULE_ERROR = new FileResponseCodeConst(4007, "文件目录类型错误"); + + public FileResponseCodeConst(int code, String msg) { + super(code, msg); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileServiceNameConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileServiceNameConst.java new file mode 100644 index 00000000..012cffbf --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileServiceNameConst.java @@ -0,0 +1,24 @@ +package net.lab1024.smartadmin.module.support.file.constant; +/** + * 文件服务名称常量 + * + * @author listen + * @date 2019/08/27 15:24 + */ +public class FileServiceNameConst { + + /** + * 阿里OSS文件服务 + */ + public static final String ALI_OSS = "ali_oss"; + + /** + * 七牛文件服务 + */ + public static final String QI_NIU_OSS = "qi_niu_oss"; + + /** + * 本地文件服务 + */ + public static final String LOCAL = "local"; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileServiceTypeEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileServiceTypeEnum.java new file mode 100644 index 00000000..793503fc --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/constant/FileServiceTypeEnum.java @@ -0,0 +1,52 @@ +package net.lab1024.smartadmin.module.support.file.constant; + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +/** + * 文件服务枚举类 + * + * @author listen + * @date 2019年8月27日 14:27:16 + */ +public enum FileServiceTypeEnum implements BaseEnum { + + /** + * 本地文件服务 + */ + LOCAL(1, FileServiceNameConst.LOCAL, "本地文件服务"), + + /** + * 阿里OSS文件服务 + */ + ALI_OSS(2, FileServiceNameConst.ALI_OSS, "阿里OSS文件服务"), + + /** + * 七牛文件服务 + */ + QI_NIU_OSS(3, FileServiceNameConst.QI_NIU_OSS, "七牛文件服务"); + + private Integer locationType; + + private String serviceName; + + private String desc; + + FileServiceTypeEnum(Integer locationType, String serviceName, String desc) { + this.locationType = locationType; + this.serviceName = serviceName; + this.desc = desc; + } + + public String getServiceName() { + return serviceName; + } + @Override + public Integer getValue() { + return this.locationType; + } + + @Override + public String getDesc() { + return this.desc; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/FileAddDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/FileAddDTO.java new file mode 100644 index 00000000..b097df0a --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/FileAddDTO.java @@ -0,0 +1,39 @@ +package net.lab1024.smartadmin.module.support.file.domain.dto; + +import net.lab1024.smartadmin.common.anno.ApiModelPropertyEnum; +import net.lab1024.smartadmin.common.validator.en.CheckEnum; +import net.lab1024.smartadmin.module.support.file.constant.FileServiceTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** +* @Description: 文件保存DTO +* @Author: sbq +* @CreateDate: 2019/9/11 15:05 +* @Version: 1.0 +*/ +@Data +public class FileAddDTO { + + @ApiModelProperty("相关业务id(无业务可写死一个id)") + @NotBlank(message = "相关业务id不能为空") + private String moduleId; + + @ApiModelProperty("相关业务类型(无模块写1)") + @NotBlank(message = "相关业务类型不能为空") + private String moduleType; + + @ApiModelPropertyEnum(enumDesc = "文件类型",value = FileServiceTypeEnum.class) + @CheckEnum(enumClazz = FileServiceTypeEnum.class,message = "文件类型错误") + private Integer fileLocationType; + + @ApiModelProperty("文件名称") + @NotBlank(message = "文件名称不能为空") + private String fileName; + + @ApiModelProperty("文件路径") + @NotBlank(message = "文件路径不能为空") + private String filePath; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/FileDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/FileDTO.java new file mode 100644 index 00000000..16491d85 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/FileDTO.java @@ -0,0 +1,58 @@ +package net.lab1024.smartadmin.module.support.file.domain.dto; + +import net.lab1024.smartadmin.common.anno.ApiModelPropertyEnum; +import net.lab1024.smartadmin.module.support.file.constant.FileServiceTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.sql.Date; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Data +public class FileDTO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("相关业务id") + private String moduleId; + + @ApiModelProperty("相关业务类型") + private String moduleType; + + @ApiModelPropertyEnum(FileServiceTypeEnum.class) + private Integer fileLocationType; + + @ApiModelProperty("文件名称") + private String fileName; + + @ApiModelProperty("文件大小") + private String fileSize; + + @ApiModelProperty("文件类型") + private String fileType; + + @ApiModelProperty("文件路径") + private String filePath; + + @ApiModelProperty("上传人") + private Long createUser; + + @ApiModelProperty("updateTime") + private Date updateTime; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("文件展示url(可用于下载,注:七牛云下载url要拼接 ?attname=文件名.jpg)") + private String fileUrl; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/FileQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/FileQueryDTO.java new file mode 100644 index 00000000..85df6375 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/FileQueryDTO.java @@ -0,0 +1,33 @@ +package net.lab1024.smartadmin.module.support.file.domain.dto; + +import net.lab1024.smartadmin.common.anno.ApiModelPropertyEnum; +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import net.lab1024.smartadmin.common.validator.en.CheckEnum; +import net.lab1024.smartadmin.module.support.file.constant.FileModuleTypeEnum; +import net.lab1024.smartadmin.module.support.file.constant.FileServiceTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 文件信息查询dto + * @Author: sbq + * @CreateDate: 2019/7/3 17:38 + * @Version: 1.0 + */ +@Data +public class FileQueryDTO extends PageParamDTO { + + @ApiModelProperty(value = "文件名称") + private String fileName; + + @ApiModelProperty(value = "业务类型") + @ApiModelPropertyEnum(FileModuleTypeEnum.class) + @CheckEnum(enumClazz = FileModuleTypeEnum.class, message = "文件业务类型错误") + private Integer moduleType; + + @ApiModelProperty(value = "文件位置") + @ApiModelPropertyEnum(FileServiceTypeEnum.class) + @CheckEnum(enumClazz = FileServiceTypeEnum.class, message = "文件位置类型错误") + private Integer fileLocationType; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/OSSConfig.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/OSSConfig.java new file mode 100644 index 00000000..112ad4eb --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/dto/OSSConfig.java @@ -0,0 +1,35 @@ +package net.lab1024.smartadmin.module.support.file.domain.dto; + +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/11 0011 下午 16:05 + * @since JDK1.8 + */ +@Data +public class OSSConfig { + + private String endpoint; + + private String accessKeyId; + + private String accessKeySecret; + + private String bucketName; + + @Override + public String toString() { + return "OSSConfig{" + + "endpoint='" + endpoint + '\'' + + ", accessKeyId='" + accessKeyId + '\'' + + ", accessKeySecret='" + accessKeySecret + '\'' + + ", bucketName='" + bucketName + '\'' + + '}'; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/entity/FileEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/entity/FileEntity.java new file mode 100644 index 00000000..38b0db3d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/entity/FileEntity.java @@ -0,0 +1,58 @@ +package net.lab1024.smartadmin.module.support.file.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + + +/** + * + * [ ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Data +@TableName(value = "t_file") +public class FileEntity extends BaseEntity { + + + /** + * 相关业务id + */ + private String moduleId; + /** + * 相关业务类型 + */ + private String moduleType; + /** + * 文件位置类型 + */ + private Integer fileLocationType; + /** + * 文件名称 + */ + private String fileName; + /** + * 文件大小 + */ + private String fileSize; + /** + * 文件类型,程序中枚举控制,文件类型:如身份证正面,三证合一等等 + */ + private String fileType; + /** + * 文件key,用于文件下载 + */ + private String filePath; + /** + * 创建人,即上传人 + */ + private Long createrUser; + +} + diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/vo/FileVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/vo/FileVO.java new file mode 100644 index 00000000..7f101482 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/vo/FileVO.java @@ -0,0 +1,58 @@ +package net.lab1024.smartadmin.module.support.file.domain.vo; + +import net.lab1024.smartadmin.common.anno.ApiModelPropertyEnum; +import net.lab1024.smartadmin.module.support.file.constant.FileServiceTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.sql.Date; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Data +public class FileVO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("相关业务id") + private String moduleId; + + @ApiModelProperty("相关业务类型") + private String moduleType; + + @ApiModelPropertyEnum(FileServiceTypeEnum.class) + private Integer fileLocationType; + + @ApiModelProperty("文件名称") + private String fileName; + + @ApiModelProperty("文件大小") + private String fileSize; + + @ApiModelProperty("文件类型") + private String fileType; + + @ApiModelProperty("文件路径") + private String filePath; + + @ApiModelProperty("上传人") + private Long createUser; + + @ApiModelProperty("updateTime") + private Date updateTime; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("文件展示url(可用于下载,注:七牛云下载url要拼接 ?attname=文件名.jpg)") + private String fileUrl; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/vo/UploadVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/vo/UploadVO.java new file mode 100644 index 00000000..f878e7a7 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/domain/vo/UploadVO.java @@ -0,0 +1,27 @@ +package net.lab1024.smartadmin.module.support.file.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2018/12/11 0011 上午 10:57 + * @since JDK1.8 + */ +@Data +public class UploadVO { + + @ApiModelProperty(value = "文件名称") + private String fileName; + @ApiModelProperty(value = "url") + private String url; + @ApiModelProperty(value = "filePath") + private String filePath; + @ApiModelProperty(value = "文件大小") + private Long fileSize; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileService.java new file mode 100644 index 00000000..9f645620 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileService.java @@ -0,0 +1,198 @@ +package net.lab1024.smartadmin.module.support.file.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.support.file.FileDao; +import net.lab1024.smartadmin.module.support.file.constant.FileModuleTypeEnum; +import net.lab1024.smartadmin.module.support.file.constant.FileResponseCodeConst; +import net.lab1024.smartadmin.module.support.file.constant.FileServiceTypeEnum; +import net.lab1024.smartadmin.module.support.file.domain.dto.FileAddDTO; +import net.lab1024.smartadmin.module.support.file.domain.dto.FileDTO; +import net.lab1024.smartadmin.module.support.file.domain.dto.FileQueryDTO; +import net.lab1024.smartadmin.module.support.file.domain.entity.FileEntity; +import net.lab1024.smartadmin.module.support.file.domain.vo.FileVO; +import net.lab1024.smartadmin.module.support.file.domain.vo.UploadVO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.util.SmartBaseEnumUtil; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartPageUtil; +import com.google.common.collect.Lists; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Service +public class FileService { + + @Autowired + private FileDao fileDao; + + @Autowired + private java.util.Map fileServiceMap; + + /** + * 获取文件服务实现 + * + * @param typeEnum + * @return + */ + private IFileService getFileService(FileServiceTypeEnum typeEnum) { + /** + * 获取文件服务 + */ + String serviceName = typeEnum.getServiceName(); + IFileService fileService = fileServiceMap.get(serviceName); + if (null == fileService) { + throw new RuntimeException("未找到文件服务实现类:" + serviceName); + } + return fileService; + } + + /** + * 文件上传服务 + * + * @param file + * @param typeEnum 文件服务类型枚举类 + * @param moduleType 文件夹类型 + * @return + */ + public ResponseDTO fileUpload(MultipartFile file, FileServiceTypeEnum typeEnum, Integer moduleType) { + FileModuleTypeEnum moduleTypeEnum = SmartBaseEnumUtil.getEnumByValue(moduleType, FileModuleTypeEnum.class); + if (null == moduleTypeEnum) { + return ResponseDTO.wrap(FileResponseCodeConst.FILE_MODULE_ERROR); + } + // 获取文件服务 + IFileService fileService = this.getFileService(typeEnum); + ResponseDTO response = fileService.fileUpload(file, moduleTypeEnum.getPath()); + return response; + } + + /** + * 根据文件绝对路径 获取文件URL + * + * @param path + * @return + */ + public ResponseDTO getFileUrl(String path, FileServiceTypeEnum typeEnum) { + IFileService fileService = this.getFileService(typeEnum); + return fileService.getFileUrl(path); + } + + /** + * 批量插入 + * + * @param fileDTOList + */ + public void insertFileBatch(List fileDTOList) { + fileDao.insertFileBatch(fileDTOList); + } + + /** + * 根据module 删除文件信息 + * + * @param moduleId + * @return + */ + public void deleteFilesByModuleId(String moduleId) { + fileDao.deleteFilesByModuleId(moduleId); + } + + /** + * 根据module 获取文件信息 + * + * @param moduleId + * @return + */ + public List listFilesByModuleId(String moduleId) { + return fileDao.listFilesByModuleId(moduleId); + } + + /** + * @param filesStr 逗号分隔文件id字符串 + * @return + */ + public List getFileDTOList(String filesStr) { + if (StringUtils.isEmpty(filesStr)) { + return Lists.newArrayList(); + } + String[] fileIds = filesStr.split(","); + List fileIdList = Arrays.asList(fileIds).stream().map(e -> Long.valueOf(e)).collect(Collectors.toList()); + List files = fileDao.listFilesByFileIds(fileIdList); + return files; + } + + /** + * 分页查询文件列表 + * + * @param queryDTO + * @return + */ + public ResponseDTO> queryListByPage(FileQueryDTO queryDTO) { + Page page = SmartPageUtil.convert2QueryPage(queryDTO); + List fileList = fileDao.queryListByPage(page, queryDTO); + if (CollectionUtils.isNotEmpty(fileList)) { + fileList.forEach(e -> { + // 根据文件服务类 获取对应文件服务 查询 url + FileServiceTypeEnum serviceTypeEnum = SmartBaseEnumUtil.getEnumByValue(e.getFileLocationType(), FileServiceTypeEnum.class); + IFileService fileService = this.getFileService(serviceTypeEnum); + e.setFileUrl(fileService.getFileUrl(e.getFilePath()).getData()); + }); + } + PageResultDTO pageResultDTO = SmartPageUtil.convert2PageResult(page, fileList); + return ResponseDTO.succData(pageResultDTO); + } + + /** + * 根据id 下载文件 + * + * @param id + * @param request + * @return + */ + public ResponseEntity downLoadById(Long id, HttpServletRequest request) { + FileEntity entity = fileDao.selectById(id); + if (null == entity) { + throw new RuntimeException("文件信息不存在"); + } + + // 根据文件服务类 获取对应文件服务 查询 url + FileServiceTypeEnum serviceTypeEnum = SmartBaseEnumUtil.getEnumByValue(entity.getFileLocationType(), FileServiceTypeEnum.class); + IFileService fileService = this.getFileService(serviceTypeEnum); + ResponseEntity stream = fileService.fileDownload(entity.getFilePath(), entity.getFileName(), request); + return stream; + } + + /** + * 系统文件保存通用接口 + * @param addDTO + * @return + */ + public ResponseDTO saveFile(FileAddDTO addDTO, RequestTokenBO requestToken) { + FileEntity entity = SmartBeanUtil.copy(addDTO,FileEntity.class); + entity.setCreaterUser(requestToken.getRequestUserId()); + entity.setCreateTime(new Date()); + fileDao.insert(entity); + return ResponseDTO.succ(); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileServiceAliYun.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileServiceAliYun.java new file mode 100644 index 00000000..15ae3feb --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileServiceAliYun.java @@ -0,0 +1,182 @@ +package net.lab1024.smartadmin.module.support.file.service; + +import com.aliyun.oss.OSSClient; +import com.aliyun.oss.model.OSSObject; +import com.aliyun.oss.model.ObjectMetadata; +import com.aliyun.oss.model.PutObjectRequest; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.support.file.constant.FileResponseCodeConst; +import net.lab1024.smartadmin.module.support.file.constant.FileServiceNameConst; +import net.lab1024.smartadmin.module.support.file.domain.dto.OSSConfig; +import net.lab1024.smartadmin.module.support.file.domain.vo.UploadVO; +import net.lab1024.smartadmin.module.system.systemconfig.SystemConfigService; +import net.lab1024.smartadmin.module.system.systemconfig.constant.SystemConfigEnum; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/10 0010 上午 8:29 + * @since JDK1.8 + */ +@Slf4j +@Service(FileServiceNameConst.ALI_OSS) +public class FileServiceAliYun implements IFileService { + + @Autowired + private SystemConfigService systemConfigService; + + OSSClient ossClient = null; + + String accessConfig = null; + + @Override + public ResponseDTO fileUpload(MultipartFile multipartFile, String path) { + OSSConfig ossConfig = systemConfigService.selectByKey2Obj(SystemConfigEnum.Key.ALI_OSS.name(), OSSConfig.class); + try { + InputStream inputStream = new ByteArrayInputStream(multipartFile.getBytes()); + if (! ossConfig.toString().equals(accessConfig)) { + //accessKeyId 发生变动自动创建新的 + if (ossClient != null) { + ossClient.shutdown(); + } + ossClient = new OSSClient(ossConfig.getEndpoint(), ossConfig.getAccessKeyId(), ossConfig.getAccessKeySecret()); + accessConfig = ossConfig.toString(); + } + String uuid = UUID.randomUUID().toString().replace("-", ""); + String ossPath = path + "/" + uuid; + String fileName = multipartFile.getOriginalFilename(); + String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1); + ObjectMetadata meta = new ObjectMetadata(); + meta.setContentDisposition("attachment;filename=" + fileName); + Map userMetadata = new HashMap(); + userMetadata.put("fileName", fileName); + userMetadata.put("fileExt", fileExt); + userMetadata.put("fileSize", String.valueOf(multipartFile.getSize())); + meta.setUserMetadata(userMetadata); + meta.setContentType(this.getContentType(fileExt)); + PutObjectRequest putObjectRequest = new PutObjectRequest(ossConfig.getBucketName(), ossPath, inputStream, meta); + ossClient.putObject(putObjectRequest); + UploadVO localUploadVO = new UploadVO(); + localUploadVO.setUrl(this.getUrl(ossPath, ossConfig.getBucketName(), ossClient)); + localUploadVO.setFileName(fileName); + localUploadVO.setFilePath(ossPath); + localUploadVO.setFileSize(multipartFile.getSize()); + return ResponseDTO.succData(localUploadVO); + } catch (Exception e) { + log.error("ALI UPLOAD ERROR : {}", e); + } + return ResponseDTO.wrap(FileResponseCodeConst.UPLOAD_ERROR); + } + + @Override + public ResponseDTO getFileUrl(String path) { + OSSConfig ossConfig = systemConfigService.selectByKey2Obj(SystemConfigEnum.Key.ALI_OSS.name(), OSSConfig.class); + try { + if (! ossConfig.toString().equals(accessConfig)) { + //accessKeyId 发生变动自动创建新的 + if (ossClient != null) { + ossClient.shutdown(); + } + ossClient = new OSSClient(ossConfig.getEndpoint(), ossConfig.getAccessKeyId(), ossConfig.getAccessKeySecret()); + accessConfig = ossConfig.toString(); + } + String url = this.getUrl(path, ossConfig.getBucketName(), ossClient); + return ResponseDTO.succData(url); + } catch (Exception e) { + log.error("ALI getFileUrl ERROR : {}", e); + } + return ResponseDTO.wrap(FileResponseCodeConst.URL_ERROR); + } + + private String getUrl(String path, String bucketName, OSSClient ossClient) { + Date expiration = new Date(System.currentTimeMillis() + (60 * 60 * 1000)); + URL url = ossClient.generatePresignedUrl(bucketName, path, expiration); + return url.toString(); + } + + /** + * 流式下载(名称为原文件) + */ + @Override + public ResponseEntity fileDownload(String key, String fileName, HttpServletRequest request) { + File file = this.getFile(key, fileName); + if (file == null) { + throw new RuntimeException("文件不存在"); + } + return this.downloadMethod(file, request); + } + + /** + * 根据osskey获取文件 + * + * @param key + * @return + */ + public File getFile(String key, String fileName) { + OSSConfig ossConfig = systemConfigService.selectByKey2Obj(SystemConfigEnum.Key.ALI_OSS.name(), OSSConfig.class); + if (! ossConfig.toString().equals(accessConfig)) { + //accessKeyId 发生变动自动创建新的 + if (ossClient != null) { + ossClient.shutdown(); + } + ossClient = new OSSClient(ossConfig.getEndpoint(), ossConfig.getAccessKeyId(), ossConfig.getAccessKeySecret()); + accessConfig = ossConfig.toString(); + } + //获取oss对象 + OSSObject ossObject = ossClient.getObject(ossConfig.getBucketName(), key); + if (StringUtils.isBlank(fileName)) { + // 获取元信息 + ObjectMetadata objectMetadata = ossObject.getObjectMetadata(); + // 获取下载时文件名 + Map userMetadata = objectMetadata.getUserMetadata(); + fileName = userMetadata == null ? "" : userMetadata.get("filename"); + if (StringUtils.isBlank(fileName)) { + fileName = objectMetadata.getContentDisposition(); + } + } + // 创建文件 + File file = new File(fileName); + // 获得输入流 + InputStream objectContent = ossObject.getObjectContent(); + try { + // 输入流转换为字节流 + byte[] buffer = FileCopyUtils.copyToByteArray(objectContent); + // 字节流写入文件 + FileCopyUtils.copy(buffer, file); + // 关闭输入流 + objectContent.close(); + } catch (IOException e) { + log.error("文件获取失败:" + e); + return null; + } finally { + try { + ossObject.close(); + } catch (IOException e) { + log.error("", e); + } + } + return file; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileServiceLocal.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileServiceLocal.java new file mode 100644 index 00000000..08aac36d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileServiceLocal.java @@ -0,0 +1,123 @@ +package net.lab1024.smartadmin.module.support.file.service; + +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.support.file.constant.FileResponseCodeConst; +import net.lab1024.smartadmin.module.support.file.constant.FileServiceNameConst; +import net.lab1024.smartadmin.module.support.file.domain.vo.UploadVO; +import net.lab1024.smartadmin.module.system.systemconfig.SystemConfigDao; +import net.lab1024.smartadmin.module.system.systemconfig.constant.SystemConfigEnum; +import net.lab1024.smartadmin.module.system.systemconfig.domain.entity.SystemConfigEntity; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.io.IOException; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/11 0011 下午 16:15 + * @since JDK1.8 + */ +@Slf4j +@Service(FileServiceNameConst.LOCAL) +public class FileServiceLocal implements IFileService { + + @Autowired + private SystemConfigDao systemConfigDao; + + @Value("${spring.servlet.multipart.max-file-size}") + private String maxFileSize; + + @Value("${file-upload-service.path}") + private String fileParentPath; + + private static final Long DEFAULT_SIZE = 10 * 1024 * 1024L; + + @Override + public ResponseDTO fileUpload(MultipartFile multipartFile, String path) { + if (null == multipartFile) { + return ResponseDTO.wrap(FileResponseCodeConst.FILE_EMPTY); + } + Long maxSize = DEFAULT_SIZE; + if (StringUtils.isNotEmpty(maxFileSize)) { + String maxSizeStr = maxFileSize.toLowerCase().replace("mb", ""); + maxSize = Integer.valueOf(maxSizeStr) * 1024 * 1024L; + } + if (multipartFile.getSize() > maxSize) { + return ResponseDTO.wrap(FileResponseCodeConst.FILE_SIZE_ERROR, String.format(FileResponseCodeConst.FILE_SIZE_ERROR.getMsg(), maxFileSize)); + } + String filePath = fileParentPath; + String urlParent = this.localUrlPrefix(); + if (urlParent == null) { + return ResponseDTO.wrap(FileResponseCodeConst.LOCAL_UPDATE_PREFIX_ERROR); + } + if (StringUtils.isNotEmpty(path)) { + filePath = filePath + path + "/"; + urlParent = urlParent + path + "/"; + } + File directory = new File(filePath); + if (!directory.exists()) { + // 目录不存在,新建 + directory.mkdirs(); + } + UploadVO localUploadVO = new UploadVO(); + String newFileName; + File fileTemp; + String originalFileName; + originalFileName = multipartFile.getOriginalFilename(); + newFileName = this.generateFileName(originalFileName); + fileTemp = new File(new File(filePath + newFileName).getAbsolutePath()); + try { + multipartFile.transferTo(fileTemp); + localUploadVO.setUrl(urlParent + newFileName); + localUploadVO.setFileName(newFileName); + localUploadVO.setFilePath(path + "/" + newFileName); + localUploadVO.setFileSize(multipartFile.getSize()); + } catch (IOException e) { + if (fileTemp.exists() && fileTemp.isFile()) { + fileTemp.delete(); + } + log.error("", e); + return ResponseDTO.wrap(FileResponseCodeConst.UPLOAD_ERROR); + } + return ResponseDTO.succData(localUploadVO); + } + + @Override + public ResponseDTO getFileUrl(String path) { + String urlParent = this.localUrlPrefix(); + if (urlParent == null) { + return ResponseDTO.wrap(FileResponseCodeConst.LOCAL_UPDATE_PREFIX_ERROR); + } + String url = urlParent + path; + return ResponseDTO.succData(url); + } + + private String localUrlPrefix() { + SystemConfigEntity configEntity = systemConfigDao.getByKey(SystemConfigEnum.Key.LOCAL_UPLOAD_URL_PREFIX.name()); + if (configEntity == null) { + return null; + } + return configEntity.getConfigValue(); + } + + @Override + public ResponseEntity fileDownload(String key, String fileName, HttpServletRequest request) { + + String url = fileParentPath + key; + // 创建文件 + File file = new File(url); + return this.downloadMethod(file, request); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileServiceQiNiuYun.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileServiceQiNiuYun.java new file mode 100644 index 00000000..394b7af8 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileServiceQiNiuYun.java @@ -0,0 +1,175 @@ +package net.lab1024.smartadmin.module.support.file.service; + +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.support.file.constant.FileResponseCodeConst; +import net.lab1024.smartadmin.module.support.file.constant.FileServiceNameConst; +import net.lab1024.smartadmin.module.support.file.domain.dto.OSSConfig; +import net.lab1024.smartadmin.module.support.file.domain.vo.UploadVO; +import net.lab1024.smartadmin.module.system.systemconfig.SystemConfigService; +import net.lab1024.smartadmin.module.system.systemconfig.constant.SystemConfigEnum; +import com.qiniu.http.Response; +import com.qiniu.storage.Configuration; +import com.qiniu.storage.UploadManager; +import com.qiniu.util.Auth; +import lombok.extern.slf4j.Slf4j; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.ResponseBody; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URLEncoder; +import java.util.UUID; + +/** + * [ 七牛云 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/10 0010 上午 8:30 + * @since JDK1.8 + */ +@Slf4j +@Service(FileServiceNameConst.QI_NIU_OSS) +public class FileServiceQiNiuYun implements IFileService { + + //1小时,可以自定义链接过期时间 + private static final Long expireInSeconds = 3600L; + + @Autowired + private SystemConfigService systemConfigService; + + UploadManager ossClient = null; + + String accessConfig = null; + + String token = null; + + @Override + public ResponseDTO fileUpload(MultipartFile multipartFile, String path) { + OSSConfig ossConfig = systemConfigService.selectByKey2Obj(SystemConfigEnum.Key.QI_NIU_OSS.name(), OSSConfig.class); + try { + InputStream inputStream = new ByteArrayInputStream(multipartFile.getBytes()); + if (! ossConfig.toString().equals(accessConfig)) { + //accessKeyId 发生变动自动重新创建新的UploadManager + ossClient = new UploadManager(new Configuration()); + token = Auth.create(ossConfig.getAccessKeyId(), ossConfig.getAccessKeySecret()). + uploadToken(ossConfig.getBucketName()); + accessConfig = ossConfig.toString(); + } + String uuid = UUID.randomUUID().toString().replace("-", ""); + String ossPath = path + "/" + uuid; + String fileName = multipartFile.getOriginalFilename(); + String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1); + String mime = this.getContentType(fileExt); + Response res = ossClient.put(inputStream, ossPath, token, null, mime); + if (! res.isOK()) { + log.error("QINIU fileUpload ERROR : {}", res.toString()); + return ResponseDTO.wrap(FileResponseCodeConst.UPLOAD_ERROR); + } + UploadVO localUploadVO = new UploadVO(); + localUploadVO.setUrl(this.getFileUrl(ossPath).getData()); + localUploadVO.setFileName(fileName); + localUploadVO.setFilePath(ossPath); + localUploadVO.setFileSize(multipartFile.getSize()); + return ResponseDTO.succData(localUploadVO); + } catch (Exception e) { + log.error("QINIU fileUpload ERROR : {}", e); + } + return ResponseDTO.wrap(FileResponseCodeConst.UPLOAD_ERROR); + } + + @Override + public ResponseDTO getFileUrl(String path) { + OSSConfig ossConfig = systemConfigService.selectByKey2Obj(SystemConfigEnum.Key.QI_NIU_OSS.name(), OSSConfig.class); + try { + if (! ossConfig.toString().equals(accessConfig)) { + //accessKeyId 发生变动自动重新创建新的UploadManager + ossClient = new UploadManager(new Configuration()); + token = Auth.create(ossConfig.getAccessKeyId(), ossConfig.getAccessKeySecret()). + uploadToken(ossConfig.getBucketName()); + accessConfig = ossConfig.toString(); + } + String encodedFileName = URLEncoder.encode(path, "utf-8"); + String domainOfBucket = ossConfig.getEndpoint(); + String publicUrl = String.format("%s/%s", domainOfBucket, encodedFileName); + String accessKey = ossConfig.getAccessKeyId(); + String secretKey = ossConfig.getAccessKeySecret(); + Auth auth = Auth.create(accessKey, secretKey); + //1小时,可以自定义链接过期时间 + long expireInSeconds = 3600; + String finalUrl = auth.privateDownloadUrl(publicUrl, expireInSeconds); + return ResponseDTO.succData(finalUrl); + } catch (Exception e) { + log.error("QINIU getFileUrl ERROR : {}", e); + } + return ResponseDTO.wrap(FileResponseCodeConst.URL_ERROR); + } + + @Override + public ResponseEntity fileDownload(String key, String fileName, HttpServletRequest request) { + File file = this.getFile(key, fileName); + if (file == null) { + throw new RuntimeException("文件不存在"); + } + return this.downloadMethod(file, request); + } + + /** + * 获取下载路径 + */ + public String getDownloadUrl(String key) { + OSSConfig ossConfig = systemConfigService.selectByKey2Obj(SystemConfigEnum.Key.QI_NIU_OSS.name(), OSSConfig.class); + String domainOfBucket = ossConfig.getEndpoint(); + String finalUrl = ""; + try { + String encodedFileName = URLEncoder.encode(key, "utf-8").replace("+", "%20"); + String publicUrl = String.format("%s/%s", domainOfBucket, encodedFileName); + Auth auth = Auth.create(ossConfig.getAccessKeyId(), ossConfig.getAccessKeySecret()); + finalUrl = auth.privateDownloadUrl(publicUrl, expireInSeconds); + } catch (Exception e) { + log.error("QINIU download ERROR : {}", e); + } + return finalUrl; + } + + /** + * 获取文件 + */ + public File getFile(String key, String fileName) { + String finalUrl = getDownloadUrl(key); + OkHttpClient client = new OkHttpClient(); + Request req = new Request.Builder().url(finalUrl).build(); + okhttp3.Response resp = null; + File file = new File(fileName); + try { + resp = client.newCall(req).execute(); + if (resp.isSuccessful()) { + ResponseBody body = resp.body(); + InputStream objectContent = body.byteStream(); + // 输入流转换为字节流 + byte[] buffer = FileCopyUtils.copyToByteArray(objectContent); + // 字节流写入文件 + FileCopyUtils.copy(buffer, file); + // 关闭输入流 + objectContent.close(); + } + + } catch (IOException e) { + log.error("文件获取失败:" + e); + return null; + } finally { + } + return file; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/IFileService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/IFileService.java new file mode 100644 index 00000000..a818ae42 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/IFileService.java @@ -0,0 +1,152 @@ +package net.lab1024.smartadmin.module.support.file.service; + +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.support.file.domain.vo.UploadVO; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.UUID; + +/** + * 文件服务接口 + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/11 0011 下午 16:42 + * @since JDK1.8 + */ +public interface IFileService { + + /** + * 文件上传 + * + * @param multipartFile + * @param path + * @return + */ + ResponseDTO fileUpload(MultipartFile multipartFile, String path); + + /** + * 获取文件url + * + * @param path + * @return + */ + ResponseDTO getFileUrl(String path); + + /** + * 文件下载 + * + * @param key + * @param fileName + * @param request + * @return + */ + ResponseEntity fileDownload(String key, String fileName, HttpServletRequest request); + + /** + * 生成文件名字 + * 当前年月日时分秒 +32位 uuid + 文件格式后缀 + * + * @param originalFileName + * @return String + */ + default String generateFileName(String originalFileName) { + String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddhhmms")); + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String fileType = originalFileName.substring(originalFileName.lastIndexOf(".")); + return time + uuid + fileType; + } + + /** + * 获取文件类型 + * + * @param fileExt + * @return + */ + default String getContentType(String fileExt) { + // 文件的后缀名 + if ("bmp".equalsIgnoreCase(fileExt)) { + return "image/bmp"; + } + if ("gif".equalsIgnoreCase(fileExt)) { + return "image/gif"; + } + if ("jpeg".equalsIgnoreCase(fileExt) || "jpg".equalsIgnoreCase(fileExt) || ".png".equalsIgnoreCase(fileExt)) { + return "image/jpeg"; + } + if ("png".equalsIgnoreCase(fileExt)) { + return "image/png"; + } + if ("html".equalsIgnoreCase(fileExt)) { + return "text/html"; + } + if ("txt".equalsIgnoreCase(fileExt)) { + return "text/plain"; + } + if ("vsd".equalsIgnoreCase(fileExt)) { + return "application/vnd.visio"; + } + if ("ppt".equalsIgnoreCase(fileExt) || "pptx".equalsIgnoreCase(fileExt)) { + return "application/vnd.ms-powerpoint"; + } + if ("doc".equalsIgnoreCase(fileExt) || "docx".equalsIgnoreCase(fileExt)) { + return "application/msword"; + } + if ("xml".equalsIgnoreCase(fileExt)) { + return "text/xml"; + } + return ""; + } + + default ResponseEntity downloadMethod(File file, HttpServletRequest request) { + HttpHeaders heads = new HttpHeaders(); + heads.add(HttpHeaders.CONTENT_TYPE, "application/octet-stream; charset=utf-8"); + String fileName = file.getName(); + try { + if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) { + // firefox浏览器 + fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); + } else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) { + // IE浏览器 + fileName = URLEncoder.encode(fileName, "UTF-8"); + } else if (request.getHeader("User-Agent").toUpperCase().indexOf("EDGE") > 0) { + // WIN10浏览器 + fileName = URLEncoder.encode(fileName, "UTF-8"); + } else if (request.getHeader("User-Agent").toUpperCase().indexOf("CHROME") > 0) { + // 谷歌 + fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); + } else { + //万能乱码问题解决 + fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1"); + } + } catch (UnsupportedEncodingException e) { + // log.error("", e); + } + heads.add(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + fileName); + try { + InputStream in = new FileInputStream(file); + // 输入流转换为字节流 + byte[] buffer = FileCopyUtils.copyToByteArray(in); + ResponseEntity responseEntity = new ResponseEntity<>(buffer, heads, HttpStatus.OK); + //file.delete(); + return responseEntity; + } catch (Exception e) { + // log.error("", e); + } + return null; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatController.java new file mode 100644 index 00000000..a9671255 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatController.java @@ -0,0 +1,32 @@ +package net.lab1024.smartadmin.module.support.heartbeat; + +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; + + +@Api(tags = {SwaggerTagConst.Admin.MANAGER_HEART_BEAT}) +@OperateLog +@RestController +public class HeartBeatController { + + @Autowired + private HeartBeatService heartBeatService; + + @PostMapping("/heartBeat/query") + @ApiOperation("查询心跳记录 @author zhuoda") + public ResponseDTO> query(@RequestBody @Valid PageParamDTO pageParamDTO){ + return heartBeatService.pageQuery(pageParamDTO); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatRecordDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatRecordDao.java new file mode 100644 index 00000000..e10c8e8c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatRecordDao.java @@ -0,0 +1,52 @@ +package net.lab1024.smartadmin.module.support.heartbeat; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +/** + * 心跳日志数据库操作 + * + * @author : simajinqiang + * Date: 2018/7/9 + * Time: 17:37 + */ +@Component +@Mapper +public interface HeartBeatRecordDao extends BaseMapper { + + /** + * 新增心跳日志 + * + * @param heartBeatRecordEntity + */ + void insertHeartBeat(HeartBeatRecordEntity heartBeatRecordEntity); + + /** + * 更新心跳日志 + * + * @param id + * @param heartBeatTime + */ + void updateHeartBeatTimeById(@Param("id") Long id, @Param("heartBeatTime") Date heartBeatTime); + + /** + * 查询心跳日志 + * + * @param heartBeatRecordEntity + * @return + */ + HeartBeatRecordEntity query(HeartBeatRecordEntity heartBeatRecordEntity); + + + /** + * 分页查询心跳记录 + * @return + */ + List pageQuery(Page page); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatRecordEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatRecordEntity.java new file mode 100644 index 00000000..694eb936 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatRecordEntity.java @@ -0,0 +1,42 @@ +package net.lab1024.smartadmin.module.support.heartbeat; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 心跳记录日志 + * User: simajinqiang + * Date: 2018/7/9 + * Time: 11:11 + */ +@Data +@TableName(value = "t_heart_beat_record") +public class HeartBeatRecordEntity extends BaseEntity implements Serializable { + + /** + * 项目名字 + */ + private String projectPath; + /** + * 服务器ip + */ + private String serverIp; + /** + * 进程号 + */ + private Integer processNo; + /** + * 进程开启时间 + */ + private Date processStartTime; + /** + * 心跳当前时间 + */ + private Date heartBeatTime; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatRecordVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatRecordVO.java new file mode 100644 index 00000000..34e98932 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatRecordVO.java @@ -0,0 +1,36 @@ +package net.lab1024.smartadmin.module.support.heartbeat; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 心跳记录日志 + * User: simajinqiang + * Date: 2018/7/9 + * Time: 11:11 + */ +@Data +public class HeartBeatRecordVO implements Serializable { + + private Integer id; + + @ApiModelProperty("项目名字") + private String projectPath; + + @ApiModelProperty("服务器ip") + private String serverIp; + + @ApiModelProperty("进程号") + private Integer processNo; + + @ApiModelProperty("进程开启时间") + private Date processStartTime; + + @ApiModelProperty("心跳当前时间") + private Date heartBeatTime; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatService.java new file mode 100644 index 00000000..b474c174 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/heartbeat/HeartBeatService.java @@ -0,0 +1,90 @@ +package net.lab1024.smartadmin.module.support.heartbeat; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.common.heartbeat.AbstractHeartBeatCommand; +import net.lab1024.smartadmin.common.heartbeat.HeartBeatConfig; +import net.lab1024.smartadmin.common.heartbeat.HeartBeatLogger; +import net.lab1024.smartadmin.common.heartbeat.HeartBeatRecordDTO; +import net.lab1024.smartadmin.config.SmartHeartBeatConfig; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartPageUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Slf4j +@Service +public class HeartBeatService extends AbstractHeartBeatCommand { + + @Autowired + private HeartBeatRecordDao heartBeatRecordDao; + + @Autowired + private SmartHeartBeatConfig heartBeatConfig; + + @PostConstruct + public void init() { + + HeartBeatConfig config = HeartBeatConfig.builder().delayHandlerTime(heartBeatConfig.getDelayHandlerTime()).intervalTime(heartBeatConfig.getIntervalTime()).build(); + + super.init(config, new HeartBeatLogger() { + @Override + public void error(String string) { + log.error(string); + } + + @Override + public void error(String string, Throwable e) { + log.error(string, e); + } + + @Override + public void info(String string) { + log.info(string); + } + }); + } + + @PreDestroy + @Override + public void destroy() { + super.destroy(); + } + + @Override + public void handler(HeartBeatRecordDTO heartBeatRecordDTO) { + HeartBeatRecordEntity heartBeatRecordEntity = SmartBeanUtil.copy(heartBeatRecordDTO, HeartBeatRecordEntity.class); + HeartBeatRecordEntity heartBeatRecordOld = heartBeatRecordDao.query(heartBeatRecordEntity); + if (heartBeatRecordOld == null) { + heartBeatRecordDao.insertHeartBeat(heartBeatRecordEntity); + } else { + heartBeatRecordDao.updateHeartBeatTimeById(heartBeatRecordOld.getId(), heartBeatRecordEntity.getHeartBeatTime()); + } + + } + + public ResponseDTO> pageQuery(PageParamDTO pageParamDTO) { + Page pageQueryInfo = SmartPageUtil.convert2QueryPage(pageParamDTO); + List recordVOList = heartBeatRecordDao.pageQuery(pageQueryInfo); + PageResultDTO pageResultDTO = SmartPageUtil.convert2PageResult(pageQueryInfo, recordVOList); + return ResponseDTO.succData(pageResultDTO); + + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/IdGeneratorDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/IdGeneratorDao.java new file mode 100644 index 00000000..e6e1341e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/IdGeneratorDao.java @@ -0,0 +1,36 @@ +package net.lab1024.smartadmin.module.support.idgenerator; + + +import net.lab1024.smartadmin.module.support.idgenerator.domain.IdGeneratorEntity; +import net.lab1024.smartadmin.module.support.idgenerator.domain.IdGeneratorLastNumberDTO; +import net.lab1024.smartadmin.module.support.idgenerator.domain.IdGeneratorRecordDTO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * + * zhuo + */ +@Mapper +public interface IdGeneratorDao { + + IdGeneratorLastNumberDTO selectLastNumber(Long id); + + List selectAll(); + + void updateLastNumber(@Param("generatorId") Long generatorId, @Param("lastNumber") Long lastNumber); + + int replaceIdGeneratorRecord(@Param("generatorId") Long generatorId,// + @Param("year") int year,// + @Param("month") int month,// + @Param("day") int day,// + @Param("lastNumber") Long lastNumber); + + IdGeneratorRecordDTO selectHistoryLastNumber(@Param("generatorId") Long generatorId, + @Param("year") int year, + @Param("month") int month, + @Param("day") int day); + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/IdGeneratorManager.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/IdGeneratorManager.java new file mode 100644 index 00000000..1b2a926d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/IdGeneratorManager.java @@ -0,0 +1,66 @@ +package net.lab1024.smartadmin.module.support.idgenerator; + +import net.lab1024.smartadmin.common.exception.SmartBusinessException; +import net.lab1024.smartadmin.module.support.idgenerator.domain.IdGeneratorLastNumberDTO; +import net.lab1024.smartadmin.module.support.idgenerator.domain.IdGeneratorPOJO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.util.Date; + +/** + * 全局id生成器 + * zhuo + */ +@Service +public class IdGeneratorManager { + + @Autowired + private IdGeneratorDao idGeneratorDao; + + @Transactional(rollbackFor = Exception.class) + public long[] generate(IdGeneratorPOJO idGeneratorPOJO, int stepLength) { + IdGeneratorLastNumberDTO idGeneratorLastNumberDTO = idGeneratorDao.selectLastNumber(idGeneratorPOJO.getIdGeneratorEntity().getId()); + if (idGeneratorLastNumberDTO == null) { + throw new SmartBusinessException("IdGenerator, id 数据库不存在" + idGeneratorPOJO.getIdGeneratorEntity().getId()); + } + + Long lastNumber = idGeneratorLastNumberDTO.getLastNumber(); + if (lastNumber == null) { + lastNumber = idGeneratorPOJO.getIdGeneratorEntity().getInitNumber(); + } else { + lastNumber = lastNumber + 1; + } + + Date updateTime = idGeneratorLastNumberDTO.getUpdateTime(); + if (updateTime == null) { + updateTime = idGeneratorLastNumberDTO.getDatabaseTime(); + } + + Long startValue = -1L, endValue = -1L; + switch (idGeneratorPOJO.getIdGeneratorRuleTypeEnum()) { + case NO_CYCLE: + startValue = lastNumber.longValue(); + endValue = startValue + stepLength; + break; + default: + SimpleDateFormat format = new SimpleDateFormat(idGeneratorPOJO.getIdGeneratorRuleTypeEnum().getExt()); + if (format.format(idGeneratorLastNumberDTO.getDatabaseTime()).equals(format.format(updateTime))) { + startValue = lastNumber.longValue(); + endValue = startValue + stepLength; + } else { + startValue = idGeneratorPOJO.getIdGeneratorEntity().getInitNumber(); + endValue = startValue + stepLength; + } + break; + } + + idGeneratorDao.updateLastNumber(idGeneratorPOJO.getIdGeneratorEntity().getId(), endValue - 1); + LocalDate localDate = LocalDate.now(); + idGeneratorDao.replaceIdGeneratorRecord(idGeneratorPOJO.getIdGeneratorEntity().getId(), localDate.getYear(), localDate.getMonthValue(), localDate.getDayOfMonth(), endValue - 1); + return new long[]{startValue, endValue}; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/IdGeneratorService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/IdGeneratorService.java new file mode 100644 index 00000000..ca5d581b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/IdGeneratorService.java @@ -0,0 +1,140 @@ +package net.lab1024.smartadmin.module.support.idgenerator; + +import net.lab1024.smartadmin.common.exception.SmartBusinessException; +import net.lab1024.smartadmin.module.support.idgenerator.constant.IdGeneratorEnum; +import net.lab1024.smartadmin.module.support.idgenerator.constant.IdGeneratorRuleTypeEnum; +import net.lab1024.smartadmin.module.support.idgenerator.domain.IdGeneratorEntity; +import net.lab1024.smartadmin.module.support.idgenerator.domain.IdGeneratorPOJO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 全局id生成器 + * zhuo + */ +@Slf4j +@Service +public class IdGeneratorService { + + private Map idGeneratorMap; + + @Autowired + private IdGeneratorDao idGeneratorDao; + + @Autowired + private IdGeneratorManager idGeneratorManager; + + @PostConstruct + void init() { + this.idGeneratorMap = new ConcurrentHashMap<>(); + List idGeneratorEntities = idGeneratorDao.selectAll(); + if (idGeneratorEntities != null) { + idGeneratorEntities.forEach(e -> { + IdGeneratorRuleTypeEnum idGeneratorRuleTypeEnum = this.getIdGeneratorRuleTypeEnum(e.getRuleType()); + if (idGeneratorRuleTypeEnum != null) { + IdGeneratorPOJO idGeneratorPOJO = new IdGeneratorPOJO(idGeneratorRuleTypeEnum, e); + String ruleFormat = e.getRuleFormat(); + int startNInx = ruleFormat.indexOf("[n"); + int endNInx = ruleFormat.indexOf("n]"); + idGeneratorPOJO.setNumberCount(endNInx - startNInx); + idGeneratorPOJO.setHaveDay(ruleFormat.contains("[dd]")); + idGeneratorPOJO.setHaveMonth(ruleFormat.contains("[mm]")); + idGeneratorPOJO.setHaveYear(ruleFormat.contains("[yyyy]")); + this.idGeneratorMap.put(e.getId(), idGeneratorPOJO); + } else { + log.error("cannot find rule type , id : {}, key name : {} ", e.getId(), e.getKeyName()); + } + }); + } + } + + public String generate(IdGeneratorEnum idGeneratorEnum) { + return generate(idGeneratorEnum, 1).get(0); + } + + /** + * @param idGeneratorEnum + * @param stepLength + * @return + */ + public List generate(IdGeneratorEnum idGeneratorEnum, int stepLength) { + IdGeneratorPOJO idGeneratorPOJO = validateParams(idGeneratorEnum, stepLength); + long[] generateIds = idGeneratorManager.generate(idGeneratorPOJO, stepLength); + Long startValue = generateIds[0], endValue = generateIds[1]; + LocalDate now = LocalDate.now(); + String year = String.valueOf(now.getYear()); + String month = now.getMonthValue() > 9 ? String.valueOf(now.getMonthValue()) : "0" + now.getMonthValue(); + String day = now.getDayOfMonth() > 9 ? String.valueOf(now.getDayOfMonth()) : "0" + now.getDayOfMonth(); + ArrayList codeList = new ArrayList<>(); + for (long loop = startValue; loop < endValue; loop++) { + String generateBillCode = this.replaceAndFill(idGeneratorPOJO, loop, year, month, day); + codeList.add(generateBillCode); + } + return codeList; + } + + private IdGeneratorRuleTypeEnum getIdGeneratorRuleTypeEnum(String ruleType) { + for (IdGeneratorRuleTypeEnum en : IdGeneratorRuleTypeEnum.values()) { + if (en.name().equalsIgnoreCase(ruleType)) { + return en; + } + } + return null; + } + + private IdGeneratorPOJO validateParams(IdGeneratorEnum idGeneratorEnum, int stepLength) { + if (stepLength < 1) { + throw new SmartBusinessException("IdGenerator, step过短" + stepLength); + } + + IdGeneratorPOJO idGeneratorPOJO = this.idGeneratorMap.get(idGeneratorEnum.getId()); + if (idGeneratorPOJO == null) { + throw new SmartBusinessException("IdGenerator, id 不存在" + idGeneratorEnum); + } + return idGeneratorPOJO; + } + + /** + * 替换特殊rule,即替换[yyyy][mm][dd][nnn]等规则 + */ + private String replaceAndFill(IdGeneratorPOJO idGeneratorPOJO, Long number, String year, String month, String day) { + StringBuilder numberStringBuilder = new StringBuilder(); + int curNumberCount = String.valueOf(number).length(); + + if (idGeneratorPOJO.getNumberCount() > curNumberCount) { + int remain = idGeneratorPOJO.getNumberCount() - curNumberCount; + for (int i = 0; i < remain; i++) { + numberStringBuilder.append(0); + } + } + numberStringBuilder.append(number); + + StringBuilder nStringBuilder = new StringBuilder(); + nStringBuilder.append("\\["); + for (int i = 0; i < idGeneratorPOJO.getNumberCount(); i++) { + nStringBuilder.append("n"); + } + nStringBuilder.append("\\]"); + + String tempRuleFormat = new String(idGeneratorPOJO.getIdGeneratorEntity().getRuleFormat().getBytes()); + if (idGeneratorPOJO.isHaveYear()) { + tempRuleFormat = tempRuleFormat.replaceAll("\\[yyyy\\]", year); + } + if (idGeneratorPOJO.isHaveMonth()) { + tempRuleFormat = tempRuleFormat.replaceAll("\\[mm\\]", month); + } + if (idGeneratorPOJO.isHaveDay()) { + tempRuleFormat = tempRuleFormat.replaceAll("\\[dd\\]", day); + } + + return tempRuleFormat.replaceAll(nStringBuilder.toString(), numberStringBuilder.toString()); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/constant/IdGeneratorEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/constant/IdGeneratorEnum.java new file mode 100644 index 00000000..79cebd0e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/constant/IdGeneratorEnum.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.module.support.idgenerator.constant; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/8 0008 下午 13:43 + * @since JDK1.8 + */ +public enum IdGeneratorEnum { + + + /** + * 测试generate + */ + TEST_ID_GENERATOR(2, "testIdGenerator"), + + + ORDER(1, "order"); + + private long id; + private String keyName; + + IdGeneratorEnum(int id, String keyName) { + this.id = id; + this.keyName = keyName; + } + + @Override + public String toString() { + return "IdGeneratorEnum{" + "id=" + id + ", keyName='" + keyName + '\'' + '}'; + } + + public long getId() { + return id; + } + + public String getKeyName() { + return keyName; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/constant/IdGeneratorRuleTypeEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/constant/IdGeneratorRuleTypeEnum.java new file mode 100644 index 00000000..c2dad2da --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/constant/IdGeneratorRuleTypeEnum.java @@ -0,0 +1,40 @@ +package net.lab1024.smartadmin.module.support.idgenerator.constant; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/8 0008 下午 13:43 + * @since JDK1.8 + */ +public enum IdGeneratorRuleTypeEnum { + /** + * 没有周期 + */ + NO_CYCLE(""), + /** + * 年周期 + */ + YEAR_CYCLE("yyyy"), + /** + * 月周期 + */ + MONTH_CYCLE("yyyyMM"), + /** + * 日周期 + */ + DAY_CYCLE("yyyyMMdd"); + + private String ext; + + IdGeneratorRuleTypeEnum(String ext) { + this.ext = ext; + } + + public String getExt() { + return ext; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorEntity.java new file mode 100644 index 00000000..e1d64ffc --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorEntity.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.module.support.idgenerator.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @author sun + * @Auther: anders + * @Date: 2018/8/7 0007 13:33 + * @Description: + */ +@Data +@TableName(value = "t_id_generator") +public class IdGeneratorEntity extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 5582354131134766548L; + /** + * 英文key + */ + private String keyName; + /** + * 规则格式 + */ + private String ruleFormat; + /** + * 类型 + */ + private String ruleType; + /** + * 初始值 + */ + private Long initNumber; + /** + * 上次产生的id + */ + private Long lastNumber; + /** + * 备注 + */ + private String remark; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorLastNumberDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorLastNumberDTO.java new file mode 100644 index 00000000..69af325e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorLastNumberDTO.java @@ -0,0 +1,38 @@ +package net.lab1024.smartadmin.module.support.idgenerator.domain; + +import java.util.Date; + +/** + * @Auther: yandanyang + * @Date: 2018/8/7 0007 13:33 + * @Description: + */ +public class IdGeneratorLastNumberDTO { + private Date updateTime; + private Long lastNumber; + private Date databaseTime; + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public Long getLastNumber() { + return lastNumber; + } + + public void setLastNumber(Long lastNumber) { + this.lastNumber = lastNumber; + } + + public Date getDatabaseTime() { + return databaseTime; + } + + public void setDatabaseTime(Date databaseTime) { + this.databaseTime = databaseTime; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorPOJO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorPOJO.java new file mode 100644 index 00000000..6cd93931 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorPOJO.java @@ -0,0 +1,71 @@ +package net.lab1024.smartadmin.module.support.idgenerator.domain; + +import net.lab1024.smartadmin.module.support.idgenerator.constant.IdGeneratorRuleTypeEnum; + +/** + * @Auther: yandanyang + * @Date: 2018/8/7 0007 13:33 + * @Description: + */ +public class IdGeneratorPOJO { + + private IdGeneratorRuleTypeEnum idGeneratorRuleTypeEnum; + private IdGeneratorEntity idGeneratorEntity; + private int numberCount = 0; + private boolean haveYear = false; + private boolean haveMonth = false; + private boolean haveDay = false; + + public IdGeneratorPOJO(IdGeneratorRuleTypeEnum idGeneratorRuleTypeEnum, IdGeneratorEntity idGeneratorEntity) { + this.idGeneratorRuleTypeEnum = idGeneratorRuleTypeEnum; + this.idGeneratorEntity = idGeneratorEntity; + } + + public IdGeneratorRuleTypeEnum getIdGeneratorRuleTypeEnum() { + return idGeneratorRuleTypeEnum; + } + + public void setIdGeneratorRuleTypeEnum(IdGeneratorRuleTypeEnum idGeneratorRuleTypeEnum) { + this.idGeneratorRuleTypeEnum = idGeneratorRuleTypeEnum; + } + + public IdGeneratorEntity getIdGeneratorEntity() { + return idGeneratorEntity; + } + + public void setIdGeneratorEntity(IdGeneratorEntity idGeneratorEntity) { + this.idGeneratorEntity = idGeneratorEntity; + } + + public int getNumberCount() { + return numberCount; + } + + public void setNumberCount(int numberCount) { + this.numberCount = numberCount; + } + + public boolean isHaveYear() { + return haveYear; + } + + public void setHaveYear(boolean haveYear) { + this.haveYear = haveYear; + } + + public boolean isHaveMonth() { + return haveMonth; + } + + public void setHaveMonth(boolean haveMonth) { + this.haveMonth = haveMonth; + } + + public boolean isHaveDay() { + return haveDay; + } + + public void setHaveDay(boolean haveDay) { + this.haveDay = haveDay; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorRecordDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorRecordDTO.java new file mode 100644 index 00000000..50f79b1e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/idgenerator/domain/IdGeneratorRecordDTO.java @@ -0,0 +1,22 @@ +package net.lab1024.smartadmin.module.support.idgenerator.domain; + +import lombok.Data; + +/** + * @Auther: yandanyang + * @Date: 2018/8/7 0007 13:33 + * @Description: + */ +@Data +public class IdGeneratorRecordDTO { + + private Long generatorId; + + private Integer year; + + private Integer month; + + private Integer day; + + private Long lastNumber; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/constant/QuartzConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/constant/QuartzConst.java new file mode 100644 index 00000000..949da2bc --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/constant/QuartzConst.java @@ -0,0 +1,17 @@ +package net.lab1024.smartadmin.module.support.quartz.constant; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 15:21 + * @since JDK1.8 + */ +public class QuartzConst { + public static final String QUARTZ_PARAMS_KEY="TASK_PARAMS"; + public static final String JOB_KEY_PREFIX="TASK_"; + public static final String TRIGGER_KEY_PREFIX="TRIGGER_"; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/constant/TaskResultEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/constant/TaskResultEnum.java new file mode 100644 index 00000000..df5fbc5d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/constant/TaskResultEnum.java @@ -0,0 +1,47 @@ +package net.lab1024.smartadmin.module.support.quartz.constant; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 14:19 + * @since JDK1.8 + */ +public enum TaskResultEnum { + + SUCCESS(0,"成功"), + /** + * + */ + FAIL(1,"失败"); + + public static final String INFO="0:成功,1:失败"; + + private Integer status; + + private String desc; + + TaskResultEnum(Integer status , String desc) { + this.status = status; + this.desc = desc; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/constant/TaskStatusEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/constant/TaskStatusEnum.java new file mode 100644 index 00000000..9a7f9bd7 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/constant/TaskStatusEnum.java @@ -0,0 +1,47 @@ +package net.lab1024.smartadmin.module.support.quartz.constant; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 14:19 + * @since JDK1.8 + */ +public enum TaskStatusEnum { + + NORMAL(0,"正常"), + /** + * + */ + PAUSE(1,"暂停"); + + public static final String INFO="0:正常,1:暂停"; + + private Integer status; + + private String desc; + + TaskStatusEnum(Integer status ,String desc) { + this.status = status; + this.desc = desc; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/controller/QuartzController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/controller/QuartzController.java new file mode 100644 index 00000000..59a71ad3 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/controller/QuartzController.java @@ -0,0 +1,81 @@ +package net.lab1024.smartadmin.module.support.quartz.controller; + +import net.lab1024.smartadmin.common.anno.NoValidPrivilege; +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.support.quartz.service.QuartzTaskService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import net.lab1024.smartadmin.module.support.quartz.domain.dto.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * + * [ ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@OperateLog +@RestController +@Api(tags = {SwaggerTagConst.Admin.MANAGER_TASK_SCHEDULER}) +public class QuartzController { + + @Autowired + private QuartzTaskService quartzTaskService; + + + @PostMapping("/quartz/task/query") + @ApiOperation(value = "查询任务") + @NoValidPrivilege + public ResponseDTO> query(@RequestBody @Valid QuartzQueryDTO queryDTO){ + return quartzTaskService.query(queryDTO); + } + + + @PostMapping("/quartz/task/queryLog") + @ApiOperation(value = "查询任务运行日志") + @NoValidPrivilege + public ResponseDTO> queryLog(@RequestBody @Valid QuartzLogQueryDTO queryDTO){ + return quartzTaskService.queryLog(queryDTO); + } + + @PostMapping("/quartz/task/saveOrUpdate") + @ApiOperation(value = "新建更新任务") + public ResponseDTO saveOrUpdateTask(@RequestBody @Valid QuartzTaskDTO quartzTaskDTO)throws Exception{ + return quartzTaskService.saveOrUpdateTask(quartzTaskDTO); + } + + @GetMapping("/quartz/task/run/{taskId}") + @ApiOperation(value = "立即运行某个任务") + public ResponseDTO runTask(@PathVariable("taskId") Long taskId)throws Exception{ + return quartzTaskService.runTask(taskId); + } + + @GetMapping("/quartz/task/pause/{taskId}") + @ApiOperation(value = "暂停某个任务") + public ResponseDTO pauseTask(@PathVariable("taskId")Long taskId)throws Exception{ + return quartzTaskService.pauseTask(taskId); + } + + @GetMapping("/quartz/task/resume/{taskId}") + @ApiOperation(value = "恢复某个任务") + public ResponseDTO resumeTask(@PathVariable("taskId")Long taskId)throws Exception{ + return quartzTaskService.resumeTask(taskId); + } + + @GetMapping("/quartz/task/delete/{taskId}") + @ApiOperation(value = "删除某个任务") + public ResponseDTO deleteTask(@PathVariable("taskId")Long taskId)throws Exception{ + return quartzTaskService.deleteTask(taskId); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/dao/QuartzTaskDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/dao/QuartzTaskDao.java new file mode 100644 index 00000000..f9153e9e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/dao/QuartzTaskDao.java @@ -0,0 +1,42 @@ +package net.lab1024.smartadmin.module.support.quartz.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.module.support.quartz.domain.dto.QuartzQueryDTO; +import net.lab1024.smartadmin.module.support.quartz.domain.dto.QuartzTaskVO; +import net.lab1024.smartadmin.module.support.quartz.domain.entity.QuartzTaskEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 14:35 + * @since JDK1.8 + */ +@Mapper +@Component +public interface QuartzTaskDao extends BaseMapper { + + /** + * 更新任务状态 + * @param taskId + * @param taskStatus + */ + void updateStatus(@Param("taskId") Integer taskId,@Param("taskStatus") Integer taskStatus); + + /** + * 查询列表 + * @param queryDTO + * @return + */ + List queryList(Page page, @Param("queryDTO")QuartzQueryDTO queryDTO); + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/dao/QuartzTaskLogDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/dao/QuartzTaskLogDao.java new file mode 100644 index 00000000..b2e9cb04 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/dao/QuartzTaskLogDao.java @@ -0,0 +1,35 @@ +package net.lab1024.smartadmin.module.support.quartz.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.module.support.quartz.domain.dto.QuartzLogQueryDTO; +import net.lab1024.smartadmin.module.support.quartz.domain.dto.QuartzTaskLogVO; +import net.lab1024.smartadmin.module.support.quartz.domain.entity.QuartzTaskLogEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 14:35 + * @since JDK1.8 + */ +@Mapper +@Component +public interface QuartzTaskLogDao extends BaseMapper{ + + + /** + * 查询列表 + * @param queryDTO + * @return + */ + List queryList(Page page, @Param("queryDTO")QuartzLogQueryDTO queryDTO); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzLogQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzLogQueryDTO.java new file mode 100644 index 00000000..84b8564e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzLogQueryDTO.java @@ -0,0 +1,25 @@ +package net.lab1024.smartadmin.module.support.quartz.domain.dto; + +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/15 0015 上午 11:29 + * @since JDK1.8 + */ +@Data +public class QuartzLogQueryDTO extends PageParamDTO { + + @ApiModelProperty(value = "任务Id(不能为空)") + @NotNull(message = "任务Id不能为空") + private Integer taskId; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzQueryDTO.java new file mode 100644 index 00000000..51e6b584 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzQueryDTO.java @@ -0,0 +1,16 @@ +package net.lab1024.smartadmin.module.support.quartz.domain.dto; + +import net.lab1024.smartadmin.common.domain.PageParamDTO; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/15 0015 上午 11:29 + * @since JDK1.8 + */ +public class QuartzQueryDTO extends PageParamDTO { +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzTaskDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzTaskDTO.java new file mode 100644 index 00000000..5fb303fc --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzTaskDTO.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.module.support.quartz.domain.dto; + +import net.lab1024.smartadmin.module.support.quartz.constant.TaskStatusEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 15:42 + * @since JDK1.8 + */ +@Data +public class QuartzTaskDTO { + + @ApiModelProperty("id") + private Long id; + + @ApiModelProperty("任务名称") + @NotNull(message = "任务名称不能为空") + private String taskName; + + @ApiModelProperty("任务Bean") + @NotNull(message = "任务Bean不能为空") + private String taskBean; + + @ApiModelProperty("任务参数") + private String taskParams; + + @ApiModelProperty("cron") + @NotNull(message = "cron表达式不能为空") + private String taskCron; + + @ApiModelProperty("任务状态:"+ TaskStatusEnum.INFO) + private Integer taskStatus; + + @ApiModelProperty("任务备注") + private String remark; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzTaskLogVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzTaskLogVO.java new file mode 100644 index 00000000..23cd35fc --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzTaskLogVO.java @@ -0,0 +1,49 @@ +package net.lab1024.smartadmin.module.support.quartz.domain.dto; + +import net.lab1024.smartadmin.module.support.quartz.constant.TaskResultEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 15:42 + * @since JDK1.8 + */ +@Data +public class QuartzTaskLogVO { + + @ApiModelProperty("id") + private Long id; + + @ApiModelProperty("任务id") + private Long taskId; + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务参数") + private String taskParams; + + @ApiModelProperty("任务处理状态:"+ TaskResultEnum.INFO) + private Integer processStatus; + + @ApiModelProperty("任务时长ms") + private Long processDuration; + + @ApiModelProperty("处理日志") + private String processLog; + + @ApiModelProperty("创建时间") + private Date createTime; + + + @ApiModelProperty("主机ip") + private String ipAddress; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzTaskVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzTaskVO.java new file mode 100644 index 00000000..b588c532 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/dto/QuartzTaskVO.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.module.support.quartz.domain.dto; + +import net.lab1024.smartadmin.module.support.quartz.constant.TaskStatusEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 15:42 + * @since JDK1.8 + */ +@Data +public class QuartzTaskVO { + + @ApiModelProperty("id") + private Long id; + + @ApiModelProperty("任务名称") + @NotNull(message = "任务名称不能为空") + private String taskName; + + @ApiModelProperty("任务Bean") + @NotNull(message = "任务Bean不能为空") + private String taskBean; + + @ApiModelProperty("任务参数") + private String taskParams; + + @ApiModelProperty("cron") + @NotNull(message = "cron表达式不能为空") + private String taskCron; + + @ApiModelProperty("任务状态:"+ TaskStatusEnum.INFO) + private Integer taskStatus; + + @ApiModelProperty("任务备注") + private String remark; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/entity/QuartzTaskEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/entity/QuartzTaskEntity.java new file mode 100644 index 00000000..cb419b84 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/entity/QuartzTaskEntity.java @@ -0,0 +1,50 @@ +package net.lab1024.smartadmin.module.support.quartz.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 13:45 + * @since JDK1.8 + */ +@Data +@TableName("t_quartz_task") +public class QuartzTaskEntity extends BaseEntity { + /** + * 任务名称参数 + */ + private String taskName; + /** + * 任务类 + */ + private String taskBean; + + /** + * 任务参数 + */ + private String taskParams; + + /** + * cron + */ + private String taskCron; + + /** + * 任务状态 + */ + private Integer taskStatus; + + /** + * 备注 + */ + private String remark; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/entity/QuartzTaskLogEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/entity/QuartzTaskLogEntity.java new file mode 100644 index 00000000..9d728416 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/entity/QuartzTaskLogEntity.java @@ -0,0 +1,50 @@ +package net.lab1024.smartadmin.module.support.quartz.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 13:45 + * @since JDK1.8 + */ +@Data +@TableName("t_quartz_task_log") +public class QuartzTaskLogEntity extends BaseEntity { + /** + * 任务名称参数 + */ + private Long taskId; + /** + * 任务名称 + */ + private String taskName; + /** + * 任务参数 + */ + private String taskParams; + /** + * 任务处理状态 + */ + private Integer processStatus; + + /** + * 任务时长ms + */ + private Long processDuration; + + /** + * 处理日志 + */ + private String processLog; + + + private String ipAddress; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTask.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTask.java new file mode 100644 index 00000000..4b327d1f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTask.java @@ -0,0 +1,85 @@ +package net.lab1024.smartadmin.module.support.quartz.service; + +import lombok.extern.slf4j.Slf4j; +import net.lab1024.smartadmin.common.domain.ITask; +import net.lab1024.smartadmin.module.support.quartz.constant.QuartzConst; +import net.lab1024.smartadmin.module.support.quartz.constant.TaskResultEnum; +import net.lab1024.smartadmin.module.support.quartz.domain.entity.QuartzTaskEntity; +import net.lab1024.smartadmin.module.support.quartz.domain.entity.QuartzTaskLogEntity; +import net.lab1024.smartadmin.third.SmartApplicationContext; +import net.lab1024.smartadmin.util.SmartIPUtil; +import net.lab1024.smartadmin.util.SmartQuartzUtil; +import org.quartz.JobDetail; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.quartz.JobKey; +import org.springframework.scheduling.quartz.QuartzJobBean; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.util.Date; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Slf4j +public class QuartzTask extends QuartzJobBean { + + @Override + protected void executeInternal(JobExecutionContext context) throws JobExecutionException { + JobDetail jobDetail = context.getJobDetail(); + Object params = context.getMergedJobDataMap().get(QuartzConst.QUARTZ_PARAMS_KEY); + JobKey jobKey = jobDetail.getKey(); + + Long taskId = SmartQuartzUtil.getTaskIdByJobKey(jobKey); + QuartzTaskService quartzTaskService = (QuartzTaskService) SmartApplicationContext.getBean("quartzTaskService"); + QuartzTaskEntity quartzTaskEntity = quartzTaskService.getByTaskId(taskId); + + QuartzTaskLogService quartzTaskLogService = (QuartzTaskLogService) SmartApplicationContext.getBean("quartzTaskLogService"); + + QuartzTaskLogEntity taskLogEntity = new QuartzTaskLogEntity(); + taskLogEntity.setTaskId(taskId); + taskLogEntity.setIpAddress(SmartIPUtil.getLocalHostIP()); + try { + taskLogEntity.setTaskName(quartzTaskEntity.getTaskName()); + } catch (Exception e) { + e.printStackTrace(); + } + String paramsStr = null; + if (params != null) { + paramsStr = params.toString(); + taskLogEntity.setTaskParams(paramsStr); + } + taskLogEntity.setUpdateTime(new Date()); + taskLogEntity.setCreateTime(new Date()); + //任务开始时间 + long startTime = System.currentTimeMillis(); + try { + ITask taskClass = (ITask) SmartApplicationContext.getBean(quartzTaskEntity.getTaskBean()); + taskClass.execute(paramsStr); + taskLogEntity.setProcessStatus(TaskResultEnum.SUCCESS.getStatus()); + } catch (Exception e) { + log.error("", e); + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw, true); + e.printStackTrace(pw); + pw.flush(); + sw.flush(); + taskLogEntity.setProcessStatus(TaskResultEnum.FAIL.getStatus()); + taskLogEntity.setProcessLog(sw.toString()); + } finally { + long times = System.currentTimeMillis() - startTime; + taskLogEntity.setProcessDuration(times); + quartzTaskLogService.save(taskLogEntity); + } + + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTaskLogService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTaskLogService.java new file mode 100644 index 00000000..e54c483c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTaskLogService.java @@ -0,0 +1,28 @@ +package net.lab1024.smartadmin.module.support.quartz.service; + +import net.lab1024.smartadmin.module.support.quartz.dao.QuartzTaskLogDao; +import net.lab1024.smartadmin.module.support.quartz.domain.entity.QuartzTaskLogEntity; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 14:50 + * @since JDK1.8 + */ +@Service +public class QuartzTaskLogService { + + @Autowired + private QuartzTaskLogDao quartzTaskLogDao; + + + public void save(QuartzTaskLogEntity logEntity){ + quartzTaskLogDao.insert(logEntity); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTaskService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTaskService.java new file mode 100644 index 00000000..9f88132a --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTaskService.java @@ -0,0 +1,349 @@ +package net.lab1024.smartadmin.module.support.quartz.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.support.quartz.constant.QuartzConst; +import net.lab1024.smartadmin.module.support.quartz.constant.TaskStatusEnum; +import net.lab1024.smartadmin.module.support.quartz.dao.QuartzTaskDao; +import net.lab1024.smartadmin.module.support.quartz.dao.QuartzTaskLogDao; +import net.lab1024.smartadmin.module.support.quartz.domain.entity.QuartzTaskEntity; +import net.lab1024.smartadmin.third.SmartApplicationContext; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartPageUtil; +import net.lab1024.smartadmin.util.SmartQuartzUtil; +import lombok.extern.slf4j.Slf4j; +import net.lab1024.smartadmin.module.support.quartz.domain.dto.*; +import org.quartz.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.Date; +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 14:50 + * @since JDK1.8 + */ +@Slf4j +@Service +public class QuartzTaskService { + + @Autowired + private QuartzTaskDao quartzTaskDao; + + @Autowired + private QuartzTaskLogDao quartzTaskLogDao; + + @Autowired + private Scheduler scheduler; + + /** + * 查询列表 + * + * @param queryDTO + * @return + */ + public ResponseDTO> query(QuartzQueryDTO queryDTO) { + Page pageParam = SmartPageUtil.convert2QueryPage(queryDTO); + List taskList = quartzTaskDao.queryList(pageParam, queryDTO); + pageParam.setRecords(taskList); + return ResponseDTO.succData(SmartPageUtil.convert2PageResult(pageParam)); + } + + /** + * 查询运行日志 + * + * @param queryDTO + * @return + */ + public ResponseDTO> queryLog(QuartzLogQueryDTO queryDTO) { + Page pageParam = SmartPageUtil.convert2QueryPage(queryDTO); + List taskList = quartzTaskLogDao.queryList(pageParam, queryDTO); + pageParam.setRecords(taskList); + return ResponseDTO.succData(SmartPageUtil.convert2PageResult(pageParam)); + } + + /** + * 保存或更新 + * + * @param quartzTaskDTO + * @return + * @throws Exception + */ + @Transactional(rollbackFor = Throwable.class) + public ResponseDTO saveOrUpdateTask(QuartzTaskDTO quartzTaskDTO) throws Exception { + ResponseDTO baseValid = this.baseValid(quartzTaskDTO); + if (!baseValid.isSuccess()) { + return baseValid; + } + Long taskId = quartzTaskDTO.getId(); + if (taskId == null) { + return this.saveTask(quartzTaskDTO); + } else { + return this.updateTask(quartzTaskDTO); + } + } + + private ResponseDTO baseValid(QuartzTaskDTO quartzTaskDTO) { + Object taskBean = null; + try { + taskBean = SmartApplicationContext.getBean(quartzTaskDTO.getTaskBean()); + } catch (Exception e) { + log.error("taskBean 不存在{}", e); + } + if (taskBean == null) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "taskBean 不存在"); + } + if (!CronExpression.isValidExpression(quartzTaskDTO.getTaskCron())) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "请传入正确的正则表达式"); + } + return ResponseDTO.succ(); + } + + private ResponseDTO saveTask(QuartzTaskDTO quartzTaskDTO) throws Exception { + QuartzTaskEntity taskEntity = SmartBeanUtil.copy(quartzTaskDTO, QuartzTaskEntity.class); + taskEntity.setTaskStatus(TaskStatusEnum.NORMAL.getStatus()); + taskEntity.setUpdateTime(new Date()); + taskEntity.setCreateTime(new Date()); + quartzTaskDao.insert(taskEntity); + this.createQuartzTask(scheduler, taskEntity); + return ResponseDTO.succ(); + } + + private ResponseDTO updateTask(QuartzTaskDTO quartzTaskDTO) throws Exception { + QuartzTaskEntity updateEntity = quartzTaskDao.selectById(quartzTaskDTO.getId()); + if (updateEntity == null) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "task不存在"); + } + QuartzTaskEntity taskEntity = SmartBeanUtil.copy(quartzTaskDTO, QuartzTaskEntity.class); + //任务状态不能更新 + taskEntity.setTaskStatus(updateEntity.getTaskStatus()); + taskEntity.setUpdateTime(new Date()); + quartzTaskDao.updateById(taskEntity); + if(this.checkExist(taskEntity.getId())){ + this.updateQuartzTask(scheduler, taskEntity); + }else{ + this.createQuartzTask(scheduler,taskEntity); + } + + return ResponseDTO.succ(); + } + + /** + * 立即运行 + * + * @param taskId + * @return + * @throws Exception + */ + public ResponseDTO runTask(Long taskId) throws Exception { + QuartzTaskEntity quartzTaskEntity = quartzTaskDao.selectById(taskId); + if (quartzTaskEntity == null) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "task不存在"); + } + this.runQuartzTask(scheduler, quartzTaskEntity); + return ResponseDTO.succ(); + } + + /** + * 暂停运行 + * + * @param taskId + * @return + * @throws Exception + */ + @Transactional(rollbackFor = Throwable.class) + public ResponseDTO pauseTask(Long taskId) throws Exception { + QuartzTaskEntity quartzTaskEntity = quartzTaskDao.selectById(taskId); + if (quartzTaskEntity == null) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "task不存在"); + } + quartzTaskEntity.setTaskStatus(TaskStatusEnum.PAUSE.getStatus()); + quartzTaskDao.updateById(quartzTaskEntity); + this.pauseQuartzTask(scheduler, quartzTaskEntity); + return ResponseDTO.succ(); + } + + /** + * 恢复任务 + * + * @param taskId + * @return + * @throws Exception + */ + @Transactional(rollbackFor = Throwable.class) + public ResponseDTO resumeTask(Long taskId) throws Exception { + QuartzTaskEntity quartzTaskEntity = quartzTaskDao.selectById(taskId); + if (quartzTaskEntity == null) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "task不存在"); + } + quartzTaskEntity.setTaskStatus(TaskStatusEnum.NORMAL.getStatus()); + quartzTaskDao.updateById(quartzTaskEntity); + this.resumeQuartzTask(scheduler, quartzTaskEntity); + return ResponseDTO.succ(); + } + + /** + * 删除任务 + * + * @param taskId + * @return + * @throws Exception + */ + public ResponseDTO deleteTask(Long taskId) throws Exception { + QuartzTaskEntity quartzTaskEntity = quartzTaskDao.selectById(taskId); + if (quartzTaskEntity == null) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "task不存在"); + } + quartzTaskDao.deleteById(taskId); + this.deleteQuartzTask(scheduler, taskId); + return ResponseDTO.succ(); + } + + /** + * 通过任务Id 获取任务实体 + * + * @param taskId + * @return + */ + public QuartzTaskEntity getByTaskId(Long taskId) { + return quartzTaskDao.selectById(taskId); + } + + /** + * 创建任务 + * + * @param scheduler + * @param taskEntity + * @throws Exception + */ + public void createQuartzTask(Scheduler scheduler, QuartzTaskEntity taskEntity) throws Exception { + JobKey jobKey = SmartQuartzUtil.getJobKey(taskEntity.getId()); + JobDetail jobDetail = JobBuilder.newJob(QuartzTask.class).withIdentity(jobKey).build(); + + CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(taskEntity.getTaskCron()).withMisfireHandlingInstructionDoNothing(); + + TriggerKey triggerKey = SmartQuartzUtil.getTriggerKey(Long.valueOf(taskEntity.getId())); + CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).withSchedule(scheduleBuilder).build(); + + jobDetail.getJobDataMap().put(QuartzConst.QUARTZ_PARAMS_KEY, taskEntity.getTaskParams()); + scheduler.scheduleJob(jobDetail, trigger); + //如果任务是暂停状态,则暂停任务 + if (TaskStatusEnum.PAUSE.getStatus().equals(taskEntity.getTaskStatus())) { + this.pauseQuartzTask(scheduler, taskEntity); + } + } + + /** + * 更新任务 + * + * @param scheduler + * @param taskEntity + * @throws Exception + */ + private void updateQuartzTask(Scheduler scheduler, QuartzTaskEntity taskEntity) throws Exception { + TriggerKey triggerKey = SmartQuartzUtil.getTriggerKey(Long.valueOf(taskEntity.getId())); + + CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(taskEntity.getTaskCron()).withMisfireHandlingInstructionDoNothing(); + + CronTrigger trigger = this.getCronTrigger(scheduler, Long.valueOf(taskEntity.getId())); + + trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build(); + + trigger.getJobDataMap().put(QuartzConst.QUARTZ_PARAMS_KEY, taskEntity.getTaskParams()); + + scheduler.rescheduleJob(triggerKey, trigger); + //如果更新之前任务是暂停状态,此时再次暂停任务 + if (TaskStatusEnum.PAUSE.getStatus().equals(taskEntity.getTaskStatus())) { + this.pauseQuartzTask(scheduler, taskEntity); + } + } + + private CronTrigger getCronTrigger(Scheduler scheduler, Long taskId) throws Exception { + TriggerKey triggerKey = SmartQuartzUtil.getTriggerKey(taskId); + return (CronTrigger) scheduler.getTrigger(triggerKey); + } + + /** + * 立即运行 + * + * @param scheduler + * @param taskEntity + * @throws Exception + */ + private void runQuartzTask(Scheduler scheduler, QuartzTaskEntity taskEntity) throws Exception { + JobDataMap dataMap = new JobDataMap(); + dataMap.put(QuartzConst.QUARTZ_PARAMS_KEY, taskEntity.getTaskParams()); + JobKey jobKey = SmartQuartzUtil.getJobKey(taskEntity.getId()); + if(!scheduler.checkExists(jobKey)){ + this.createQuartzTask(scheduler,taskEntity); + scheduler.triggerJob(jobKey, dataMap); + return; + } + scheduler.triggerJob(jobKey, dataMap); + } + + /** + * 暂停任务 + * + * @param scheduler + * @param quartzTaskEntity + * @throws Exception + */ + private void pauseQuartzTask(Scheduler scheduler, QuartzTaskEntity quartzTaskEntity) throws Exception { + JobKey jobKey = SmartQuartzUtil.getJobKey(quartzTaskEntity.getId()); + if(!scheduler.checkExists(jobKey)){ + this.createQuartzTask(scheduler,quartzTaskEntity); + scheduler.pauseJob(jobKey); + return; + } + scheduler.pauseJob(jobKey); + } + + /** + * 恢复任务 + * + * @param scheduler + * @param quartzTaskEntity + * @throws Exception + */ + private void resumeQuartzTask(Scheduler scheduler, QuartzTaskEntity quartzTaskEntity) throws Exception { + JobKey jobKey = SmartQuartzUtil.getJobKey(quartzTaskEntity.getId()); + if(!scheduler.checkExists(jobKey)){ + this.createQuartzTask(scheduler,quartzTaskEntity); + return; + } + scheduler.resumeJob(jobKey); + } + + /** + * 删除任务 + * + * @param scheduler + * @param taskId + * @throws Exception + */ + private void deleteQuartzTask(Scheduler scheduler, Long taskId) throws Exception { + JobKey jobKey = SmartQuartzUtil.getJobKey(taskId); + if(!scheduler.checkExists(jobKey)){ + return; + } + scheduler.deleteJob(jobKey); + } + + + private Boolean checkExist(Long taskId) throws Exception{ + JobKey jobKey = SmartQuartzUtil.getJobKey(taskId); + return scheduler.checkExists(jobKey); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/task/test/Example.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/task/test/Example.java new file mode 100644 index 00000000..f62d22b5 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/task/test/Example.java @@ -0,0 +1,28 @@ +package net.lab1024.smartadmin.module.support.quartz.task.test; + +import lombok.extern.slf4j.Slf4j; +import net.lab1024.smartadmin.common.domain.ITask; +import net.lab1024.smartadmin.util.SmartDateUtil; +import org.springframework.stereotype.Component; + +import java.util.Date; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 14:26 + * @since JDK1.8 + */ +@Slf4j +@Component("exampleTask") +public class Example implements ITask { + + @Override + public void execute(String paramJson) throws Exception { + log.warn("{}-今天搬了{}块砖,paramJson:{}",SmartDateUtil.formatYMDHMS(new Date()),System.currentTimeMillis(),paramJson ); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/SmartReloadCommand.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/SmartReloadCommand.java new file mode 100644 index 00000000..2535efdd --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/SmartReloadCommand.java @@ -0,0 +1,52 @@ +package net.lab1024.smartadmin.module.support.smartreload; + +import net.lab1024.smartadmin.common.reload.abstracts.AbstractSmartReloadCommand4Spring; +import net.lab1024.smartadmin.common.reload.domain.entity.ReloadItem; +import net.lab1024.smartadmin.common.reload.domain.entity.SmartReloadResult; +import net.lab1024.smartadmin.module.support.smartreload.dao.ReloadItemDao; +import net.lab1024.smartadmin.module.support.smartreload.dao.ReloadResultDao; +import net.lab1024.smartadmin.module.support.smartreload.domain.entity.ReloadItemEntity; +import net.lab1024.smartadmin.module.support.smartreload.domain.entity.ReloadResultEntity; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Smart Reload 业务 + * + * @author listen + * @date 2018/02/10 09:18 + */ +@Component +public class SmartReloadCommand extends AbstractSmartReloadCommand4Spring { + + @Autowired + private ReloadItemDao reloadItemDao; + + @Autowired + private ReloadResultDao reloadResultDao; + + /** + * 读取数据库中SmartReload项 + * + * @return List + */ + @Override + public List readReloadItem() { + List reloadItemEntityList = reloadItemDao.selectList(null); + return SmartBeanUtil.copyList(reloadItemEntityList, ReloadItem.class); + } + + /** + * 保存reload结果 + * + * @param smartReloadResult + */ + @Override + public void handleReloadResult(SmartReloadResult smartReloadResult) { + ReloadResultEntity reloadResultEntity = SmartBeanUtil.copy(smartReloadResult, ReloadResultEntity.class); + reloadResultDao.insert(reloadResultEntity); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/SmartReloadController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/SmartReloadController.java new file mode 100644 index 00000000..2d6e9560 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/SmartReloadController.java @@ -0,0 +1,52 @@ +package net.lab1024.smartadmin.module.support.smartreload; + +import net.lab1024.smartadmin.common.anno.NoValidPrivilege; +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.support.smartreload.domain.dto.ReloadItemUpdateDTO; +import net.lab1024.smartadmin.module.support.smartreload.domain.dto.ReloadItemVO; +import net.lab1024.smartadmin.module.support.smartreload.domain.dto.ReloadResultVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * Smart Reload 路由 + * + * @author listen + * @date 2018/02/10 09:18 + */ +@Api(tags = {SwaggerTagConst.Admin.MANAGER_SMART_RELOAD}) +@OperateLog +@RestController +public class SmartReloadController { + + @Autowired + private SmartReloadService smartReloadService; + + @ApiOperation(value = "获取全部Smart-reload项", notes = "获取全部Smart-reload项") + @GetMapping("/smartReload/all") + @NoValidPrivilege + public ResponseDTO> listAllReloadItem() { + return smartReloadService.listAllReloadItem(); + } + + @ApiOperation(value = "获取reload result", notes = "获取reload result") + @GetMapping("/smartReload/result/{tag}") + @NoValidPrivilege + public ResponseDTO> queryReloadResult(@PathVariable("tag") String tag) { + return smartReloadService.listReloadItemResult(tag); + } + + @ApiOperation("通过tag更新标识") + @PostMapping("/smartReload/update") + @NoValidPrivilege + public ResponseDTO updateByTag(@RequestBody @Valid ReloadItemUpdateDTO updateDTO) { + return smartReloadService.updateByTag(updateDTO); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/SmartReloadService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/SmartReloadService.java new file mode 100644 index 00000000..78778659 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/SmartReloadService.java @@ -0,0 +1,103 @@ +package net.lab1024.smartadmin.module.support.smartreload; + +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.common.reload.SmartReloadManager; +import net.lab1024.smartadmin.module.support.smartreload.dao.ReloadItemDao; +import net.lab1024.smartadmin.module.support.smartreload.dao.ReloadResultDao; +import net.lab1024.smartadmin.module.support.smartreload.domain.dto.ReloadItemUpdateDTO; +import net.lab1024.smartadmin.module.support.smartreload.domain.dto.ReloadItemVO; +import net.lab1024.smartadmin.module.support.smartreload.domain.dto.ReloadResultVO; +import net.lab1024.smartadmin.module.support.smartreload.domain.entity.ReloadItemEntity; +import net.lab1024.smartadmin.module.support.smartreload.domain.entity.ReloadResultEntity; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import java.sql.Timestamp; +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * Smart initDefines 业务 + * + * @author listen + * @date 2018/02/10 13:49 + */ +@Service +public class SmartReloadService { + + @Autowired + private SmartReloadManager smartReloadManager; + + @Autowired + private SmartReloadCommand smartReloadCommand; + + @Autowired + private ReloadItemDao reloadItemDao; + + @Autowired + private ReloadResultDao reloadResultDao; + + @Value("${smart-reload.time-interval}") + private Long timeInterval; + + @PostConstruct + public void init() { + smartReloadManager.addCommand(smartReloadCommand, 10, timeInterval, TimeUnit.SECONDS); + } + + /** + * 注册到SmartReload里 + */ + public void register(Object reload) { + smartReloadManager.register(reload); + } + + /** + * 获取所有 initDefines 项 + * + * @return + */ + public ResponseDTO> listAllReloadItem() { + List reloadItemEntityList = reloadItemDao.selectList(null); + List reloadItemDTOList = SmartBeanUtil.copyList(reloadItemEntityList, ReloadItemVO.class); + return ResponseDTO.succData(reloadItemDTOList); + } + + /** + * 根据 tag + * 获取所有 initDefines 运行结果 + * + * @return ResponseDTO + */ + public ResponseDTO> listReloadItemResult(String tag) { + ReloadResultEntity query = new ReloadResultEntity(); + query.setTag(tag); + List reloadResultEntityList = reloadResultDao.query(tag); + List reloadResultDTOList = SmartBeanUtil.copyList(reloadResultEntityList, ReloadResultVO.class); + return ResponseDTO.succData(reloadResultDTOList); + } + + /** + * 通过标签更新标识符 + * + * @param updateDTO + * @return + */ + public ResponseDTO updateByTag(ReloadItemUpdateDTO updateDTO) { + ReloadItemEntity entity = new ReloadItemEntity(); + entity.setTag(updateDTO.getTag()); + ReloadItemEntity reloadItemEntity = reloadItemDao.selectById(entity.getTag()); + if (null == reloadItemEntity) { + return ResponseDTO.wrap(ResponseCodeConst.NOT_EXISTS); + } + reloadItemEntity.setIdentification(updateDTO.getIdentification()); + reloadItemEntity.setUpdateTime(new Timestamp(System.currentTimeMillis())); + reloadItemEntity.setArgs(updateDTO.getArgs()); + reloadItemDao.updateById(reloadItemEntity); + return ResponseDTO.succ(); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/dao/ReloadItemDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/dao/ReloadItemDao.java new file mode 100644 index 00000000..c497ebbc --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/dao/ReloadItemDao.java @@ -0,0 +1,15 @@ +package net.lab1024.smartadmin.module.support.smartreload.dao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.lab1024.smartadmin.module.support.smartreload.domain.entity.ReloadItemEntity; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Component; + +/** + * t_reload_item 数据表dao + * + * @author listen + * @date 2018/02/10 09:23 + */ +@Component +@Mapper +public interface ReloadItemDao extends BaseMapper {} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/dao/ReloadResultDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/dao/ReloadResultDao.java new file mode 100644 index 00000000..dc4d2d69 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/dao/ReloadResultDao.java @@ -0,0 +1,23 @@ +package net.lab1024.smartadmin.module.support.smartreload.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.lab1024.smartadmin.module.support.smartreload.domain.entity.ReloadResultEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * t_reload_result 数据表dao + * + * @author listen + * @date 2018/02/10 09:23 + */ +@Component +@Mapper +public interface ReloadResultDao extends BaseMapper { + + + List query(@Param("tag") String tag); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/dto/ReloadItemUpdateDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/dto/ReloadItemUpdateDTO.java new file mode 100644 index 00000000..20ad98f5 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/dto/ReloadItemUpdateDTO.java @@ -0,0 +1,29 @@ +package net.lab1024.smartadmin.module.support.smartreload.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +/** + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Data +public class ReloadItemUpdateDTO { + + @ApiModelProperty("标签") + @NotBlank(message = "标签不能为空") + private String tag; + + @ApiModelProperty("状态标识") + @NotBlank(message = "状态标识不能为空") + private String identification; + + @ApiModelProperty("reload时传入的参数,可以为空") + private String args; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/dto/ReloadItemVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/dto/ReloadItemVO.java new file mode 100644 index 00000000..8f462297 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/dto/ReloadItemVO.java @@ -0,0 +1,46 @@ +package net.lab1024.smartadmin.module.support.smartreload.domain.dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * initDefines 项 DTO 类 + * + * @author listen + * @date 2018/02/10 09:29 + */ +@Data +public class ReloadItemVO { + + /** + * 加载项标签 + */ + @ApiModelProperty("加载项标签") + private String tag; + + /** + * 参数 + */ + @ApiModelProperty("参数") + private String args; + + /** + * 状态标识 + */ + @ApiModelProperty("状态标识") + private String identification; + + /** + * 更新时间 + */ + @ApiModelProperty("最后更新时间") + private Date updateTime; + + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + private Date createTime; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/dto/ReloadResultVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/dto/ReloadResultVO.java new file mode 100644 index 00000000..56b388a3 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/dto/ReloadResultVO.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.module.support.smartreload.domain.dto; +import lombok.Data; + +import java.util.Date; + +/** + * reload_result DTO 类 + * + * @author listen + * @date 2018/02/10 09:29 + */ +@Data +public class ReloadResultVO { + + /** + * 加载项标签 + */ + private String tag; + + /** + * 参数 + */ + private String args; + + /** + * 状态标识 + */ + private String identification; + + /** + * 运行结果 + */ + private Boolean result; + + /** + * 异常 + */ + private String exception; + + /** + * 创建时间 + */ + private Date createTime; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/entity/ReloadItemEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/entity/ReloadItemEntity.java new file mode 100644 index 00000000..cbd264c1 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/entity/ReloadItemEntity.java @@ -0,0 +1,46 @@ +package net.lab1024.smartadmin.module.support.smartreload.domain.entity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +/** + * t_reload_item 数据表 实体类 + * + * @author listen + * @date 2018/02/10 09:29 + */ +@Data +@TableName("t_reload_item") +public class ReloadItemEntity { + + /** + * 加载项标签 + */ + @TableId(type = IdType.INPUT) + private String tag; + + /** + * 参数 + */ + private String args; + + /** + * 运行标识 + */ + private String identification; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 创建时间 + */ + private Date createTime; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/entity/ReloadResultEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/entity/ReloadResultEntity.java new file mode 100644 index 00000000..bb79c21e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/smartreload/domain/entity/ReloadResultEntity.java @@ -0,0 +1,48 @@ +package net.lab1024.smartadmin.module.support.smartreload.domain.entity; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +/** + * t_reload_result 数据表 实体类 + * + * @author listen + * @date 2018/02/10 09:29 + */ +@Data +@TableName("t_reload_result") +public class ReloadResultEntity { + + /** + * 加载项标签 + */ + private String tag; + + /** + * 运行标识 + */ + private String identification; + + /** + * 参数 + */ + private String args; + + /** + * 运行结果 + */ + private Boolean result; + + /** + * 异常 + */ + private String exception; + + /** + * 创建时间 + */ + private Date createTime; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/MessageTypeEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/MessageTypeEnum.java new file mode 100644 index 00000000..eda10334 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/MessageTypeEnum.java @@ -0,0 +1,44 @@ +package net.lab1024.smartadmin.module.support.websocket; + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/10 0010 下午 19:11 + * @since JDK1.8 + */ +public enum MessageTypeEnum implements BaseEnum{ + + SYS_NOTICE(1,"系统通知"), + + PRIVATE_LETTER(2,"私信"), + + HEART_BEAT(3,"心跳"); + + + private Integer value; + + private String desc; + + + MessageTypeEnum(Integer value,String desc){ + this.value = value; + this.desc = desc; + } + + + @Override + public Integer getValue() { + return this.value; + } + + @Override + public String getDesc() { + return this.desc; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/WebSocketServer.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/WebSocketServer.java new file mode 100644 index 00000000..a26489c8 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/WebSocketServer.java @@ -0,0 +1,199 @@ +package net.lab1024.smartadmin.module.support.websocket; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; +import net.lab1024.smartadmin.module.support.websocket.domain.MessageCommonDTO; +import net.lab1024.smartadmin.module.support.websocket.domain.MessageDTO; +import net.lab1024.smartadmin.module.support.websocket.domain.WebSocketHeartBeatDTO; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.websocket.*; +import javax.websocket.server.PathParam; +import javax.websocket.server.ServerEndpoint; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.concurrent.ConcurrentHashMap; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/10 0010 下午 16:09 + * @since JDK1.8 + */ +@Slf4j +@ServerEndpoint("/webSocket/{employeeId}") +@Component +public class WebSocketServer { + + /** + * 当前在线用户 employee,expireTime + */ + private static ConcurrentHashMap onLineUser = new ConcurrentHashMap<>(); + + /** + * 当前在线用户所对应的 socket session信息 + */ + private static ConcurrentHashMap webSocketSession = new ConcurrentHashMap<>(); + + @OnOpen + public void onOpen(Session session, @PathParam("employeeId") Long employeeId) { + if (employeeId == null) { + return; + } + webSocketSession.put(employeeId, session); + log.info("连接打开"); + } + + /** + * 不做处理如果 前台可以监听到浏览器关闭 此处处理在线人数也可 + * + * @param session + */ + @OnClose + public void onClose(Session session) { + + log.info("连接关闭"); + } + + @OnError + public void onError(Session session, Throwable error) { + log.error("socket error,{}", error); + error.printStackTrace(); + } + + /** + * 此方法接收 前台信息 + * + * @param message + * @param session + */ + @OnMessage + public void onMessage(String message, Session session) { + if (StringUtils.isEmpty(message)) { + return; + } + MessageCommonDTO messageCommonDTO = JSON.parseObject(message, new TypeReference() {}); + if (MessageTypeEnum.HEART_BEAT.getValue().equals(messageCommonDTO.getMessageType())) { + this.heartBeatHandle(messageCommonDTO.getJsonStr()); + } + } + + /** + * 更新用户过期时间 + * + * @param json + */ + private void heartBeatHandle(String json) { + Long currentDate = System.currentTimeMillis(); + Long expireTime = currentDate + 5 * 1000; + WebSocketHeartBeatDTO heartBeatDTO = JSON.parseObject(json, new TypeReference() {}); + Long employeeId = heartBeatDTO.getEmployeeId(); + onLineUser.put(employeeId, expireTime); + } + + /** + * 移除过期用户,如果用户超过5s未获取到心跳列表则清除在线用户信息 + */ + @Scheduled(cron = "0/5 * * * * ?") + private void removeOnLineUser() { + Long currentDate = System.currentTimeMillis(); + Iterator> it = onLineUser.entrySet().iterator(); + while (it.hasNext()) { + Map.Entry entry = it.next(); + Long key = entry.getKey(); + Long value = entry.getValue(); + Long userExpireTime = value + 5 * 1000; + if (currentDate > userExpireTime) { + onLineUser.remove(key); + webSocketSession.remove(key); + } + } + } + + /** + * 此方法用户后台发送消息 + * + * @param messageDTO + */ + public static void sendMessage(MessageDTO messageDTO) { + //系统通知 + if (MessageTypeEnum.SYS_NOTICE.getValue().equals(messageDTO.getMessageType())) { + sendAllOnLineUser(messageDTO.getMessage(), messageDTO.getFromUserId()); + } + //站内信 + if (MessageTypeEnum.PRIVATE_LETTER.getValue().equals(messageDTO.getMessageType())) { + sendOneOnLineUser(messageDTO.getMessage(), messageDTO.getToUserId()); + } + } + + /** + * 通知所有在线用户 + * + * @param message + */ + public static void sendAllOnLineUser(String message, Long fromUserId) { + for (Entry entry : webSocketSession.entrySet()) { + Session session = entry.getValue(); + Long userId = entry.getKey(); + try { + //不想消息创建人推送消息 + if (! userId.equals(fromUserId)) { + session.getBasicRemote().sendText(message); + } + } catch (IOException e) { + log.error("推送消息到{},发送错误{}", userId, e); + log.error("", e); + } + + } + } + + /** + * 通知某人 + * + * @param message + * @param toUserId + */ + public static void sendOneOnLineUser(String message, Long toUserId) { + Session session = webSocketSession.get(toUserId); + if (session == null) { + log.error("推送消息到{},用户不在线", toUserId); + } + try { + session.getBasicRemote().sendText(message); + } catch (IOException e) { + log.error("推送消息到{},发送错误{}", toUserId, e); + log.error("", e); + } + } + + /** + * 获取所有在线用户id + * + * @return + */ + public static List getOnLineUserList() { + return Lists.newArrayList(onLineUser.keySet()); + } + + /** + * 获取当前在线用户数 + * + * @return + */ + public static Integer getOnLineUserCount() { + return onLineUser.entrySet().size(); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/domain/MessageCommonDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/domain/MessageCommonDTO.java new file mode 100644 index 00000000..43828b38 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/domain/MessageCommonDTO.java @@ -0,0 +1,29 @@ +package net.lab1024.smartadmin.module.support.websocket.domain; + +import net.lab1024.smartadmin.module.support.websocket.MessageTypeEnum; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/13 0013 下午 14:37 + * @since JDK1.8 + */ +@Data +public class MessageCommonDTO { + /** + * 消息类型 {@link MessageTypeEnum} + */ + private Integer messageType; + + /** + * 具体消息内容 + */ + private String jsonStr; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/domain/MessageDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/domain/MessageDTO.java new file mode 100644 index 00000000..23fc615f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/domain/MessageDTO.java @@ -0,0 +1,41 @@ +package net.lab1024.smartadmin.module.support.websocket.domain; + +import net.lab1024.smartadmin.module.support.websocket.MessageTypeEnum; +import lombok.Builder; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/10 0010 下午 18:50 + * @since JDK1.8 + */ +@Data +@Builder +public class MessageDTO { + + /** + * 消息类型 {@link MessageTypeEnum} + */ + private Integer messageType; + + /** + * 消息体 + */ + private String message; + + /** + * 发送者 + */ + private Long fromUserId; + + /** + * 接收者,系统通知可为null + */ + private Long toUserId; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/domain/WebSocketHeartBeatDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/domain/WebSocketHeartBeatDTO.java new file mode 100644 index 00000000..90f8c78f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/websocket/domain/WebSocketHeartBeatDTO.java @@ -0,0 +1,23 @@ +package net.lab1024.smartadmin.module.support.websocket.domain; + +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/13 0013 下午 14:39 + * @since JDK1.8 + */ +@Data +public class WebSocketHeartBeatDTO { + + /** + * 当前登录人id + */ + private Long employeeId; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/DataScopeController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/DataScopeController.java new file mode 100644 index 00000000..75a5eec4 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/DataScopeController.java @@ -0,0 +1,59 @@ +package net.lab1024.smartadmin.module.system.datascope; + +import net.lab1024.smartadmin.common.anno.NoValidPrivilege; +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.system.datascope.domain.dto.DataScopeAndViewTypeVO; +import net.lab1024.smartadmin.module.system.datascope.domain.dto.DataScopeBatchSetRoleDTO; +import net.lab1024.smartadmin.module.system.datascope.domain.dto.DataScopeSelectVO; +import net.lab1024.smartadmin.module.system.datascope.service.DataScopeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/27 0027 下午 15:12 + * @since JDK1.8 + */ +@Api(tags = {SwaggerTagConst.Admin.MANAGER_DATA_SCOPE}) +@OperateLog +@RestController +public class DataScopeController { + + @Autowired + private DataScopeService dataScopeService; + + @ApiOperation(value = "获取当前系统所配置的所有数据范围") + @GetMapping("/dataScope/list") + @NoValidPrivilege + public ResponseDTO> dataScopeList() { + return dataScopeService.dataScopeList(); + } + + @ApiOperation(value = "获取某角色所设置的数据范围") + @GetMapping("/dataScope/listByRole/{roleId}") + @NoValidPrivilege + public ResponseDTO> dataScopeListByRole(@PathVariable Long roleId) { + return dataScopeService.dataScopeListByRole(roleId); + } + + @ApiOperation(value = "批量设置某角色数据范围") + @PostMapping("/dataScope/batchSet") + @NoValidPrivilege + public ResponseDTO dataScopeBatchSet(@RequestBody @Valid DataScopeBatchSetRoleDTO batchSetRoleDTO) { + return dataScopeService.dataScopeBatchSet(batchSetRoleDTO); + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/DataScopeRoleDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/DataScopeRoleDao.java new file mode 100644 index 00000000..1b926a7b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/DataScopeRoleDao.java @@ -0,0 +1,52 @@ +package net.lab1024.smartadmin.module.system.datascope; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.lab1024.smartadmin.module.system.datascope.domain.entity.DataScopeRoleEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/27 0027 下午 14:41 + * @since JDK1.8 + */ +@Mapper +@Component +public interface DataScopeRoleDao extends BaseMapper { + + /** + * 获取某个角色的设置信息 + * @param roleId + * @return + */ + List listByRoleId(@Param("roleId") Long roleId); + + /** + * 获取某批角色的所有数据范围配置信息 + * @param roleIdList + * @return + */ + List listByRoleIdList(@Param("roleIdList") List roleIdList); + + /** + * 删除某个角色的设置信息 + * @param roleId + * @return + */ + void deleteByRoleId(@Param("roleId") Long roleId); + + + /** + * 批量添加设置信息 + * @param list + */ + void batchInsert(@Param("list")List list); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/MyBatisPlugin.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/MyBatisPlugin.java new file mode 100644 index 00000000..f9270b62 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/MyBatisPlugin.java @@ -0,0 +1,152 @@ +package net.lab1024.smartadmin.module.system.datascope; + +import net.lab1024.smartadmin.module.system.datascope.domain.dto.DataScopeSqlConfigDTO; +import net.lab1024.smartadmin.module.system.datascope.service.DataScopeSqlConfigService; +import net.lab1024.smartadmin.third.SmartApplicationContext; +import net.lab1024.smartadmin.util.SmartStringUtil; +import org.apache.commons.lang3.StringUtils; +import org.apache.ibatis.mapping.*; +import org.apache.ibatis.plugin.*; +import org.apache.ibatis.session.ResultHandler; +import org.apache.ibatis.session.RowBounds; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Properties; + +/** + * [ mybaits sql 拦截 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Intercepts({@Signature(type = org.apache.ibatis.executor.Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class})}) +@Component +public class MyBatisPlugin implements Interceptor { + + @Override + public Object intercept(Invocation invocation) throws Throwable { + MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0]; + Object parameter = invocation.getArgs()[1]; + BoundSql boundSql = mappedStatement.getBoundSql(parameter); + String originalSql = boundSql.getSql().trim(); + String id = mappedStatement.getId(); + List methodStrList = SmartStringUtil.splitConvertToList(id, "\\."); + String path = methodStrList.get(methodStrList.size() - 2) + "." + methodStrList.get(methodStrList.size() - 1); + DataScopeSqlConfigService dataScopeSqlConfigService = this.dataScopeSqlConfigService(); + if (dataScopeSqlConfigService == null) { + return invocation.proceed(); + } + DataScopeSqlConfigDTO sqlConfigDTO = dataScopeSqlConfigService.getSqlConfig(path); + if (sqlConfigDTO != null) { + BoundSql newBoundSql = copyFromBoundSql(mappedStatement, boundSql, this.joinSql(originalSql, sqlConfigDTO)); + ParameterMap map = mappedStatement.getParameterMap(); + MappedStatement newMs = copyFromMappedStatement(mappedStatement, new BoundSqlSqlSource(newBoundSql), map); + invocation.getArgs()[0] = newMs; + } + + Object obj = invocation.proceed(); + return obj; + } + + private String joinSql(String sql, DataScopeSqlConfigDTO sqlConfigDTO) { + if (null == sqlConfigDTO) { + return sql; + } + String appendSql = this.dataScopeSqlConfigService().getJoinSql(sqlConfigDTO); + if (StringUtils.isEmpty(appendSql)) { + return sql; + } + Integer appendSqlWhereIndex = sqlConfigDTO.getWhereIndex(); + String where = "where"; + String order = "order by"; + String group = "group by"; + int whereIndex = StringUtils.ordinalIndexOf(sql.toLowerCase(), where, appendSqlWhereIndex + 1); + int orderIndex = sql.toLowerCase().indexOf(order); + int groupIndex = sql.toLowerCase().indexOf(group); + if (whereIndex > - 1) { + String subSql = sql.substring(0, whereIndex + where.length() + 1); + subSql = subSql + " " + appendSql + " AND " + sql.substring(whereIndex + where.length() + 1); + return subSql; + } + + if (groupIndex > - 1) { + String subSql = sql.substring(0, groupIndex); + subSql = subSql + " where " + appendSql + " " + sql.substring(groupIndex); + return subSql; + } + if (orderIndex > - 1) { + String subSql = sql.substring(0, orderIndex); + subSql = subSql + " where " + appendSql + " " + sql.substring(orderIndex); + return subSql; + } + sql += " where " + appendSql; + return sql; + } + + public DataScopeSqlConfigService dataScopeSqlConfigService() { + return (DataScopeSqlConfigService) SmartApplicationContext.getBean("dataScopeSqlConfigService"); + } + + public class BoundSqlSqlSource implements SqlSource { + + BoundSql boundSql; + + public BoundSqlSqlSource(BoundSql boundSql) { + this.boundSql = boundSql; + } + @Override + public BoundSql getBoundSql(Object parameterObject) { + return boundSql; + } + } + + /** + * 复制MappedStatement对象 + */ + private MappedStatement copyFromMappedStatement(MappedStatement ms, SqlSource newSqlSource, ParameterMap parameterMap) { + + MappedStatement.Builder builder = new MappedStatement.Builder(ms.getConfiguration(), ms.getId(), newSqlSource, ms.getSqlCommandType()); + builder.resource(ms.getResource()); + builder.fetchSize(ms.getFetchSize()); + builder.statementType(ms.getStatementType()); + builder.keyGenerator(ms.getKeyGenerator()); + builder.timeout(ms.getTimeout()); + builder.parameterMap(parameterMap); + builder.resultMaps(ms.getResultMaps()); + builder.resultSetType(ms.getResultSetType()); + builder.cache(ms.getCache()); + builder.flushCacheRequired(ms.isFlushCacheRequired()); + builder.useCache(ms.isUseCache()); + return builder.build(); + } + + /** + * 复制BoundSql对象 + */ + private BoundSql copyFromBoundSql(MappedStatement ms, BoundSql boundSql, String sql) { + BoundSql newBoundSql = new BoundSql(ms.getConfiguration(), sql, boundSql.getParameterMappings(), boundSql.getParameterObject()); + for (ParameterMapping mapping : boundSql.getParameterMappings()) { + String prop = mapping.getProperty(); + if (boundSql.hasAdditionalParameter(prop)) { + newBoundSql.setAdditionalParameter(prop, boundSql.getAdditionalParameter(prop)); + } + } + return newBoundSql; + } + + @Override + public Object plugin(Object arg0) { + return Plugin.wrap(arg0, this); + } + + @Override + public void setProperties(Properties arg0) { + + } + +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/constant/DataScopeTypeEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/constant/DataScopeTypeEnum.java new file mode 100644 index 00000000..66ebb8f9 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/constant/DataScopeTypeEnum.java @@ -0,0 +1,51 @@ +package net.lab1024.smartadmin.module.system.datascope.constant; + + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/28 0028 下午 15:37 + * @since JDK1.8 + */ +public enum DataScopeTypeEnum implements BaseEnum { + + DEFAULT(0,0,"默认类型","数据范围样例"); + + private Integer value; + private Integer sort; + private String name; + private String desc; + + DataScopeTypeEnum(Integer value,Integer sort,String name,String desc) { + this.value = value; + this.sort = sort; + this.name = name; + this.desc = desc; + } + + @Override + public Integer getValue() { + return value; + } + + public Integer getSort() { + return sort; + } + + @Override + public String getDesc() { + return desc; + } + + public String getName() { + return name; + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/constant/DataScopeViewTypeEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/constant/DataScopeViewTypeEnum.java new file mode 100644 index 00000000..75ddf0c9 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/constant/DataScopeViewTypeEnum.java @@ -0,0 +1,54 @@ +package net.lab1024.smartadmin.module.system.datascope.constant; + + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +import java.util.Arrays; +import java.util.Optional; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/28 0028 下午 15:37 + * @since JDK1.8 + */ +public enum DataScopeViewTypeEnum implements BaseEnum { + + ME(0,0,"本人"), + + DEPARTMENT(1,5,"本部门"), + + DEPARTMENT_AND_SUB(2,10,"本部门及下属子部门"), + + ALL(3,15,"全部"); + + private Integer value; + private Integer level; + private String desc; + + DataScopeViewTypeEnum(Integer value,Integer level, String desc) { + this.value = value; + this.level = level; + this.desc = desc; + } + + @Override + public Integer getValue() { + return value; + } + + public Integer getLevel() { + return level; + } + + @Override + public String getDesc() { + return desc; + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java new file mode 100644 index 00000000..e9037373 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java @@ -0,0 +1,42 @@ +package net.lab1024.smartadmin.module.system.datascope.constant; + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/8 0008 下午 16:00 + * @since JDK1.8 + */ +public enum DataScopeWhereInTypeEnum implements BaseEnum { + + EMPLOYEE(0,"以员工IN"), + + DEPARTMENT(1,"以部门IN"), + + CUSTOM_STRATEGY(2,"自定义策略"); + + private Integer value; + private String desc; + + DataScopeWhereInTypeEnum(Integer value, String desc) { + this.value = value; + this.desc = desc; + } + + @Override + public Integer getValue() { + return value; + } + + @Override + public String getDesc() { + return desc; + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeAndViewTypeVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeAndViewTypeVO.java new file mode 100644 index 00000000..1412be57 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeAndViewTypeVO.java @@ -0,0 +1,36 @@ +package net.lab1024.smartadmin.module.system.datascope.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/27 0027 下午 16:37 + * @since JDK1.8 + */ +@Data +public class DataScopeAndViewTypeVO { + + @ApiModelProperty("数据范围类型") + private Integer dataScopeType; + + @ApiModelProperty("数据范围名称") + private String dataScopeTypeName; + + @ApiModelProperty("描述") + private String dataScopeTypeDesc; + + @ApiModelProperty("顺序") + private Integer dataScopeTypeSort; + + @ApiModelProperty("可见范围列表") + private List viewTypeList; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeBatchSetDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeBatchSetDTO.java new file mode 100644 index 00000000..6ff9fc92 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeBatchSetDTO.java @@ -0,0 +1,28 @@ +package net.lab1024.smartadmin.module.system.datascope.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/27 0027 下午 16:51 + * @since JDK1.8 + */ +@Data +public class DataScopeBatchSetDTO { + + @ApiModelProperty("数据范围类型") + @NotNull(message = "数据范围类型不能为空") + private Integer dataScopeType; + + @ApiModelProperty("可见范围") + @NotNull(message = "可见范围不能为空") + private Integer viewType; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeBatchSetRoleDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeBatchSetRoleDTO.java new file mode 100644 index 00000000..215ab664 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeBatchSetRoleDTO.java @@ -0,0 +1,30 @@ +package net.lab1024.smartadmin.module.system.datascope.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/27 0027 下午 16:47 + * @since JDK1.8 + */ +@Data +public class DataScopeBatchSetRoleDTO { + + @ApiModelProperty("角色id") + @NotNull(message = "角色id不能为空") + private Long roleId; + + @ApiModelProperty("设置信息") + @Valid + private List batchSetList; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeDTO.java new file mode 100644 index 00000000..629679bf --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeDTO.java @@ -0,0 +1,33 @@ +package net.lab1024.smartadmin.module.system.datascope.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Builder; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/27 0027 下午 16:37 + * @since JDK1.8 + */ +@Data +@Builder +public class DataScopeDTO { + + @ApiModelProperty("数据范围类型") + private Integer dataScopeType; + + @ApiModelProperty("数据范围名称") + private String dataScopeTypeName; + + @ApiModelProperty("描述") + private String dataScopeTypeDesc; + + @ApiModelProperty("顺序") + private Integer dataScopeTypeSort; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeSelectVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeSelectVO.java new file mode 100644 index 00000000..5d0a3aa8 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeSelectVO.java @@ -0,0 +1,24 @@ +package net.lab1024.smartadmin.module.system.datascope.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/27 0027 下午 16:43 + * @since JDK1.8 + */ +@Data +public class DataScopeSelectVO { + + @ApiModelProperty("数据范围id") + private Integer dataScopeType; + + @ApiModelProperty("可见范围") + private Integer viewType; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeSqlConfigDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeSqlConfigDTO.java new file mode 100644 index 00000000..422933de --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeSqlConfigDTO.java @@ -0,0 +1,40 @@ +package net.lab1024.smartadmin.module.system.datascope.domain.dto; + +import lombok.Data; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeTypeEnum; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeWhereInTypeEnum; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/28 0028 下午 17:21 + * @since JDK1.8 + */ +@Data +public class DataScopeSqlConfigDTO { + + /** + * 数据范围类型 + * {@link DataScopeTypeEnum} + */ + private DataScopeTypeEnum dataScopeType; + + /** + * join sql 具体实现类 + */ + private Class joinSqlImplClazz; + + private String joinSql; + + private Integer whereIndex; + + /** + * whereIn类型 + * {@link DataScopeWhereInTypeEnum} + */ + private DataScopeWhereInTypeEnum dataScopeWhereInType; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeViewTypeVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeViewTypeVO.java new file mode 100644 index 00000000..853a514f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/dto/DataScopeViewTypeVO.java @@ -0,0 +1,28 @@ +package net.lab1024.smartadmin.module.system.datascope.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Builder; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/28 0028 下午 15:41 + * @since JDK1.8 + */ +@Data +@Builder +public class DataScopeViewTypeVO { + + @ApiModelProperty("可见范围") + private Integer viewType; + @ApiModelProperty("可见范围名称") + private String viewTypeName; + + @ApiModelProperty("级别,用于表示范围大小") + private Integer viewTypeLevel; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/entity/DataScopeRoleEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/entity/DataScopeRoleEntity.java new file mode 100644 index 00000000..016f05bf --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/domain/entity/DataScopeRoleEntity.java @@ -0,0 +1,33 @@ +package net.lab1024.smartadmin.module.system.datascope.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +/** + * [ 数据范围与角色关系 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/27 0027 下午 14:43 + * @since JDK1.8 + */ +@Data +@TableName("t_role_data_scope") +public class DataScopeRoleEntity extends BaseEntity { + + /** + * 数据范围id + */ + private Integer dataScopeType; + /** + * 数据范围类型 + */ + private Integer viewType; + /** + * 角色id + */ + private Long roleId; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeService.java new file mode 100644 index 00000000..46b80bd4 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeService.java @@ -0,0 +1,118 @@ +package net.lab1024.smartadmin.module.system.datascope.service; + +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.system.datascope.DataScopeRoleDao; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeTypeEnum; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeViewTypeEnum; +import net.lab1024.smartadmin.module.system.datascope.domain.entity.DataScopeRoleEntity; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import com.google.common.collect.Lists; +import net.lab1024.smartadmin.module.system.datascope.domain.dto.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import java.util.Comparator; +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/27 0027 下午 14:52 + * @since JDK1.8 + */ +@Service +public class DataScopeService { + + @Autowired + private DataScopeRoleDao dataScopeRoleDao; + + /** + * 获取所有可以进行数据范围配置的信息 + * + * @return + */ + public ResponseDTO> dataScopeList() { + List dataScopeList = this.getDataScopeType(); + List dataScopeAndTypeList = SmartBeanUtil.copyList(dataScopeList, DataScopeAndViewTypeVO.class); + List typeList = this.getViewType(); + dataScopeAndTypeList.forEach(e -> { + e.setViewTypeList(typeList); + }); + return ResponseDTO.succData(dataScopeAndTypeList); + } + + /** + * 获取当前系统存在的数据可见范围 + * + * @return + */ + public List getViewType() { + List viewTypeList = Lists.newArrayList(); + DataScopeViewTypeEnum[] enums = DataScopeViewTypeEnum.class.getEnumConstants(); + DataScopeViewTypeVO dataScopeViewTypeDTO; + for (DataScopeViewTypeEnum viewTypeEnum : enums) { + dataScopeViewTypeDTO = DataScopeViewTypeVO.builder().viewType(viewTypeEnum.getValue()).viewTypeLevel(viewTypeEnum.getLevel()).viewTypeName(viewTypeEnum.getDesc()).build(); + viewTypeList.add(dataScopeViewTypeDTO); + } + Comparator comparator = (h1, h2) -> h1.getViewTypeLevel().compareTo(h2.getViewTypeLevel()); + viewTypeList.sort(comparator); + return viewTypeList; + } + + public List getDataScopeType() { + List dataScopeTypeList = Lists.newArrayList(); + DataScopeTypeEnum[] enums = DataScopeTypeEnum.class.getEnumConstants(); + DataScopeDTO dataScopeDTO; + for (DataScopeTypeEnum typeEnum : enums) { + dataScopeDTO = + DataScopeDTO.builder().dataScopeType(typeEnum.getValue()).dataScopeTypeDesc(typeEnum.getDesc()).dataScopeTypeName(typeEnum.getName()).dataScopeTypeSort(typeEnum.getSort()).build(); + dataScopeTypeList.add(dataScopeDTO); + } + Comparator comparator = (h1, h2) -> h1.getDataScopeTypeSort().compareTo(h2.getDataScopeTypeSort()); + dataScopeTypeList.sort(comparator); + return dataScopeTypeList; + } + + /** + * 获取某个角色的数据范围设置信息 + * + * @param roleId + * @return + */ + public ResponseDTO> dataScopeListByRole(Long roleId) { + + List dataScopeRoleEntityList = dataScopeRoleDao.listByRoleId(roleId); + if (CollectionUtils.isEmpty(dataScopeRoleEntityList)) { + return ResponseDTO.succData(Lists.newArrayList()); + } + List dataScopeSelects = SmartBeanUtil.copyList(dataScopeRoleEntityList, DataScopeSelectVO.class); + return ResponseDTO.succData(dataScopeSelects); + } + + /** + * 批量设置某个角色的数据范围设置信息 + * + * @param batchSetRoleDTO + * @return + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO dataScopeBatchSet(DataScopeBatchSetRoleDTO batchSetRoleDTO) { + List batchSetList = batchSetRoleDTO.getBatchSetList(); + if (CollectionUtils.isEmpty(batchSetList)) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, "缺少配置信息"); + } + List dataScopeRoleEntityList = SmartBeanUtil.copyList(batchSetList, DataScopeRoleEntity.class); + dataScopeRoleEntityList.forEach(e -> e.setRoleId(batchSetRoleDTO.getRoleId())); + dataScopeRoleDao.deleteByRoleId(batchSetRoleDTO.getRoleId()); + dataScopeRoleDao.batchInsert(dataScopeRoleEntityList); + return ResponseDTO.succ(); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeSqlConfigService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeSqlConfigService.java new file mode 100644 index 00000000..30381384 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeSqlConfigService.java @@ -0,0 +1,142 @@ +package net.lab1024.smartadmin.module.system.datascope.service; + +import lombok.extern.slf4j.Slf4j; +import net.lab1024.smartadmin.common.anno.DataScope; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeTypeEnum; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeViewTypeEnum; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeWhereInTypeEnum; +import net.lab1024.smartadmin.module.system.datascope.domain.dto.DataScopeSqlConfigDTO; +import net.lab1024.smartadmin.module.system.datascope.strategy.DataScopePowerStrategy; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.third.SmartApplicationContext; +import net.lab1024.smartadmin.util.SmartRequestTokenUtil; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.reflections.Reflections; +import org.reflections.scanners.MethodAnnotationsScanner; +import org.reflections.util.ClasspathHelper; +import org.reflections.util.ConfigurationBuilder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import java.lang.reflect.Method; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/29 0029 上午 10:12 + * @since JDK1.8 + */ +@Slf4j +@Service +public class DataScopeSqlConfigService { + + private ConcurrentHashMap dataScopeMethodMap = new ConcurrentHashMap<>(); + + @Autowired + private DataScopeViewService dataScopeViewService; + + @Value("${swagger.packAge}") + private String scanPackage; + + /** + * 注解joinsql 参数 + */ + private static final String EMPLOYEE_PARAM = "#employeeIds"; + + private static final String DEPARTMENT_PARAM = "#departmentIds"; + + @PostConstruct + private void initDataScopeMethodMap() { + this.refreshDataScopeMethodMap(); + } + + /** + * 刷新 所有添加数据范围注解的接口方法配置 + * + * @return + */ + private Map refreshDataScopeMethodMap() { + Reflections reflections = new Reflections(new ConfigurationBuilder().setUrls(ClasspathHelper.forPackage(scanPackage)).setScanners(new MethodAnnotationsScanner())); + Set methods = reflections.getMethodsAnnotatedWith(DataScope.class); + for (Method method : methods) { + DataScope dataScopeAnnotation = method.getAnnotation(DataScope.class); + if (dataScopeAnnotation != null) { + DataScopeSqlConfigDTO configDTO = new DataScopeSqlConfigDTO(); + configDTO.setDataScopeType(dataScopeAnnotation.dataScopeType()); + configDTO.setJoinSql(dataScopeAnnotation.joinSql()); + configDTO.setWhereIndex(dataScopeAnnotation.whereIndex()); + configDTO.setDataScopeWhereInType(dataScopeAnnotation.whereInType()); + dataScopeMethodMap.put(method.getDeclaringClass().getSimpleName() + "." + method.getName(), configDTO); + } + } + return dataScopeMethodMap; + } + + /** + * 根据调用的方法获取,此方法的配置信息 + * + * @param method + * @return + */ + public DataScopeSqlConfigDTO getSqlConfig(String method) { + DataScopeSqlConfigDTO sqlConfigDTO = this.dataScopeMethodMap.get(method); + return sqlConfigDTO; + } + + /** + * 组装需要拼接的sql + * + * @param sqlConfigDTO + * @return + */ + public String getJoinSql(DataScopeSqlConfigDTO sqlConfigDTO) { + DataScopeTypeEnum dataScopeTypeEnum = sqlConfigDTO.getDataScopeType(); + String joinSql = sqlConfigDTO.getJoinSql(); + RequestTokenBO requestToken = SmartRequestTokenUtil.getThreadLocalUser(); + Long employeeId = requestToken.getRequestUserId(); + if (DataScopeWhereInTypeEnum.CUSTOM_STRATEGY == sqlConfigDTO.getDataScopeWhereInType()) { + Class strategyClass = sqlConfigDTO.getJoinSqlImplClazz(); + if(strategyClass == null){ + log.warn("data scope custom strategy class is null"); + return ""; + } + DataScopePowerStrategy powerStrategy = (DataScopePowerStrategy)SmartApplicationContext.getBean(sqlConfigDTO.getJoinSqlImplClazz()); + if (powerStrategy == null) { + log.warn("data scope custom strategy class:{} ,bean is null",sqlConfigDTO.getJoinSqlImplClazz()); + return ""; + } + DataScopeViewTypeEnum viewTypeEnum = dataScopeViewService.getEmployeeDataScopeViewType(dataScopeTypeEnum, employeeId); + return powerStrategy.getCondition(viewTypeEnum,sqlConfigDTO); + } + if (DataScopeWhereInTypeEnum.EMPLOYEE == sqlConfigDTO.getDataScopeWhereInType()) { + List canViewEmployeeIds = dataScopeViewService.getCanViewEmployeeId(dataScopeTypeEnum, employeeId); + if (CollectionUtils.isEmpty(canViewEmployeeIds)) { + return ""; + } + String employeeIds = StringUtils.join(canViewEmployeeIds, ","); + String sql = joinSql.replaceAll(EMPLOYEE_PARAM, employeeIds); + return sql; + } + if (DataScopeWhereInTypeEnum.DEPARTMENT == sqlConfigDTO.getDataScopeWhereInType()) { + List canViewDepartmentIds = dataScopeViewService.getCanViewDepartmentId(dataScopeTypeEnum, employeeId); + if (CollectionUtils.isEmpty(canViewDepartmentIds)) { + return ""; + } + String departmentIds = StringUtils.join(canViewDepartmentIds, ","); + String sql = joinSql.replaceAll(DEPARTMENT_PARAM, departmentIds); + return sql; + } + return ""; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeViewService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeViewService.java new file mode 100644 index 00000000..11ec5bc7 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeViewService.java @@ -0,0 +1,175 @@ +package net.lab1024.smartadmin.module.system.datascope.service; + +import com.google.common.collect.Lists; +import net.lab1024.smartadmin.module.system.datascope.DataScopeRoleDao; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeTypeEnum; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeViewTypeEnum; +import net.lab1024.smartadmin.module.system.datascope.domain.entity.DataScopeRoleEntity; +import net.lab1024.smartadmin.module.system.department.DepartmentTreeService; +import net.lab1024.smartadmin.module.system.employee.EmployeeDao; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; +import net.lab1024.smartadmin.module.system.employee.domain.entity.EmployeeEntity; +import net.lab1024.smartadmin.module.system.employee.domain.vo.EmployeeVO; +import net.lab1024.smartadmin.module.system.privilege.service.PrivilegeEmployeeService; +import net.lab1024.smartadmin.module.system.role.roleemployee.RoleEmployeeDao; +import net.lab1024.smartadmin.util.SmartBaseEnumUtil; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/28 0028 下午 15:56 + * @since JDK1.8 + */ +@Service +public class DataScopeViewService { + + @Autowired + private RoleEmployeeDao roleEmployeeDao; + + @Autowired + private DataScopeRoleDao dataScopeRoleDao; + + @Autowired + private DepartmentTreeService departmentTreeService; + + @Autowired + private EmployeeDao employeeDao; + + @Autowired + private PrivilegeEmployeeService privilegeEmployeeService; + + /** + * 获取某人可以查看的所有人员信息 + * + * @param dataScopeTypeEnum + * @param employeeId + * @return + */ + public List getCanViewEmployeeId(DataScopeTypeEnum dataScopeTypeEnum, Long employeeId) { + DataScopeViewTypeEnum viewType = this.getEmployeeDataScopeViewType(dataScopeTypeEnum, employeeId); + if (DataScopeViewTypeEnum.ME == viewType) { + return this.getMeEmployeeIdList(employeeId); + } + if (DataScopeViewTypeEnum.DEPARTMENT == viewType) { + return this.getDepartmentEmployeeIdList(employeeId); + } + if (DataScopeViewTypeEnum.DEPARTMENT_AND_SUB == viewType) { + return this.getDepartmentAndSubEmployeeIdList(employeeId); + } + return Lists.newArrayList(); + } + + /** + * 获取某人可以查看的所有部门信息 + * + * @param dataScopeTypeEnum + * @param employeeId + * @return + */ + public List getCanViewDepartmentId(DataScopeTypeEnum dataScopeTypeEnum, Long employeeId) { + DataScopeViewTypeEnum viewType = this.getEmployeeDataScopeViewType(dataScopeTypeEnum, employeeId); + if (DataScopeViewTypeEnum.ME == viewType) { + return this.getMeDepartmentIdList(employeeId); + } + if (DataScopeViewTypeEnum.DEPARTMENT == viewType) { + return this.getMeDepartmentIdList(employeeId); + } + if (DataScopeViewTypeEnum.DEPARTMENT_AND_SUB == viewType) { + return this.getDepartmentAndSubIdList(employeeId); + } + return Lists.newArrayList(); + } + + private List getMeDepartmentIdList(Long employeeId) { + EmployeeEntity employeeEntity = employeeDao.selectById(employeeId); + return Lists.newArrayList(employeeEntity.getDepartmentId()); + } + + private List getDepartmentAndSubIdList(Long employeeId) { + EmployeeEntity employeeEntity = employeeDao.selectById(employeeId); + List allDepartmentIds = Lists.newArrayList(); + departmentTreeService.buildIdList(employeeEntity.getDepartmentId(), allDepartmentIds); + return allDepartmentIds; + } + + /** + * 根据员工id 获取各数据范围最大的可见范围 map + * + * @param employeeId + * @return + */ + public DataScopeViewTypeEnum getEmployeeDataScopeViewType(DataScopeTypeEnum dataScopeTypeEnum, Long employeeId) { + if (employeeId == null) { + return DataScopeViewTypeEnum.ME; + } + + if (privilegeEmployeeService.isSuperman(employeeId)) { + return DataScopeViewTypeEnum.ALL; + } + List roleIdList = roleEmployeeDao.selectRoleIdByEmployeeId(employeeId); + //未设置角色 默认本人 + if (CollectionUtils.isEmpty(roleIdList)) { + return DataScopeViewTypeEnum.ME; + } + //未设置角色数据范围 默认本人 + List dataScopeRoleList = dataScopeRoleDao.listByRoleIdList(roleIdList); + if (CollectionUtils.isEmpty(dataScopeRoleList)) { + return DataScopeViewTypeEnum.ME; + } + Map> listMap = dataScopeRoleList.stream().collect(Collectors.groupingBy(DataScopeRoleEntity::getDataScopeType)); + List viewLevelList = listMap.get(dataScopeTypeEnum.getValue()); + DataScopeRoleEntity maxLevel = viewLevelList.stream().max(Comparator.comparing(e -> SmartBaseEnumUtil.getEnumByValue(e.getViewType(), DataScopeViewTypeEnum.class).getLevel())).get(); + return SmartBaseEnumUtil.getEnumByValue(maxLevel.getViewType(), DataScopeViewTypeEnum.class); + } + + /** + * 获取本人相关 可查看员工id + * + * @param employeeId + * @return + */ + private List getMeEmployeeIdList(Long employeeId) { + return Lists.newArrayList(employeeId); + } + + /** + * 获取本部门相关 可查看员工id + * + * @param employeeId + * @return + */ + private List getDepartmentEmployeeIdList(Long employeeId) { + EmployeeEntity employeeEntity = employeeDao.selectById(employeeId); + List employeeList = employeeDao.getEmployeeIdByDeptId(employeeEntity.getDepartmentId()); + List employeeIdList = employeeList.stream().map(e -> e.getId()).collect(Collectors.toList()); + return employeeIdList; + } + + /** + * 获取本部门及下属子部门相关 可查看员工id + * + * @param employeeId + * @return + */ + private List getDepartmentAndSubEmployeeIdList(Long employeeId) { + EmployeeEntity employeeEntity = employeeDao.selectById(employeeId); + List allDepartmentIds = Lists.newArrayList(); + departmentTreeService.buildIdList(employeeEntity.getDepartmentId(), allDepartmentIds); + List employeeList = employeeDao.getEmployeeIdByDeptIds(allDepartmentIds); + List employeeIdList = employeeList.stream().map(e -> e.getId()).collect(Collectors.toList()); + return employeeIdList; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/strategy/DataScopePowerStrategy.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/strategy/DataScopePowerStrategy.java new file mode 100644 index 00000000..d12cbf15 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/strategy/DataScopePowerStrategy.java @@ -0,0 +1,24 @@ +package net.lab1024.smartadmin.module.system.datascope.strategy; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeViewTypeEnum; +import net.lab1024.smartadmin.module.system.datascope.domain.dto.DataScopeSqlConfigDTO; + +/** + * [ 数据范围策略 ,使用DataScopeWhereInTypeEnum.CUSTOM_STRATEGY类型,DataScope注解的joinSql属性无用] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2020/11/28 0008 下午 16:00 + * @since JDK1.8 + */ +public abstract class DataScopePowerStrategy { + + /** + * 获取joinsql 字符串 + * @param viewTypeEnum 查看的类型 + * @param sqlConfigDTO + * @return + */ + public abstract String getCondition(DataScopeViewTypeEnum viewTypeEnum, DataScopeSqlConfigDTO sqlConfigDTO); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentController.java new file mode 100644 index 00000000..1a070773 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentController.java @@ -0,0 +1,99 @@ +package net.lab1024.smartadmin.module.system.department; + +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.system.department.domain.dto.DepartmentCreateDTO; +import net.lab1024.smartadmin.module.system.department.domain.dto.DepartmentUpdateDTO; +import net.lab1024.smartadmin.module.system.department.domain.dto.DepartmentVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * 部门管理路由器 + * + * @author listen + * @date 2017/12/19 14:29 + */ +@Api(tags = {SwaggerTagConst.Admin.MANAGER_DEPARTMENT}) +@OperateLog +@RestController +public class DepartmentController { + + @Autowired + private DepartmentService departmentService; + + @ApiOperation(value = "查询部门树形列表", notes = "查询部门列表") + @GetMapping("/department/list") + public ResponseDTO> listDepartment() { + return departmentService.listDepartment(); + } + + @ApiOperation(value = "查询部门及员工列表", notes = "查询部门及员工列表") + @GetMapping("/department/listEmployee") + public ResponseDTO> listDepartmentEmployee() { + return departmentService.listAllDepartmentEmployee(null); + } + + @ApiOperation(value = "根据部门名称查询部门及员工列表", notes = "根据部门名称查询部门及员工列表") + @GetMapping("/department/listEmployeeByDepartmentName") + public ResponseDTO> listDepartmentEmployee(String departmentName) { + return departmentService.listAllDepartmentEmployee(departmentName); + } + + @ApiOperation(value = "添加部门", notes = "添加部门") + @PostMapping("/department/add") + public ResponseDTO addDepartment(@Valid @RequestBody DepartmentCreateDTO departmentCreateDTO) { + return departmentService.addDepartment(departmentCreateDTO); + } + + @ApiOperation(value = "更新部门信息", notes = "更新部门信息") + @PostMapping("/department/update") + public ResponseDTO updateDepartment(@Valid @RequestBody DepartmentUpdateDTO departmentUpdateDTO) { + return departmentService.updateDepartment(departmentUpdateDTO); + } + + @ApiOperation(value = "删除部门", notes = "删除部门") + @PostMapping("/department/delete/{deptId}") + public ResponseDTO delDepartment(@PathVariable Long deptId) { + return departmentService.delDepartment(deptId); + } + + @ApiOperation(value = "获取部门信息", notes = "获取部门") + @GetMapping("/department/query/{deptId}") + public ResponseDTO getDepartment(@PathVariable Long deptId) { + return departmentService.getDepartmentById(deptId); + } + + @ApiOperation(value = "查询部门列表", notes = "查询部门列表") + @GetMapping("/department/listAll") + public ResponseDTO> listAll() { + return departmentService.listAll(); + } + + + @ApiOperation(value = "上下移动") + @GetMapping("/department/upOrDown/{deptId}/{swapId}") + public ResponseDTO upOrDown(@PathVariable Long deptId, @PathVariable Long swapId) { + return departmentService.upOrDown(deptId, swapId); + } + + @ApiOperation(value = "升级") + @GetMapping("/department/upgrade/{deptId}") + public ResponseDTO upgrade(@PathVariable Long deptId) { + return departmentService.upgrade(deptId); + } + + @ApiOperation(value = "降级") + @GetMapping("/department/downgrade/{deptId}/{preId}") + public ResponseDTO downgrade(@PathVariable Long deptId, @PathVariable Long preId) { + return departmentService.downgrade(deptId, preId); + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentDao.java new file mode 100644 index 00000000..d7bc2f77 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentDao.java @@ -0,0 +1,47 @@ +package net.lab1024.smartadmin.module.system.department; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.lab1024.smartadmin.module.system.department.domain.dto.DepartmentVO; +import net.lab1024.smartadmin.module.system.department.domain.entity.DepartmentEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * t_department dao接口 + * + * @author listen + * @date 2017/12/19 10:58 + */ +@Component +@Mapper +public interface DepartmentDao extends BaseMapper { + + /** + * 根据部门id,查询此部门直接子部门的数量 + * + * @param deptId + * @return int 子部门的数量 + */ + Integer countSubDepartment(@Param("deptId") Long deptId); + + /** + * 获取全部部门列表 + * + * @return List + */ + List listAll(); + + /** + * 功能描述: 根据父部门id查询 + * + * @param + * @return + * @auther yandanyang + * @date 2018/8/25 0025 上午 9:46 + */ + List selectByParentId(@Param("departmentId") Long departmentId); + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentResponseCodeConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentResponseCodeConst.java new file mode 100644 index 00000000..a7a219e0 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentResponseCodeConst.java @@ -0,0 +1,39 @@ +package net.lab1024.smartadmin.module.system.department; + +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; + +/** + * 部门返回信息常量类 + * 2001 - 2999 + * + * @author listen + * @date 2017/12/19 18:52 + */ +public class DepartmentResponseCodeConst extends ResponseCodeConst { + + /** + * 部门不存在 1001 + */ + public static final DepartmentResponseCodeConst DEPT_NOT_EXISTS = new DepartmentResponseCodeConst(2001, "部门不存在"); + + /** + * 当前部门有子级部门 不能删除 10003 + */ + public static final DepartmentResponseCodeConst CANNOT_DEL_DEPARTMENT_WITH_CHILD = new + DepartmentResponseCodeConst(2002, "当前部门有子级部门,无法删除!"); + + /** + * 当前部门有员工 不能删除 10004 + */ + public static final DepartmentResponseCodeConst CANNOT_DEL_DEPARTMENT_WITH_EMPLOYEE = new + DepartmentResponseCodeConst(2003, "当前部门有员工,无法删除!"); + + /** + * + */ + public static final DepartmentResponseCodeConst PARENT_ID_ERROR = new DepartmentResponseCodeConst(2004, "上级部门id不能等于当前部门id"); + + public DepartmentResponseCodeConst(int code, String msg) { + super(code, msg); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentService.java new file mode 100644 index 00000000..b5b99ab0 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentService.java @@ -0,0 +1,285 @@ +package net.lab1024.smartadmin.module.system.department; + +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.system.department.domain.dto.DepartmentCreateDTO; +import net.lab1024.smartadmin.module.system.department.domain.dto.DepartmentUpdateDTO; +import net.lab1024.smartadmin.module.system.department.domain.dto.DepartmentVO; +import net.lab1024.smartadmin.module.system.department.domain.entity.DepartmentEntity; +import net.lab1024.smartadmin.module.system.employee.EmployeeDao; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 部门管理业务类 + * + * @author listen + * @date 2017/12/19 14:25 + */ +@Service +public class DepartmentService { + + @Autowired + private DepartmentDao departmentDao; + + @Autowired + private EmployeeDao employeeDao; + + @Autowired + private DepartmentTreeService departmentTreeService; + + /** + * 获取部门树形结构 + * + * @return + */ + public ResponseDTO> listDepartment() { + List departmentVOList = departmentDao.listAll(); + List result = departmentTreeService.buildTree(departmentVOList); + return ResponseDTO.succData(result); + } + + /** + * 获取所有部门和员工信息 + * + * @param departmentName + * @return + */ + public ResponseDTO> listAllDepartmentEmployee(String departmentName) { + + // 获取全部部门列表 + List departmentVOList = departmentDao.listAll(); + if (StringUtils.isNotBlank(departmentName)) { + // 检索条件不为空的时候 过滤部门列表 + departmentVOList = filterDepartment(departmentVOList, departmentName); + } + + Map departmentMap = departmentVOList.stream().collect(Collectors.toMap(DepartmentVO::getId, Function.identity())); + // 获取全部员工列表 + List employeeList = employeeDao.listAll(); + employeeList.forEach(employeeDTO -> { + + DepartmentVO departmentVO = departmentMap.get(employeeDTO.getDepartmentId()); + if (null == departmentVO) { + return; + } + List employeeDTOList = departmentVO.getEmployees(); + if (null == employeeDTOList) { + employeeDTOList = new ArrayList<>(); + } + employeeDTOList.add(employeeDTO); + departmentVO.setEmployees(employeeDTOList); + }); + List result = departmentTreeService.buildTree(departmentVOList); + return ResponseDTO.succData(result); + } + + /** + * 过滤部门名称,获取过滤后的结果 + * + * @author lidoudou + * @date 2019/4/28 20:17 + */ + private List filterDepartment(List departmentVOList, String departmentName) { + Map departmentMap = new HashMap<>(); + departmentVOList.forEach(item -> { + if (item.getName().indexOf(departmentName) < 0) { + return; + } + // 当前部门包含关键字 + departmentMap.put(item.getId(), item); + Long parentId = item.getParentId(); + if (null != parentId) { + List filterResult = new ArrayList<>(); + getParentDepartment(departmentVOList, parentId, filterResult); + for (DepartmentVO dto : filterResult) { + if (!departmentMap.containsKey(dto.getId())) { + departmentMap.put(dto.getId(), dto); + } + } + } + }); + return departmentMap.values().stream().collect(Collectors.toList()); + } + + private List getParentDepartment(List departmentVOList, Long parentId, List result) { + List deptList = departmentVOList.stream().filter(e -> e.getId().equals(parentId)).collect(Collectors.toList()); + for (DepartmentVO item : deptList) { + result.add(item); + if (item.getParentId() != 0 && item.getParentId() != null) { + result.addAll(getParentDepartment(departmentVOList, item.getParentId(), result)); + } + } + return result; + } + + /** + * 新增添加部门 + * + * @param departmentCreateDTO + * @return AjaxResult + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO addDepartment(DepartmentCreateDTO departmentCreateDTO) { + DepartmentEntity departmentEntity = SmartBeanUtil.copy(departmentCreateDTO, DepartmentEntity.class); + departmentEntity.setSort(0L); + departmentDao.insert(departmentEntity); + departmentEntity.setSort(departmentEntity.getId()); + departmentDao.updateById(departmentEntity); + return ResponseDTO.succ(); + } + + /** + * 更新部门信息 + * + * @param updateDTO + * @return AjaxResult + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO updateDepartment(DepartmentUpdateDTO updateDTO) { + if (updateDTO.getParentId() == null) { + return ResponseDTO.wrap(DepartmentResponseCodeConst.PARENT_ID_ERROR); + } + DepartmentEntity entity = departmentDao.selectById(updateDTO.getId()); + if (entity == null) { + return ResponseDTO.wrap(DepartmentResponseCodeConst.NOT_EXISTS); + } + DepartmentEntity departmentEntity = SmartBeanUtil.copy(updateDTO, DepartmentEntity.class); + departmentEntity.setSort(entity.getSort()); + departmentDao.updateById(departmentEntity); + return ResponseDTO.succ(); + } + + /** + * 根据id删除部门 + * 1、需要判断当前部门是否有子部门,有子部门则不允许删除 + * 2、需要判断当前部门是否有员工,有员工则不能删除 + * + * @param deptId + * @return + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO delDepartment(Long deptId) { + DepartmentEntity departmentEntity = departmentDao.selectById(deptId); + if (null == departmentEntity) { + return ResponseDTO.wrap(DepartmentResponseCodeConst.DEPT_NOT_EXISTS); + } + // 是否有子级部门 + int subDepartmentNum = departmentDao.countSubDepartment(deptId); + if (subDepartmentNum > 0) { + return ResponseDTO.wrap(DepartmentResponseCodeConst.CANNOT_DEL_DEPARTMENT_WITH_CHILD); + } + + // 是否有未删除员工 + int employeeNum = employeeDao.countByDepartmentId(deptId, false); + if (employeeNum > 0) { + return ResponseDTO.wrap(DepartmentResponseCodeConst.CANNOT_DEL_DEPARTMENT_WITH_EMPLOYEE); + } + departmentDao.deleteById(deptId); + return ResponseDTO.succ(); + } + + /** + * 根据id获取部门信息 + * + * @param departmentId + * @return AjaxResult + */ + public ResponseDTO getDepartmentById(Long departmentId) { + DepartmentEntity departmentEntity = departmentDao.selectById(departmentId); + if (departmentEntity == null) { + return ResponseDTO.wrap(DepartmentResponseCodeConst.DEPT_NOT_EXISTS); + } + DepartmentVO departmentVO = SmartBeanUtil.copy(departmentEntity, DepartmentVO.class); + return ResponseDTO.succData(departmentVO); + } + + /** + * 获取所有部门 + * + * @return + */ + public ResponseDTO> listAll() { + List departmentVOList = departmentDao.listAll(); + return ResponseDTO.succData(departmentVOList); + } + + /** + * 上下移动 + * + * @param departmentId + * @param swapId + * @return + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO upOrDown(Long departmentId, Long swapId) { + DepartmentEntity departmentEntity = departmentDao.selectById(departmentId); + if (departmentEntity == null) { + return ResponseDTO.wrap(DepartmentResponseCodeConst.NOT_EXISTS); + } + DepartmentEntity swapEntity = departmentDao.selectById(swapId); + if (swapEntity == null) { + return ResponseDTO.wrap(DepartmentResponseCodeConst.NOT_EXISTS); + } + Long departmentSort = departmentEntity.getSort(); + departmentEntity.setSort(swapEntity.getSort()); + departmentDao.updateById(departmentEntity); + swapEntity.setSort(departmentSort); + departmentDao.updateById(swapEntity); + return ResponseDTO.succ(); + } + + /** + * 部门升级 + * + * @param departmentId + * @return + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO upgrade(Long departmentId) { + DepartmentEntity departmentEntity = departmentDao.selectById(departmentId); + if (departmentEntity == null) { + return ResponseDTO.wrap(DepartmentResponseCodeConst.NOT_EXISTS); + } + if (departmentEntity.getParentId() == null || departmentEntity.getParentId().equals(0)) { + return ResponseDTO.wrap(DepartmentResponseCodeConst.ERROR_PARAM, "此部门已经是根节点无法移动"); + } + DepartmentEntity parentEntity = departmentDao.selectById(departmentEntity.getParentId()); + + departmentEntity.setParentId(parentEntity.getParentId()); + departmentDao.updateById(departmentEntity); + return ResponseDTO.succ(); + } + + /** + * 部门降级 + * + * @param departmentId + * @param preId + * @return + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO downgrade(Long departmentId, Long preId) { + DepartmentEntity departmentEntity = departmentDao.selectById(departmentId); + if (departmentEntity == null) { + return ResponseDTO.wrap(DepartmentResponseCodeConst.NOT_EXISTS); + } + DepartmentEntity preEntity = departmentDao.selectById(preId); + if (preEntity == null) { + return ResponseDTO.wrap(DepartmentResponseCodeConst.NOT_EXISTS); + } + departmentEntity.setParentId(preEntity.getId()); + departmentDao.updateById(departmentEntity); + return ResponseDTO.succ(); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentTreeService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentTreeService.java new file mode 100644 index 00000000..b34a2678 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/DepartmentTreeService.java @@ -0,0 +1,99 @@ +package net.lab1024.smartadmin.module.system.department; + +import net.lab1024.smartadmin.module.system.department.domain.dto.DepartmentVO; +import com.google.common.collect.Lists; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/29 0029 下午 13:52 + * @since JDK1.8 + */ +@Service +public class DepartmentTreeService { + + @Autowired + private DepartmentDao departmentDao; + + /** + * 构建部门树结构 + * @param departmentVOList + * @return + */ + public List buildTree(List departmentVOList) { + if(CollectionUtils.isEmpty(departmentVOList)){ + return Lists.newArrayList(); + } + List list = departmentVOList.stream().filter(e -> e.getParentId() == null || e.getParentId() == 0).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(list)){ + return Lists.newArrayList(); + } + this.buildTree(list,departmentVOList); + return list; + } + + private void buildTree(List nodeList,List departmentVOList){ + int nodeSize = nodeList.size(); + for(int i =0 ;i< nodeSize;i++){ + int preIndex = i-1; + int nextIndex = i+1; + DepartmentVO node = nodeList.get(i); + if(preIndex>-1){ + node.setPreId(nodeList.get(preIndex).getId()); + } + if(nextIndex departmentVOList) { + List children = getChildren(node, departmentVOList); + if (CollectionUtils.isNotEmpty(children)) { + node.setChildrenDepartment(children); + this.buildTree(children,departmentVOList); + } + } + + private List getChildren(DepartmentVO node, List departmentVOList) { + Long id = node.getId(); + return departmentVOList.stream().filter(e -> id.equals(e.getParentId())).collect(Collectors.toList()); + } + + + + /** + * 通过部门id,获取当前以及下属部门 + */ + public void buildIdList(Long deptId, List result) { + List departmentVOList = departmentDao.listAll(); + result.add(deptId); + if (null == deptId) { + result.addAll(departmentVOList.stream().map(DepartmentVO::getId).collect(Collectors.toList())); + return; + } + List children = getChildrenIdList(deptId, departmentVOList); + if (!children.isEmpty()) { + result.addAll(children.stream().map(DepartmentVO::getId).collect(Collectors.toList())); + for (DepartmentVO child : children) { + buildTree(child, departmentVOList); + } + } + } + + private List getChildrenIdList(Long deptId, List departmentVOList) { + return departmentVOList.stream().filter(e -> deptId.equals(e.getParentId())).collect(Collectors.toList()); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/dto/DepartmentCreateDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/dto/DepartmentCreateDTO.java new file mode 100644 index 00000000..3e80003c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/dto/DepartmentCreateDTO.java @@ -0,0 +1,38 @@ +package net.lab1024.smartadmin.module.system.department.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotNull; + +/** + * + * [ ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Data +public class DepartmentCreateDTO { + + + @ApiModelProperty("部门名称") + @Length(min = 1, max = 50, message = "请输入正确的部门名称(1-50个字符)") + @NotNull(message = "请输入正确的部门名称(1-50个字符)") + private String name; + + @ApiModelProperty("部门简称") + private String shortName; + + @ApiModelProperty("部门负责人id") + private Long managerId; + + @ApiModelProperty("上级部门id (可选)") + private Long parentId; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/dto/DepartmentUpdateDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/dto/DepartmentUpdateDTO.java new file mode 100644 index 00000000..f1b108a8 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/dto/DepartmentUpdateDTO.java @@ -0,0 +1,25 @@ +package net.lab1024.smartadmin.module.system.department.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Data +public class DepartmentUpdateDTO extends DepartmentCreateDTO { + + @ApiModelProperty("部门id") + @NotNull(message = "部门id不能为空") + private Long id; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/dto/DepartmentVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/dto/DepartmentVO.java new file mode 100644 index 00000000..067e174d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/dto/DepartmentVO.java @@ -0,0 +1,58 @@ +package net.lab1024.smartadmin.module.system.department.domain.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +public class DepartmentVO { + + @ApiModelProperty("部门id") + private Long id; + + @ApiModelProperty("部门名称") + private String name; + + @ApiModelProperty("部门简称") + private String shortName; + + @ApiModelProperty("部门负责人姓名") + private String managerName; + + @ApiModelProperty("部门负责人id") + private Long managerId; + + @ApiModelProperty("子部门") + @JsonProperty("children") + private List childrenDepartment; + + @ApiModelProperty("父级部门id") + private Long parentId; + + @ApiModelProperty("同级上一个元素id") + private Long preId; + + @ApiModelProperty("同级下一个元素id") + private Long nextId; + + @ApiModelProperty("排序") + private Long sort; + + @ApiModelProperty("父级部门名称") + private String parentName; + + @ApiModelProperty("部门员工列表") + private List employees; + + @ApiModelProperty("上次更新时间") + private Date updateTime; + + @ApiModelProperty("创建时间") + private Date createTime; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/entity/DepartmentEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/entity/DepartmentEntity.java new file mode 100644 index 00000000..26023788 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/department/domain/entity/DepartmentEntity.java @@ -0,0 +1,48 @@ +package net.lab1024.smartadmin.module.system.department.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +import java.io.Serializable; + +/** + * 部门实体类 + * t_department 数据表 + * + * @author listen + * @date 2017/12/19 10:45 + */ +@Data +@TableName(value = "t_department") +public class DepartmentEntity extends BaseEntity implements Serializable { + + private static final long serialVersionUID = -6787726615141147044L; + + /** + * 部门名称 + */ + private String name; + + /** + * 部门简称 + */ + private String shortName; + + /** + * 负责人员工 id + */ + private Long managerId; + + /** + * 部门父级id + */ + private Long parentId; + + /** + * 排序 + */ + private Long sort; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeController.java new file mode 100644 index 00000000..33c788e1 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeController.java @@ -0,0 +1,103 @@ +package net.lab1024.smartadmin.module.system.employee; + +import net.lab1024.smartadmin.common.anno.NoValidPrivilege; +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.system.employee.domain.dto.*; +import net.lab1024.smartadmin.module.system.employee.domain.vo.EmployeeVO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.util.SmartRequestTokenUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * 员工管理 + * + * @author lidoudou + * @date 2017年12月19日上午11:34:52 + */ +@RestController +@Api(tags = {SwaggerTagConst.Admin.MANAGER_USER}) +@OperateLog +public class EmployeeController { + + @Autowired + private EmployeeService employeeService; + + @PostMapping("/employee/query") + @ApiOperation(value = "员工管理查询", notes = "员工管理查询 @author lidoudou") + public ResponseDTO> query(@RequestBody EmployeeQueryDTO query) { + return employeeService.selectEmployeeList(query); + } + + @GetMapping("/employee/get/all") + @ApiOperation(value = "查询所有员工基本信息,用于选择框", notes = "查询所有员工基本信息,用于选择框") + @NoValidPrivilege + public ResponseDTO> getAll() { + return ResponseDTO.succData(employeeService.getAllEmployee()); + } + + @ApiOperation(value = "添加员工", notes = "@author yandanyang") + @PostMapping("/employee/add") + public ResponseDTO addEmployee(@Valid @RequestBody EmployeeAddDTO emp) { + RequestTokenBO requestToken = SmartRequestTokenUtil.getRequestUser(); + return employeeService.addEmployee(emp, requestToken); + } + + @ApiOperation(value = "禁用单个员工", notes = "@author yandanyang") + @GetMapping("/employee/updateStatus/{employeeId}/{status}") + public ResponseDTO updateStatus(@PathVariable("employeeId") Long employeeId, @PathVariable("status") Integer status) { + return employeeService.updateStatus(employeeId, status); + } + + @ApiOperation(value = "批量禁用", notes = "@author yandanyang") + @PostMapping("/employee/batchUpdateStatus") + public ResponseDTO batchUpdateStatus(@Valid @RequestBody EmployeeBatchUpdateStatusDTO batchUpdateStatusDTO) { + return employeeService.batchUpdateStatus(batchUpdateStatusDTO); + } + + @ApiOperation(value = "更新员工信息", notes = "@author yandanyang") + @PostMapping("/employee/update") + public ResponseDTO updateEmployee(@Valid @RequestBody EmployeeUpdateDTO employeeUpdateDto) { + return employeeService.updateEmployee(employeeUpdateDto); + } + + @ApiOperation(value = "删除员工信息", notes = "@author yandanyang") + @PostMapping("/employee/delete/{employeeId}") + public ResponseDTO deleteEmployeeById(@PathVariable("employeeId") Long employeeId) { + return employeeService.deleteEmployeeById(employeeId); + } + + @ApiOperation(value = "单个员工角色授权", notes = "@author yandanyang") + @PostMapping("/employee/updateRoles") + public ResponseDTO updateRoles(@Valid @RequestBody EmployeeUpdateRolesDTO updateRolesDTO) { + return employeeService.updateRoles(updateRolesDTO); + } + + @ApiOperation(value = "修改密码", notes = "@author yandanyang") + @PostMapping("/employee/updatePwd") + public ResponseDTO updatePwd(@Valid @RequestBody EmployeeUpdatePwdDTO updatePwdDTO) { + RequestTokenBO requestToken = SmartRequestTokenUtil.getRequestUser(); + return employeeService.updatePwd(updatePwdDTO, requestToken); + } + + @ApiOperation(value = "通过部门id获取当前部门的人员&没有部门的人", notes = "@author yandanyang") + @GetMapping("/employee/listEmployeeByDeptId/{deptId}") + public ResponseDTO> listEmployeeByDeptId(@PathVariable Long deptId) { + return employeeService.getEmployeeByDeptId(deptId); + } + + @ApiOperation(value = "员工重置密码", notes = "@author lizongliang") + @GetMapping("/employee/resetPasswd/{employeeId}") + public ResponseDTO resetPasswd(@PathVariable("employeeId") Integer employeeId) { + return employeeService.resetPasswd(employeeId); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeDao.java new file mode 100644 index 00000000..d77779ea --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeDao.java @@ -0,0 +1,138 @@ +package net.lab1024.smartadmin.module.system.employee; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeQueryDTO; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeQueryExportDTO; +import net.lab1024.smartadmin.module.system.employee.domain.entity.EmployeeEntity; +import net.lab1024.smartadmin.module.system.employee.domain.vo.EmployeeVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.Collection; +import java.util.List; + +/** + * 员工dao接口 + * + * @author lidoudou + * @date 2017年12月19日下午1:36:30 + */ +@Mapper +@Component +public interface EmployeeDao extends BaseMapper { + /** + * 查询员工列表 + * + * @param page + * @param queryDTO + * @return + */ + List selectEmployeeList(Page page, @Param("queryDTO") EmployeeQueryDTO queryDTO); + + /** + * 不带分页查询员工列表 + * + * @param queryDTO + * @return + */ + List selectEmployeeList(@Param("queryDTO") EmployeeQueryExportDTO queryDTO); + + /** + * 批量更新禁用状态 + * + * @param employeeIds + * @param isDisabled + */ + void batchUpdateStatus(@Param("employeeIds") List employeeIds, @Param("isDisabled") Integer isDisabled); + + /** + * 登录 + * + * @param loginName + * @param loginPwd + * @return + */ + EmployeeDTO login(@Param("loginName") String loginName, @Param("loginPwd") String loginPwd); + + /** + * 通过登录名查询 + * + * @param loginName + * @param isDisabled + * @return + */ + EmployeeDTO getByLoginName(@Param("loginName") String loginName, @Param("isDisabled") Integer isDisabled); + + /** + * 通过手机号查询 + * + * @param phone + * @param isDisabled + * @return + */ + EmployeeDTO getByPhone(@Param("phone") String phone, @Param("isDisabled") Integer isDisabled); + + /** + * 获取所有员工 + * + * @return + */ + List listAll(); + + /** + * 获取某个部门员工数 + * + * @param depId + * @param deleteFlag 可以null + * @return + */ + Integer countByDepartmentId(@Param("depId") Long depId, @Param("deleteFlag") Boolean deleteFlag); + + /** + * 获取一批员工 + * + * @param employeeIds + * @return + */ + List getEmployeeByIds(@Param("ids") Collection employeeIds); + + + EmployeeDTO getEmployeeById(@Param("id") Long employeeId); + + /** + * 获取某个部门的员工 + * + * @param departmentId + * @return + */ + List getEmployeeIdByDeptId(@Param("departmentId") Long departmentId); + + /** + * 获取某批部门的员工 + * + * @param departmentIds + * @return + */ + List getEmployeeIdByDeptIds(@Param("departmentIds") List departmentIds); + + + /** + * 员工重置密码 + * + * @param employeeId + * @param password + * @return + */ + Integer updatePassword(@Param("employeeId") Integer employeeId, @Param("password") String password); + + + /** + * 查询所有员工 + * + * @return + */ + List selectAll(); +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeService.java new file mode 100644 index 00000000..a689bea2 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeService.java @@ -0,0 +1,369 @@ +package net.lab1024.smartadmin.module.system.employee; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.common.collect.Lists; +import net.lab1024.smartadmin.common.constant.JudgeEnum; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.CommonConst; +import net.lab1024.smartadmin.module.system.department.DepartmentDao; +import net.lab1024.smartadmin.module.system.department.domain.entity.DepartmentEntity; +import net.lab1024.smartadmin.module.system.employee.constant.EmployeeResponseCodeConst; +import net.lab1024.smartadmin.module.system.employee.constant.EmployeeStatusEnum; +import net.lab1024.smartadmin.module.system.employee.domain.bo.EmployeeBO; +import net.lab1024.smartadmin.module.system.employee.domain.dto.*; +import net.lab1024.smartadmin.module.system.employee.domain.entity.EmployeeEntity; +import net.lab1024.smartadmin.module.system.employee.domain.vo.EmployeeVO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.position.PositionDao; +import net.lab1024.smartadmin.module.system.position.PositionService; +import net.lab1024.smartadmin.module.system.position.domain.dto.PositionRelationAddDTO; +import net.lab1024.smartadmin.module.system.position.domain.dto.PositionRelationResultDTO; +import net.lab1024.smartadmin.module.system.privilege.service.PrivilegeEmployeeService; +import net.lab1024.smartadmin.module.system.role.roleemployee.RoleEmployeeDao; +import net.lab1024.smartadmin.module.system.role.roleemployee.domain.RoleEmployeeEntity; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartDigestUtil; +import net.lab1024.smartadmin.util.SmartPageUtil; +import net.lab1024.smartadmin.util.SmartVerificationUtil; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.map.HashedMap; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +/** + * 员工管理 + * + * @author lidoudou + * @date 2017年12月21日上午11:54:52 + */ +@Service +public class EmployeeService { + + private static final String RESET_PASSWORD = "123456"; + + @Autowired + private EmployeeDao employeeDao; + + @Autowired + private DepartmentDao departmentDao; + + @Autowired + private RoleEmployeeDao roleEmployeeDao; + + @Autowired + private PositionService positionService; + + @Autowired + private PositionDao positionDao; + + @Autowired + private PrivilegeEmployeeService privilegeEmployeeService; + + /** + * 员工基本信息的缓存 + */ + private static final ConcurrentHashMap employeeCache = new ConcurrentHashMap<>(); + + public List getAllEmployee() { + return employeeDao.selectAll(); + } + + public EmployeeBO getById(Long id) { + EmployeeBO employeeBO = employeeCache.get(id); + if (employeeBO == null) { + EmployeeEntity employeeEntity = employeeDao.selectById(id); + if (employeeEntity != null) { + Boolean superman = privilegeEmployeeService.isSuperman(id); + employeeBO = new EmployeeBO(employeeEntity, superman); + employeeCache.put(employeeEntity.getId(), employeeBO); + } + } + return employeeBO; + } + + /** + * 查询员工列表 + * + * @param queryDTO + * @return + */ + public ResponseDTO> selectEmployeeList(EmployeeQueryDTO queryDTO) { + Page pageParam = SmartPageUtil.convert2QueryPage(queryDTO); + queryDTO.setIsDelete(JudgeEnum.NO.getValue()); + List employeeList = employeeDao.selectEmployeeList(pageParam, queryDTO); + List employeeIdList = employeeList.stream().map(EmployeeDTO::getId).collect(Collectors.toList()); + + if (CollectionUtils.isNotEmpty(employeeIdList)) { + List positionRelationResultDTOList = positionDao.selectEmployeesRelation(employeeIdList); + Map> employeePositionMap = new HashedMap(); + + for (PositionRelationResultDTO positionRelationResultDTO : positionRelationResultDTOList) { + List relationResultDTOList = employeePositionMap.get(positionRelationResultDTO.getEmployeeId()); + //匹配对应的岗位 + if (relationResultDTOList == null) { + relationResultDTOList = new ArrayList<>(); + employeePositionMap.put(positionRelationResultDTO.getEmployeeId(), relationResultDTOList); + } + relationResultDTOList.add(positionRelationResultDTO); + } + + for (EmployeeDTO employeeDTO : employeeList) { + List relationResultDTOList = employeePositionMap.get(employeeDTO.getId()); + if (relationResultDTOList != null) { + employeeDTO.setPositionRelationList(relationResultDTOList); + employeeDTO.setPositionName(relationResultDTOList.stream().map(PositionRelationResultDTO::getPositionName).collect(Collectors.joining(","))); + } + } + } + return ResponseDTO.succData(SmartPageUtil.convert2PageResult(pageParam, employeeList, EmployeeVO.class)); + } + + /** + * 新增员工 + * + * @param employeeAddDto + * @param requestToken + * @return + */ + public ResponseDTO addEmployee(EmployeeAddDTO employeeAddDto, RequestTokenBO requestToken) { + EmployeeEntity entity = SmartBeanUtil.copy(employeeAddDto, EmployeeEntity.class); + if (StringUtils.isNotEmpty(employeeAddDto.getIdCard())) { + boolean checkResult = Pattern.matches(SmartVerificationUtil.ID_CARD, employeeAddDto.getIdCard()); + if (!checkResult) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.ID_CARD_ERROR); + } + } + if (StringUtils.isNotEmpty(employeeAddDto.getBirthday())) { + boolean checkResult = Pattern.matches(SmartVerificationUtil.DATE, employeeAddDto.getBirthday()); + if (!checkResult) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.BIRTHDAY_ERROR); + } + } + //同名员工 + EmployeeDTO sameNameEmployee = employeeDao.getByLoginName(entity.getLoginName(), EmployeeStatusEnum.NORMAL.getValue()); + if (null != sameNameEmployee) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.LOGIN_NAME_EXISTS); + } + //同电话员工 + EmployeeDTO samePhoneEmployee = employeeDao.getByPhone(entity.getPhone(), EmployeeStatusEnum.NORMAL.getValue()); + if (null != samePhoneEmployee) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.PHONE_EXISTS); + } + Long departmentId = entity.getDepartmentId(); + DepartmentEntity department = departmentDao.selectById(departmentId); + if (department == null) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.DEPT_NOT_EXIST); + } + + //如果没有密码 默认设置为123456 + String pwd = entity.getLoginPwd(); + if (StringUtils.isBlank(pwd)) { + entity.setLoginPwd(SmartDigestUtil.encryptPassword(CommonConst.Password.SALT_FORMAT, RESET_PASSWORD)); + } else { + entity.setLoginPwd(SmartDigestUtil.encryptPassword(CommonConst.Password.SALT_FORMAT, entity.getLoginPwd())); + } + + entity.setCreateUser(requestToken.getRequestUserId()); + if (StringUtils.isEmpty(entity.getBirthday())) { + entity.setBirthday(null); + } + employeeDao.insert(entity); + + PositionRelationAddDTO positionRelAddDTO = new PositionRelationAddDTO(employeeAddDto.getPositionIdList(), entity.getId()); + //存储所选岗位信息 + positionService.addPositionRelation(positionRelAddDTO); + + return ResponseDTO.succ(); + } + + /** + * 更新禁用状态 + * + * @param employeeId + * @param status + * @return + */ + public ResponseDTO updateStatus(Long employeeId, Integer status) { + if (null == employeeId) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.EMP_NOT_EXISTS); + } + EmployeeBO entity = getById(employeeId); + if (null == entity) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.EMP_NOT_EXISTS); + } + List empIds = Lists.newArrayList(); + empIds.add(employeeId); + employeeDao.batchUpdateStatus(empIds, status); + employeeCache.remove(employeeId); + return ResponseDTO.succ(); + } + + /** + * 批量更新员工状态 + * + * @param batchUpdateStatusDTO + * @return + */ + public ResponseDTO batchUpdateStatus(EmployeeBatchUpdateStatusDTO batchUpdateStatusDTO) { + employeeDao.batchUpdateStatus(batchUpdateStatusDTO.getEmployeeIds(), batchUpdateStatusDTO.getStatus()); + if (batchUpdateStatusDTO.getEmployeeIds() != null) { + batchUpdateStatusDTO.getEmployeeIds().forEach(e -> employeeCache.remove(e)); + } + return ResponseDTO.succ(); + } + + /** + * 更新员工 + * + * @param updateDTO + * @return + */ + public ResponseDTO updateEmployee(EmployeeUpdateDTO updateDTO) { + Long employeeId = updateDTO.getId(); + EmployeeEntity employeeEntity = employeeDao.selectById(employeeId); + if (null == employeeEntity) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.EMP_NOT_EXISTS); + } + if (StringUtils.isNotBlank(updateDTO.getIdCard())) { + boolean checkResult = Pattern.matches(SmartVerificationUtil.ID_CARD, updateDTO.getIdCard()); + if (!checkResult) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.ID_CARD_ERROR); + } + } + if (StringUtils.isNotEmpty(updateDTO.getBirthday())) { + boolean checkResult = Pattern.matches(SmartVerificationUtil.DATE, updateDTO.getBirthday()); + if (!checkResult) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.BIRTHDAY_ERROR); + } + } + Long departmentId = updateDTO.getDepartmentId(); + DepartmentEntity departmentEntity = departmentDao.selectById(departmentId); + if (departmentEntity == null) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.DEPT_NOT_EXIST); + } + EmployeeDTO sameNameEmployee = employeeDao.getByLoginName(updateDTO.getLoginName(), EmployeeStatusEnum.NORMAL.getValue()); + if (null != sameNameEmployee && !sameNameEmployee.getId().equals(employeeId)) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.LOGIN_NAME_EXISTS); + } + EmployeeDTO samePhoneEmployee = employeeDao.getByPhone(updateDTO.getLoginName(), EmployeeStatusEnum.NORMAL.getValue()); + if (null != samePhoneEmployee && !samePhoneEmployee.getId().equals(employeeId)) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.PHONE_EXISTS); + } + String newPwd = updateDTO.getLoginPwd(); + if (!StringUtils.isBlank(newPwd)) { + updateDTO.setLoginPwd(SmartDigestUtil.encryptPassword(CommonConst.Password.SALT_FORMAT, updateDTO.getLoginPwd())); + } else { + updateDTO.setLoginPwd(employeeEntity.getLoginPwd()); + } + EmployeeEntity entity = SmartBeanUtil.copy(updateDTO, EmployeeEntity.class); + entity.setUpdateTime(new Date()); + if (StringUtils.isEmpty(entity.getBirthday())) { + entity.setBirthday(null); + } + if (CollectionUtils.isNotEmpty(updateDTO.getPositionIdList())) { + //删除旧的关联关系 添加新的关联关系 + positionService.removePositionRelation(entity.getId()); + PositionRelationAddDTO positionRelAddDTO = new PositionRelationAddDTO(updateDTO.getPositionIdList(), entity.getId()); + positionService.addPositionRelation(positionRelAddDTO); + } + entity.setIsDisabled(employeeEntity.getIsDisabled()); + entity.setIsLeave(employeeEntity.getIsLeave()); + entity.setCreateUser(employeeEntity.getCreateUser()); + entity.setCreateTime(employeeEntity.getCreateTime()); + entity.setUpdateTime(new Date()); + employeeDao.updateById(entity); + employeeCache.remove(employeeId); + return ResponseDTO.succ(); + } + + /** + * 删除员工 + * + * @param employeeId 员工ID + * @return + */ + public ResponseDTO deleteEmployeeById(Long employeeId) { + EmployeeEntity employeeEntity = employeeDao.selectById(employeeId); + if (null == employeeEntity) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.EMP_NOT_EXISTS); + } + //假删 + employeeEntity.setIsDelete(JudgeEnum.YES.getValue().longValue()); + employeeDao.updateById(employeeEntity); + employeeCache.remove(employeeId); + return ResponseDTO.succ(); + } + + /** + * 更新用户角色 + * + * @param updateRolesDTO + * @return + */ + public ResponseDTO updateRoles(EmployeeUpdateRolesDTO updateRolesDTO) { + roleEmployeeDao.deleteByEmployeeId(updateRolesDTO.getEmployeeId()); + if (CollectionUtils.isNotEmpty(updateRolesDTO.getRoleIds())) { + List roleEmployeeEntities = Lists.newArrayList(); + RoleEmployeeEntity roleEmployeeEntity; + for (Long roleId : updateRolesDTO.getRoleIds()) { + roleEmployeeEntity = new RoleEmployeeEntity(); + roleEmployeeEntity.setEmployeeId(updateRolesDTO.getEmployeeId()); + roleEmployeeEntity.setRoleId(roleId); + roleEmployeeEntities.add(roleEmployeeEntity); + } + roleEmployeeDao.batchInsert(roleEmployeeEntities); + } + return ResponseDTO.succ(); + } + + /** + * 更新密码 + * + * @param updatePwdDTO + * @param requestToken + * @return + */ + public ResponseDTO updatePwd(EmployeeUpdatePwdDTO updatePwdDTO, RequestTokenBO requestToken) { + Long employeeId = requestToken.getRequestUserId(); + EmployeeEntity employee = employeeDao.selectById(employeeId); + if (employee == null) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.EMP_NOT_EXISTS); + } + if (!employee.getLoginPwd().equals(SmartDigestUtil.encryptPassword(CommonConst.Password.SALT_FORMAT, updatePwdDTO.getOldPwd()))) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.PASSWORD_ERROR); + } + employee.setLoginPwd(SmartDigestUtil.encryptPassword(CommonConst.Password.SALT_FORMAT, updatePwdDTO.getPwd())); + employeeDao.updateById(employee); + employeeCache.remove(employeeId); + return ResponseDTO.succ(); + } + + public ResponseDTO> getEmployeeByDeptId(Long departmentId) { + List list = employeeDao.getEmployeeIdByDeptId(departmentId); + return ResponseDTO.succData(list); + } + + /** + * 重置密码 + * + * @param employeeId + * @return + */ + public ResponseDTO resetPasswd(Integer employeeId) { + String md5Password = SmartDigestUtil.encryptPassword(CommonConst.Password.SALT_FORMAT, RESET_PASSWORD); + employeeDao.updatePassword(employeeId, md5Password); + employeeCache.remove(employeeId); + return ResponseDTO.succ(); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/constant/EmployeeResponseCodeConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/constant/EmployeeResponseCodeConst.java new file mode 100644 index 00000000..379b8be7 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/constant/EmployeeResponseCodeConst.java @@ -0,0 +1,61 @@ +package net.lab1024.smartadmin.module.system.employee.constant; + +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; + +/** + * 员工常量类 + * 3001-3999 + * + * @author lidoudou + * @date 2017年12月19日下午19:04:52 + */ +public class EmployeeResponseCodeConst extends ResponseCodeConst { + + /** + * 员工不存在 + */ + public static final EmployeeResponseCodeConst EMP_NOT_EXISTS = new EmployeeResponseCodeConst(3001, "员工不存在!"); + + /** + * 更新员工信息失败 + */ + public static final EmployeeResponseCodeConst UPDATE_FAILED = new EmployeeResponseCodeConst(3002, "员工更新失败!"); + + /** + * 部门信息不存在 + */ + public static final EmployeeResponseCodeConst DEPT_NOT_EXIST = new EmployeeResponseCodeConst(3003, "部门信息不存在!"); + + /** + * 用户名或密码错误 + */ + public static final EmployeeResponseCodeConst LOGIN_FAILED = new EmployeeResponseCodeConst(3004, "用户名或密码错误!"); + + /** + * 您的账号已被禁用,不得登录系统 + */ + public static final EmployeeResponseCodeConst IS_DISABLED = new EmployeeResponseCodeConst(3005, "您的账号已被禁用,不得登录系统!"); + + /** + * 登录名已存在 + */ + public static final EmployeeResponseCodeConst LOGIN_NAME_EXISTS = new EmployeeResponseCodeConst(3006, "登录名已存在!"); + /** + * 密码输入有误,请重新输入 10115 + */ + public static final EmployeeResponseCodeConst PASSWORD_ERROR = new EmployeeResponseCodeConst(3007, "密码输入有误,请重新输入"); + /** + * 手机号已存在 + */ + public static final EmployeeResponseCodeConst PHONE_EXISTS = new EmployeeResponseCodeConst(3008, "手机号已经存在"); + + public static final EmployeeResponseCodeConst ID_CARD_ERROR = new EmployeeResponseCodeConst(3009, "请输入正确的身份证号"); + + public static final EmployeeResponseCodeConst BIRTHDAY_ERROR = new EmployeeResponseCodeConst(3010, "生日格式不正确"); + + public static final EmployeeResponseCodeConst VERIFICATION_CODE_INVALID = new EmployeeResponseCodeConst(3011, "验证码无效"); + + public EmployeeResponseCodeConst(int code, String msg) { + super(code, msg); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/constant/EmployeeStatusEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/constant/EmployeeStatusEnum.java new file mode 100644 index 00000000..3c07ce72 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/constant/EmployeeStatusEnum.java @@ -0,0 +1,56 @@ +package net.lab1024.smartadmin.module.system.employee.constant; + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 16:22 + * @since JDK1.8 + */ + +public enum EmployeeStatusEnum implements BaseEnum { + + /** + * 用户正常状态 1 + */ + NORMAL(0, "正常"), + + /** + * 用户已被禁用 0 + */ + DISABLED(1, "禁用"); + + private Integer value; + + private String desc; + + EmployeeStatusEnum(Integer value, String desc) { + this.value = value; + this.desc = desc; + } + + /** + * 获取枚举类的值 + * + * @return Integer + */ + @Override + public Integer getValue() { + return value; + } + + /** + * 获取枚举类的说明 + * + * @return String + */ + @Override + public String getDesc() { + return this.desc; + } +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/bo/EmployeeBO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/bo/EmployeeBO.java new file mode 100644 index 00000000..57050a5c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/bo/EmployeeBO.java @@ -0,0 +1,73 @@ +package net.lab1024.smartadmin.module.system.employee.domain.bo; + +import net.lab1024.smartadmin.module.system.employee.domain.entity.EmployeeEntity; +import lombok.Getter; + + +@Getter +public class EmployeeBO { + + /** + * 主键id + */ + private Long id; + + /** + * 登录账号 + */ + private String loginName; + + /** + * 员工名称 + */ + private String actualName; + + /** + * 别名 + */ + private String nickName; + + /** + * 手机号码 + */ + private String phone; + + /** + * 部门id + */ + private Long departmentId; + + /** + * 是否离职 + */ + private Integer isLeave; + + /** + * 是否被禁用 + */ + private Integer isDisabled; + + /** + * 删除状态 0否 1是 + */ + private Long isDelete; + + /** + * 是否为超级管理员 + */ + private Boolean isSuperman; + + public EmployeeBO(EmployeeEntity employeeEntity, boolean isSuperman) { + this.id = employeeEntity.getId(); + this.loginName = employeeEntity.getLoginName(); + this.actualName = employeeEntity.getActualName(); + this.nickName = employeeEntity.getNickName(); + this.phone = employeeEntity.getPhone(); + this.departmentId = employeeEntity.getDepartmentId(); + this.isLeave = employeeEntity.getIsLeave(); + this.isDisabled = employeeEntity.getIsDisabled(); + this.isDelete = employeeEntity.getIsDelete(); + this.isSuperman = isSuperman; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeAddDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeAddDTO.java new file mode 100644 index 00000000..bb1ac368 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeAddDTO.java @@ -0,0 +1,63 @@ +package net.lab1024.smartadmin.module.system.employee.domain.dto; + +import net.lab1024.smartadmin.util.SmartVerificationUtil; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; +import java.util.List; + +/** + * 添加员工 + * + * @author lidoudou + * @date 2017年12月19日下午2:06:31 + */ +@Data +public class EmployeeAddDTO { + + @ApiModelProperty("姓名") + @NotNull(message = "姓名不能为空") + private String actualName; + + @ApiModelProperty("登录名") + @NotNull(message = "姓名不能为空") + private String loginName; + + @ApiModelProperty("别名") + private String nickName; + + @ApiModelProperty("部门id") + @NotNull(message = "部门id不能为空") + private Long departmentId; + + @ApiModelProperty("是否启用") + @NotNull(message = "是否被禁用不能为空") + private Integer isDisabled; + + @ApiModelProperty("手机号") + @NotNull(message = "手机号不能为空") + @Pattern(regexp = SmartVerificationUtil.PHONE_REGEXP, message = "手机号格式不正确") + private String phone; + + @ApiModelProperty("身份证(可选)") + private String idCard; + + @ApiModelProperty("生日(可选)") + private String birthday; + + @ApiModelProperty("密码") + // @NotNull(message = "密码不能为空") + // @Length(min = 6, message = "密码最少为6位字符") + private String loginPwd; + + @ApiModelProperty("邮箱") + private String email; + + @ApiModelProperty("岗位ID 集合") + @NotEmpty(message = "岗位ID 集合不能为空") + private List positionIdList; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeBaseDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeBaseDTO.java new file mode 100644 index 00000000..0931bdb4 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeBaseDTO.java @@ -0,0 +1,52 @@ +package net.lab1024.smartadmin.module.system.employee.domain.dto; + +import net.lab1024.smartadmin.util.SmartVerificationUtil; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; + +/** + * 添加员工 + * + * @author lidoudou + * @date 2017年12月19日下午2:06:31 + */ +@Data +public class EmployeeBaseDTO { + + @ApiModelProperty("姓名") + @NotNull(message = "姓名不能为空") + private String actualName; + + @ApiModelProperty("登录名") + @NotNull(message = "姓名不能为空") + private String loginName; + + @ApiModelProperty("别名") + private String nickName; + + @ApiModelProperty("部门id") + @NotNull(message = "部门id不能为空") + private Long departmentId; + + @ApiModelProperty("是否启用") + @NotNull(message = "是否被禁用不能为空") + private Integer isDisabled; + + @ApiModelProperty("手机号") + @NotNull(message = "手机号不能为空") + @Pattern(regexp = SmartVerificationUtil.PHONE_REGEXP, message = "手机号格式不正确") + private String phone; + + @ApiModelProperty("身份证(可选)") + private String idCard; + + @ApiModelProperty("生日(可选)") + private String birthday; + + @ApiModelProperty("邮箱") + private String email; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeBatchUpdateStatusDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeBatchUpdateStatusDTO.java new file mode 100644 index 00000000..7d9db716 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeBatchUpdateStatusDTO.java @@ -0,0 +1,26 @@ +package net.lab1024.smartadmin.module.system.employee.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 批量更新 + * + * @author lidoudou + * @date 2017年12月21日上午13:17:52 + */ +@Data +public class EmployeeBatchUpdateStatusDTO { + + @ApiModelProperty("员工ids") + @NotNull(message = "员工ids不能为空") + private List employeeIds; + + @ApiModelProperty("状态") + @NotNull(message = "状态不能为空") + private Integer status; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeDTO.java new file mode 100644 index 00000000..61b49e1a --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeDTO.java @@ -0,0 +1,73 @@ +package net.lab1024.smartadmin.module.system.employee.domain.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import net.lab1024.smartadmin.module.system.position.domain.dto.PositionRelationResultDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * 员工列表DTO + * + * @author lidoudou + * @date 2017年12月21日上午09:09:31 + */ +@Data +public class EmployeeDTO { + + @ApiModelProperty("主键id") + private Long id; + + @ApiModelProperty("登录账号") + private String loginName; + + @ApiModelProperty("别名") + private String nickName; + + @ApiModelProperty("员工名称") + private String actualName; + + @ApiModelProperty("手机号码") + private String phone; + + @ApiModelProperty("身份证") + private String idCard; + + @ApiModelProperty("出生日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date birthday; + + @ApiModelProperty("创建者id") + private Long createUser; + + @ApiModelProperty("部门id") + private Long departmentId; + + @ApiModelProperty("是否离职") + private Integer isLeave; + + @ApiModelProperty("是否被禁用") + private Integer isDisabled; + + @ApiModelProperty("是否删除") + private Integer isDelete; + + @ApiModelProperty("部门名称") + private String departmentName; + + @ApiModelProperty("邮箱") + private String email; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty("岗位关联信息") + private List positionRelationList; + + @ApiModelProperty("岗位名称") + private String positionName; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeLoginFormDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeLoginFormDTO.java new file mode 100644 index 00000000..0bf1f1a3 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeLoginFormDTO.java @@ -0,0 +1,31 @@ +package net.lab1024.smartadmin.module.system.employee.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * 登录 + * + * @author lidoudou + * @date 2017年12月19日上午11:49:46 + */ +@Data +public class EmployeeLoginFormDTO { + + @NotNull(message = "登录名不能为空") + @ApiModelProperty(example = "sa") + private String loginName; + + @NotNull(message = "密码不能为空") + @ApiModelProperty(example = "123456") + private String loginPwd; + + @ApiModelProperty(value = "验证码uuid") + private String codeUuid; + + @ApiModelProperty(value = "验证码") + private String code; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeQueryDTO.java new file mode 100644 index 00000000..e384a4da --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeQueryDTO.java @@ -0,0 +1,39 @@ +package net.lab1024.smartadmin.module.system.employee.domain.dto; + +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 员工列表DTO + * + * @author lidoudou + * @date 2017年12月21日上午09:09:31 + */ +@Data +public class EmployeeQueryDTO extends PageParamDTO { + + private String phone; + + private String actualName; + + private String keyword; + + private Long departmentId; + + private Integer isLeave; + + private Integer isDisabled; + + /** + * 删除状态 0否 1是 + */ + @ApiModelProperty("删除状态 0否 1是 不需要传") + private Integer isDelete; + + @ApiModelProperty("员工id集合") + private List employeeIds; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeQueryExportDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeQueryExportDTO.java new file mode 100644 index 00000000..645bd213 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeQueryExportDTO.java @@ -0,0 +1,42 @@ +package net.lab1024.smartadmin.module.system.employee.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author zzr + * 不带分页的查询条件 + */ +@Data +public class EmployeeQueryExportDTO { + + @ApiModelProperty(hidden = true) + private String phone; + + @ApiModelProperty("姓名") + private String actualName; + + @ApiModelProperty(hidden = true) + private String keyword; + + @ApiModelProperty(hidden = true) + private Long departmentId; + + @ApiModelProperty(hidden = true) + private Integer isLeave; + + @ApiModelProperty(hidden = true) + private Integer isDisabled; + + /** + * 删除状态 0否 1是 + */ + @ApiModelProperty(value = "删除状态 0否 1是 不需要传", hidden = true) + private Integer isDelete; + + @ApiModelProperty(value = "员工ID集合", hidden = true) + private List employeeIds; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeUpdateDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeUpdateDTO.java new file mode 100644 index 00000000..d835c522 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeUpdateDTO.java @@ -0,0 +1,28 @@ +package net.lab1024.smartadmin.module.system.employee.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 添加员工 + * + * @author lidoudou + * @date 2017年12月19日下午2:06:31 + */ +@Data +public class EmployeeUpdateDTO extends EmployeeBaseDTO { + + @ApiModelProperty("员工id") + @NotNull(message = "员工id不能为空") + private Long id; + + @ApiModelProperty("密码") + private String loginPwd; + + @ApiModelProperty("岗位ID 集合") + private List positionIdList; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeUpdatePwdDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeUpdatePwdDTO.java new file mode 100644 index 00000000..f5841c31 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeUpdatePwdDTO.java @@ -0,0 +1,25 @@ +package net.lab1024.smartadmin.module.system.employee.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * 修改密码所需参数 + * + * @author cyj + * @date 2018-02-23 下午 4:53 + */ +@Data +public class EmployeeUpdatePwdDTO { + + @ApiModelProperty("新密码") + @NotNull + private String pwd; + + @ApiModelProperty("原密码") + @NotNull + private String oldPwd; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeUpdateRolesDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeUpdateRolesDTO.java new file mode 100644 index 00000000..2829ba1a --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/dto/EmployeeUpdateRolesDTO.java @@ -0,0 +1,29 @@ +package net.lab1024.smartadmin.module.system.employee.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Data +public class EmployeeUpdateRolesDTO { + + @ApiModelProperty("员工id") + @NotNull(message = "员工id不能为空") + private Long employeeId; + + @ApiModelProperty("角色ids") + private List roleIds; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/entity/EmployeeEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/entity/EmployeeEntity.java new file mode 100644 index 00000000..1744ee1b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/entity/EmployeeEntity.java @@ -0,0 +1,91 @@ +package net.lab1024.smartadmin.module.system.employee.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +import java.io.Serializable; + +/** + * 员工实体类 + * + * @author lidoudou + * @date 2017年12月19日下午1:34:48 + */ +@Data +@TableName("t_employee") +public class EmployeeEntity extends BaseEntity implements Serializable { + + private static final long serialVersionUID = -8794328598524272806L; + + /** + * 登录账号 + */ + private String loginName; + + /** + * 登录密码 + */ + private String loginPwd; + + /** + * 员工名称 + */ + private String actualName; + + /** + * 别名 + */ + private String nickName; + + /** + * 手机号码 + */ + private String phone; + + /** + * 身份证 + */ + private String idCard; + + /** + * 出生日期 + */ + private String birthday; + + + /** + * 部门id + */ + private Long departmentId; + + /** + * 是否离职 + */ + private Integer isLeave; + + /** + * 是否被禁用 + */ + private Integer isDisabled; + /** + * 邮箱 + */ + private String email; + + /** + * 备注 + */ + private String remark; + + /** + * 创建者id + */ + private Long createUser; + + /** + * 删除状态 0否 1是 + */ + private Long isDelete; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/vo/EmployeeVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/vo/EmployeeVO.java new file mode 100644 index 00000000..a180d59b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/domain/vo/EmployeeVO.java @@ -0,0 +1,72 @@ +package net.lab1024.smartadmin.module.system.employee.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import net.lab1024.smartadmin.module.system.position.domain.dto.PositionRelationResultDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author bhr + * @Description: 员工信息 + * @date 2019/8/28 9:04 + */ + +@Data +public class EmployeeVO { + + @ApiModelProperty("主键id") + private Long id; + + @ApiModelProperty("登录账号") + private String loginName; + + @ApiModelProperty("别名") + private String nickName; + + @ApiModelProperty("员工名称") + private String actualName; + + @ApiModelProperty("手机号码") + private String phone; + + @ApiModelProperty("身份证") + private String idCard; + + @ApiModelProperty("出生日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date birthday; + + @ApiModelProperty("创建者id") + private Long createUser; + + @ApiModelProperty("部门id") + private Long departmentId; + + @ApiModelProperty("是否离职") + private Integer isLeave; + + @ApiModelProperty("是否被禁用") + private Integer isDisabled; + + @ApiModelProperty("是否删除") + private Integer isDelete; + + @ApiModelProperty("部门名称") + private String departmentName; + + @ApiModelProperty("邮箱") + private String email; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty("岗位关联信息") + private List positionRelationList; + + @ApiModelProperty("岗位名称") + private String positionName; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginController.java new file mode 100644 index 00000000..414c9ad4 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginController.java @@ -0,0 +1,71 @@ +package net.lab1024.smartadmin.module.system.login; + +import net.lab1024.smartadmin.common.anno.NoNeedLogin; +import net.lab1024.smartadmin.common.anno.NoValidPrivilege; +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeLoginFormDTO; +import net.lab1024.smartadmin.module.system.login.domain.KaptchaVO; +import net.lab1024.smartadmin.module.system.login.domain.LoginDetailVO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.util.SmartRequestTokenUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; + +/** + * 后台登录 + * + * @author lidoudou + * @date 2017年12月19日上午11:46:04 + */ +@RestController +@Api(tags = {SwaggerTagConst.Admin.MANAGER_USER_LOGIN}) +@OperateLog +public class LoginController { + + @Autowired + private LoginService loginService; + + @PostMapping("/session/login") + @ApiOperation(value = "登录", notes = "登录") + @NoNeedLogin + public ResponseDTO login(@Valid @RequestBody EmployeeLoginFormDTO loginForm, HttpServletRequest request) { + return loginService.login(loginForm, request); + } + + @GetMapping("/session/get") + @ApiOperation(value = "获取session", notes = "获取session") + @NoValidPrivilege + public ResponseDTO getSession() { + RequestTokenBO requestUser = SmartRequestTokenUtil.getRequestUser(); + return ResponseDTO.succData(loginService.getSession(requestUser)); + } + + @GetMapping("/session/logOut") + @ApiOperation(value = "退出登陆", notes = "退出登陆") + @NoValidPrivilege + public ResponseDTO logOut() { + RequestTokenBO requestToken = SmartRequestTokenUtil.getRequestUser(); + if (null == requestToken) { + return ResponseDTO.wrap(LoginResponseCodeConst.LOGIN_ERROR); + } + return loginService.logoutByToken(requestToken); + } + + @GetMapping("/session/verificationCode") + @ApiOperation(value = "获取验证码", notes = "获取验证码") + @NoNeedLogin + public ResponseDTO verificationCode() { + return loginService.verificationCode(); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginResponseCodeConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginResponseCodeConst.java new file mode 100644 index 00000000..0cfb8d22 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginResponseCodeConst.java @@ -0,0 +1,21 @@ +package net.lab1024.smartadmin.module.system.login; + +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; + +/** + * 员工常量类 + * 1001-1999 + * + * @author lidoudou + * @date 2017年12月19日下午19:04:52 + */ +public class LoginResponseCodeConst extends ResponseCodeConst { + + public static final LoginResponseCodeConst LOGIN_ERROR = new LoginResponseCodeConst(1001, "您还未登录或登录失效,请重新登录!"); + + public static final LoginResponseCodeConst NOT_HAVE_PRIVILEGES = new LoginResponseCodeConst(1002, "对不起,您没有权限哦!"); + + public LoginResponseCodeConst(int code, String msg) { + super(code, msg); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginService.java new file mode 100644 index 00000000..070a9ff4 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginService.java @@ -0,0 +1,215 @@ +package net.lab1024.smartadmin.module.system.login; + +import net.lab1024.smartadmin.common.constant.JudgeEnum; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.CommonConst; +import net.lab1024.smartadmin.module.system.department.DepartmentDao; +import net.lab1024.smartadmin.module.system.department.domain.entity.DepartmentEntity; +import net.lab1024.smartadmin.module.system.employee.EmployeeDao; +import net.lab1024.smartadmin.module.system.employee.constant.EmployeeResponseCodeConst; +import net.lab1024.smartadmin.module.system.employee.constant.EmployeeStatusEnum; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeLoginFormDTO; +import net.lab1024.smartadmin.module.business.log.LogService; +import net.lab1024.smartadmin.module.business.log.userloginlog.domain.UserLoginLogEntity; +import net.lab1024.smartadmin.module.system.login.domain.KaptchaVO; +import net.lab1024.smartadmin.module.system.login.domain.LoginDetailVO; +import net.lab1024.smartadmin.module.system.login.domain.LoginPrivilegeDTO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.privilege.domain.entity.PrivilegeEntity; +import net.lab1024.smartadmin.module.system.privilege.service.PrivilegeEmployeeService; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartDigestUtil; +import net.lab1024.smartadmin.util.SmartIPUtil; +import com.google.code.kaptcha.impl.DefaultKaptcha; +import eu.bitwalker.useragentutils.UserAgent; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.binary.Base64; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.ValueOperations; +import org.springframework.stereotype.Service; + +import javax.imageio.ImageIO; +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; +import java.awt.image.BufferedImage; +import java.io.ByteArrayOutputStream; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.TimeUnit; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 18:10 + * @since JDK1.8 + */ +@Slf4j +@Service +public class LoginService { + + private static final String VERIFICATION_CODE_REDIS_PREFIX = "vc_%s"; + + @Autowired + private EmployeeDao employeeDao; + + @Autowired + private DepartmentDao departmentDao; + + @Autowired + private PrivilegeEmployeeService privilegeEmployeeService; + + @Autowired + private LoginTokenService loginTokenService; + + @Autowired + private LogService logService; + + @Autowired + private DefaultKaptcha defaultKaptcha; + + @Autowired + private ValueOperations redisValueOperations; + + /** + * 登陆 + * + * @param loginForm 登录名 密码 + * @return 登录用户基本信息 + */ + public ResponseDTO login(@Valid EmployeeLoginFormDTO loginForm, HttpServletRequest request) { +// String redisVerificationCode = redisValueOperations.get(loginForm.getCodeUuid()); +// //增加删除已使用的验证码方式 频繁登录 +// redisValueOperations.getOperations().delete(loginForm.getCodeUuid()); +// if (StringUtils.isEmpty(redisVerificationCode)) { +// return ResponseDTO.wrap(EmployeeResponseCodeConst.VERIFICATION_CODE_INVALID); +// } +// if (!redisVerificationCode.equalsIgnoreCase(loginForm.getCode())) { +// return ResponseDTO.wrap(EmployeeResponseCodeConst.VERIFICATION_CODE_INVALID); +// } + String loginPwd = SmartDigestUtil.encryptPassword(CommonConst.Password.SALT_FORMAT, loginForm.getLoginPwd()); + EmployeeDTO employeeDTO = employeeDao.login(loginForm.getLoginName(), loginPwd); + if (null == employeeDTO) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.LOGIN_FAILED); + } + if (EmployeeStatusEnum.DISABLED.equalsValue(employeeDTO.getIsDisabled())) { + return ResponseDTO.wrap(EmployeeResponseCodeConst.IS_DISABLED); + } + //jwt token赋值 + String compactJws = loginTokenService.generateToken(employeeDTO); + + LoginDetailVO loginDTO = SmartBeanUtil.copy(employeeDTO, LoginDetailVO.class); + + //获取前端功能权限 + loginDTO.setPrivilegeList(initEmployeePrivilege(employeeDTO.getId())); + + loginDTO.setXAccessToken(compactJws); + DepartmentEntity departmentEntity = departmentDao.selectById(employeeDTO.getDepartmentId()); + loginDTO.setDepartmentName(departmentEntity.getName()); + + //判断是否为超管 + Boolean isSuperman = privilegeEmployeeService.isSuperman(loginDTO.getId()); + loginDTO.setIsSuperMan(isSuperman); + //登陆操作日志 + UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent")); + UserLoginLogEntity logEntity = + UserLoginLogEntity.builder() + .userId(employeeDTO.getId()) + .userName(employeeDTO.getActualName()) + .remoteIp(SmartIPUtil.getRemoteIp(request)) + .remotePort(request.getRemotePort()) + .remoteBrowser(userAgent.getBrowser().getName()) + .remoteOs(userAgent.getOperatingSystem().getName()) + .loginStatus(JudgeEnum.YES.getValue()).build(); + logService.addLog(logEntity); + return ResponseDTO.succData(loginDTO); + } + + /** + * 手机端退出登陆,清除token缓存 + * + * @param requestToken + * @return 退出登陆是否成功,bool + */ + public ResponseDTO logoutByToken(RequestTokenBO requestToken) { + privilegeEmployeeService.removeCache(requestToken.getRequestUserId()); + return ResponseDTO.succ(); + } + + /** + * 获取验证码 + * + * @return + */ + public ResponseDTO verificationCode() { + KaptchaVO kaptchaVO = new KaptchaVO(); + String uuid = buildVerificationCodeRedisKey(UUID.randomUUID().toString()); + String kaptchaText = defaultKaptcha.createText(); + + String base64Code = ""; + + BufferedImage image = defaultKaptcha.createImage(kaptchaText); + ByteArrayOutputStream outputStream = null; + try { + outputStream = new ByteArrayOutputStream(); + ImageIO.write(image, "jpg", outputStream); + base64Code = Base64.encodeBase64String(outputStream.toByteArray()); + } catch (Exception e) { + log.error("verificationCode exception .{}", e); + } finally { + if (outputStream != null) { + try { + outputStream.close(); + } catch (Exception e) { + log.error("verificationCode outputStream close exception .{}", e); + } + } + } + kaptchaVO.setUuid(uuid); + kaptchaVO.setCode("data:image/png;base64," + base64Code); + redisValueOperations.set(uuid, kaptchaText, 60L, TimeUnit.SECONDS); + return ResponseDTO.succData(kaptchaVO); + } + + private String buildVerificationCodeRedisKey(String uuid) { + return String.format(VERIFICATION_CODE_REDIS_PREFIX, uuid); + } + + /** + * 初始化员工权限 + * + * @param employeeId + * @return + */ + public List initEmployeePrivilege(Long employeeId) { + List privilegeList = privilegeEmployeeService.getPrivilegesByEmployeeId(employeeId); + privilegeEmployeeService.updateCachePrivilege(employeeId, privilegeList); + return SmartBeanUtil.copyList(privilegeList, LoginPrivilegeDTO.class); + } + + public LoginDetailVO getSession(RequestTokenBO requestUser) { + LoginDetailVO loginDTO = SmartBeanUtil.copy(requestUser.getEmployeeBO(), LoginDetailVO.class); + List privilegeEntityList = privilegeEmployeeService.getEmployeeAllPrivilege(requestUser.getRequestUserId()); + //====== 开启缓存 ====== + if (privilegeEntityList == null) { + List loginPrivilegeDTOS = initEmployeePrivilege(requestUser.getRequestUserId()); + loginDTO.setPrivilegeList(loginPrivilegeDTOS); + } else { + loginDTO.setPrivilegeList(SmartBeanUtil.copyList(privilegeEntityList, LoginPrivilegeDTO.class)); + } + + //====== 不开启缓存 ====== +// List loginPrivilegeDTOS = initEmployeePrivilege(requestUser.getRequestUserId()); +// loginDTO.setPrivilegeList(loginPrivilegeDTOS); + + //判断是否为超管 + Boolean isSuperman = privilegeEmployeeService.isSuperman(loginDTO.getId()); + loginDTO.setIsSuperMan(isSuperman); + return loginDTO; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginTokenService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginTokenService.java new file mode 100644 index 00000000..56ec269a --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginTokenService.java @@ -0,0 +1,118 @@ +package net.lab1024.smartadmin.module.system.login; + +import net.lab1024.smartadmin.common.constant.JudgeEnum; +import net.lab1024.smartadmin.module.system.employee.EmployeeService; +import net.lab1024.smartadmin.module.system.employee.constant.EmployeeStatusEnum; +import net.lab1024.smartadmin.module.system.employee.domain.bo.EmployeeBO; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Date; +import java.util.UUID; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Slf4j +@Service +public class LoginTokenService { + + /** + * 过期时间一天 + */ + private static final int EXPIRE_SECONDS = 1 * 24 * 3600; + /** + * jwt加密字段 + */ + private static final String CLAIM_ID_KEY = "id"; + + @Value("${jwt.key}") + private String jwtKey; + + @Autowired + private EmployeeService employeeService; + + + /** + * 功能描述: 生成JWT TOKEN + * + * @param employeeDTO + * @return + * @auther yandanyang + * @date 2018/9/12 0012 上午 10:08 + */ + public String generateToken(EmployeeDTO employeeDTO) { + Long id = employeeDTO.getId(); + /**将token设置为jwt格式*/ + String baseToken = UUID.randomUUID().toString(); + LocalDateTime localDateTimeNow = LocalDateTime.now(); + LocalDateTime localDateTimeExpire = localDateTimeNow.plusSeconds(EXPIRE_SECONDS); + Date from = Date.from(localDateTimeNow.atZone(ZoneId.systemDefault()).toInstant()); + Date expire = Date.from(localDateTimeExpire.atZone(ZoneId.systemDefault()).toInstant()); + + Claims jwtClaims = Jwts.claims().setSubject(baseToken); + jwtClaims.put(CLAIM_ID_KEY, id); + String compactJws = Jwts.builder().setClaims(jwtClaims).setNotBefore(from).setExpiration(expire).signWith(SignatureAlgorithm.HS512, jwtKey).compact(); + + EmployeeBO employeeBO = employeeService.getById(id); + RequestTokenBO tokenBO = new RequestTokenBO(employeeBO); + + return compactJws; + } + + /** + * 功能描述: 根据登陆token获取登陆信息 + * + * @param + * @return + * @auther yandanyang + * @date 2018/9/12 0012 上午 10:11 + */ + public RequestTokenBO getEmployeeTokenInfo(String token) { + Long employeeId = -1L; + try { + Claims claims = Jwts.parser().setSigningKey(jwtKey).parseClaimsJws(token).getBody(); + String idStr = claims.get(CLAIM_ID_KEY).toString(); + employeeId = Long.valueOf(idStr); + } catch (Exception e) { + log.error("getEmployeeTokenInfo error:{}", e); + return null; + } + + EmployeeBO employeeBO = employeeService.getById(employeeId); + if (employeeBO == null) { + return null; + } + + if (EmployeeStatusEnum.DISABLED.getValue().equals(employeeBO.getIsDisabled())) { + return null; + } + + if (JudgeEnum.YES.equals(employeeBO.getIsLeave())) { + return null; + } + + if (JudgeEnum.YES.equals(employeeBO.getIsDelete())) { + return null; + } + + return new RequestTokenBO(employeeBO); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/KaptchaVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/KaptchaVO.java new file mode 100644 index 00000000..61814e63 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/KaptchaVO.java @@ -0,0 +1,28 @@ +package net.lab1024.smartadmin.module.system.login.domain; + +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/7/4 0004 上午 10:11 + * @since JDK1.8 + */ +@Data +public class KaptchaVO { + + /** + * 验证码UUID + */ + private String uuid; + + /** + * base64 验证码 + */ + private String code; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginCacheDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginCacheDTO.java new file mode 100644 index 00000000..c8e5f62f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginCacheDTO.java @@ -0,0 +1,28 @@ +package net.lab1024.smartadmin.module.system.login.domain; + +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/8/9 0009 下午 17:32 + * @since JDK1.8 + */ +@Data +public class LoginCacheDTO { + + /** + * 基本信息 + */ + private EmployeeDTO employeeDTO; + + /** + * 过期时间 + */ + private Long expireTime; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginDetailVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginDetailVO.java new file mode 100644 index 00000000..72a27087 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginDetailVO.java @@ -0,0 +1,68 @@ +package net.lab1024.smartadmin.module.system.login.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * 登录返回DTO + * + * @author lidoudou + * @date 2017年12月21日上午09:06:31 + */ +@Data +public class LoginDetailVO { + + @ApiModelProperty("主键id") + private Long id; + + @ApiModelProperty("登录账号") + private String loginName; + + @ApiModelProperty("别名") + private String nickName; + + @ApiModelProperty("员工名称") + private String actualName; + + @ApiModelProperty("手机号码") + private String phone; + + @ApiModelProperty("身份证") + private String idCard; + + @ApiModelProperty("出生日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date birthday; + + @ApiModelProperty("创建者id") + private Long createUser; + + @ApiModelProperty("部门id") + private Long departmentId; + + @ApiModelProperty("是否离职") + private Integer isLeave; + + @ApiModelProperty("是否被禁用") + private Integer isDisabled; + + @ApiModelProperty("部门名称") + private String departmentName; + + @ApiModelProperty("邮箱") + private String email; + + @ApiModelProperty("登陆token") + private String xAccessToken; + + @ApiModelProperty("是否为超管") + private Boolean isSuperMan; + + @ApiModelProperty("权限列表") + private List privilegeList; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginPrivilegeDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginPrivilegeDTO.java new file mode 100644 index 00000000..e1812b35 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginPrivilegeDTO.java @@ -0,0 +1,33 @@ +package net.lab1024.smartadmin.module.system.login.domain; + +import net.lab1024.smartadmin.common.anno.ApiModelPropertyEnum; +import net.lab1024.smartadmin.module.system.privilege.constant.PrivilegeTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/8/21 0021 上午 10:28 + * @since JDK1.8 + */ +@Data +public class LoginPrivilegeDTO { + + @ApiModelProperty("权限key") + private String key; + + @ApiModelPropertyEnum(enumDesc = "菜单类型",value = PrivilegeTypeEnum.class) + private Integer type; + + @ApiModelProperty("url") + private String url; + + @ApiModelProperty("父级key") + private String parentKey; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/RequestTokenBO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/RequestTokenBO.java new file mode 100644 index 00000000..101f66db --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/RequestTokenBO.java @@ -0,0 +1,26 @@ +package net.lab1024.smartadmin.module.system.login.domain; + +import net.lab1024.smartadmin.module.system.employee.domain.bo.EmployeeBO; +import lombok.Getter; + + +@Getter +public class RequestTokenBO { + + private Long requestUserId; + + private EmployeeBO employeeBO; + + public RequestTokenBO(EmployeeBO employeeBO) { + this.requestUserId = employeeBO.getId(); + this.employeeBO = employeeBO; + } + + @Override + public String toString() { + return "RequestTokenBO{" + + "requestUserId=" + requestUserId + + ", employeeBO=" + employeeBO + + '}'; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionController.java new file mode 100644 index 00000000..0f1a311e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionController.java @@ -0,0 +1,59 @@ +package net.lab1024.smartadmin.module.system.position; + +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.system.position.domain.dto.PositionAddDTO; +import net.lab1024.smartadmin.module.system.position.domain.dto.PositionQueryDTO; +import net.lab1024.smartadmin.module.system.position.domain.dto.PositionResultVO; +import net.lab1024.smartadmin.module.system.position.domain.dto.PositionUpdateDTO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * @author zzr + */ +@Api(tags = {SwaggerTagConst.Admin.MANAGER_JOB}) +@OperateLog +@RestController +public class PositionController { + + @Autowired + private PositionService positionService; + + @ApiOperation(value = "分页查询所有岗位", notes = "分页查询所有岗位 @author zzr") + @PostMapping("/position/getListPage") + public ResponseDTO> getJobPage(@RequestBody @Valid PositionQueryDTO queryDTO) { + return positionService.queryPositionByPage(queryDTO); + } + + @ApiOperation(value = "添加岗位", notes = "添加岗位 @author zzr") + @PostMapping("/position/add") + public ResponseDTO addJob(@RequestBody @Valid PositionAddDTO addDTO) { + return positionService.addPosition(addDTO); + } + + @ApiOperation(value = "更新岗位", notes = "更新岗位 @author zzr") + @PostMapping("/position/update") + public ResponseDTO updateJob(@RequestBody @Valid PositionUpdateDTO updateDTO) { + return positionService.updatePosition(updateDTO); + } + + @ApiOperation(value = "根据ID查询岗位", notes = "根据ID查询岗位 @author zzr") + @GetMapping("/position/queryById/{id}") + public ResponseDTO queryJobById(@PathVariable Long id) { + return positionService.queryPositionById(id); + } + + @ApiOperation(value = "根据ID删除岗位", notes = "根据ID删除岗位 @author zzr") + @GetMapping("/position/remove/{id}") + public ResponseDTO removeJob(@PathVariable Long id) { + return positionService.removePosition(id); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionDao.java new file mode 100644 index 00000000..68423c59 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionDao.java @@ -0,0 +1,63 @@ +package net.lab1024.smartadmin.module.system.position; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.module.system.position.domain.dto.PositionQueryDTO; +import net.lab1024.smartadmin.module.system.position.domain.dto.PositionRelationAddDTO; +import net.lab1024.smartadmin.module.system.position.domain.dto.PositionRelationQueryDTO; +import net.lab1024.smartadmin.module.system.position.domain.dto.PositionRelationResultDTO; +import net.lab1024.smartadmin.module.system.position.domain.entity.PositionEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author zzr + */ +@Mapper +@Component +public interface PositionDao extends BaseMapper { + + /** + * 查询岗位列表 + * + * @param page + * @param queryDTO + * @return + */ + List selectByPage(Page page, @Param("queryDTO") PositionQueryDTO queryDTO); + + /** + * 查询岗位与人员关系 + * + * @param positionRelationQueryDTO + * @return + */ + List selectRelation(PositionRelationQueryDTO positionRelationQueryDTO); + + /** + * 批量查询员工岗位信息 + * @param employeeIdList + * @return + */ + List selectEmployeesRelation(@Param("employeeIdList") List employeeIdList); + + /** + * 批量添加岗位 人员 关联关系 + * + * @param positionRelationAddDTO + * @return + */ + Integer insertBatchRelation(@Param("batchDTO")PositionRelationAddDTO positionRelationAddDTO); + + /** + * 删除指定人员的 岗位关联关系 + * + * @param employeeId + * @return + */ + Integer deleteRelationByEmployeeId(@Param("employeeId") Long employeeId); + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionResponseCodeConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionResponseCodeConst.java new file mode 100644 index 00000000..43528034 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionResponseCodeConst.java @@ -0,0 +1,16 @@ +package net.lab1024.smartadmin.module.system.position; + +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; + +/** + * @author zzr + */ +public class PositionResponseCodeConst extends ResponseCodeConst { + + public static final PositionResponseCodeConst REMOVE_DEFINE = new PositionResponseCodeConst(13000, "还有人关联该岗位,不能删除"); + + protected PositionResponseCodeConst(int code, String msg) { + super(code, msg); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionService.java new file mode 100644 index 00000000..58468969 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/PositionService.java @@ -0,0 +1,124 @@ +package net.lab1024.smartadmin.module.system.position; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.system.position.domain.dto.*; +import net.lab1024.smartadmin.module.system.position.domain.entity.PositionEntity; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartPageUtil; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author zzr + */ +@Service +public class PositionService { + + @Autowired + private PositionDao positionDao; + + /** + * 查询岗位 + * + * @param queryDTO + * @return + */ + public ResponseDTO> queryPositionByPage(PositionQueryDTO queryDTO) { + Page page = SmartPageUtil.convert2QueryPage(queryDTO); + List entityList = positionDao.selectByPage(page, queryDTO); + page.setRecords(entityList.stream().map(e -> SmartBeanUtil.copy(e, PositionResultVO.class)).collect(Collectors.toList())); + PageResultDTO pageResultDTO = SmartPageUtil.convert2PageResult(page); + return ResponseDTO.succData(pageResultDTO); + } + + /** + * 新增岗位 + * + * @param addDTO + * @return + */ + public ResponseDTO addPosition(PositionAddDTO addDTO) { + PositionEntity positionEntity = SmartBeanUtil.copy(addDTO, PositionEntity.class); + positionDao.insert(positionEntity); + return ResponseDTO.succ(); + } + + /** + * 修改岗位 + * + * @param updateDTO + * @return + */ + public ResponseDTO updatePosition(PositionUpdateDTO updateDTO) { + PositionEntity positionEntity = SmartBeanUtil.copy(updateDTO, PositionEntity.class); + positionDao.updateById(positionEntity); + return ResponseDTO.succ(); + } + + /** + * 根据ID查询 + * + * @param id + * @return + */ + public ResponseDTO queryPositionById(Long id) { + return ResponseDTO.succData(SmartBeanUtil.copy(positionDao.selectById(id), PositionResultVO.class)); + } + + /** + * 删除岗位 + */ + public ResponseDTO removePosition(Long id) { + //查询是否还有人关联该岗位 + PositionRelationQueryDTO positionRelationQueryDTO = new PositionRelationQueryDTO(); + positionRelationQueryDTO.setPositionId(id); + List dtoList = positionDao.selectRelation(positionRelationQueryDTO); + if (CollectionUtils.isNotEmpty(dtoList)) { + return ResponseDTO.wrap(PositionResponseCodeConst.REMOVE_DEFINE); + } + positionDao.deleteById(id); + return ResponseDTO.succ(); + } + + /** + * 添加岗位关联关系 + * + * @param positionRelAddDTO + * @return + */ + public ResponseDTO addPositionRelation(PositionRelationAddDTO positionRelAddDTO) { + positionDao.insertBatchRelation(positionRelAddDTO); + return ResponseDTO.succ(); + } + + /** + * 删除指定用户的岗位关联关系 + * + * @param employeeId + * @return + */ + public ResponseDTO removePositionRelation(Long employeeId) { + positionDao.deleteRelationByEmployeeId(employeeId); + return ResponseDTO.succ(); + } + + /** + * 根据员工ID查询 所关联的岗位信息 + * + * @param employeeId + * @return + */ + public List queryPositionByEmployeeId(Long employeeId) { + PositionRelationQueryDTO positionRelationQueryDTO = new PositionRelationQueryDTO(); + positionRelationQueryDTO.setEmployeeId(employeeId); + List positionRelationList = positionDao.selectRelation(positionRelationQueryDTO); + return positionRelationList; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionAddDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionAddDTO.java new file mode 100644 index 00000000..d7b4d8b6 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionAddDTO.java @@ -0,0 +1,28 @@ +package net.lab1024.smartadmin.module.system.position.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 岗位 + * + * @author zzr + */ +@Data +public class PositionAddDTO { + + /** + * 岗位名称 + */ + @ApiModelProperty("岗位名称") + @NotBlank(message = "岗位名称不能为空") + private String positionName; + + /** + * 岗位描述 + */ + @ApiModelProperty("岗位描述") + private String remark; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionQueryDTO.java new file mode 100644 index 00000000..6ab8d066 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionQueryDTO.java @@ -0,0 +1,18 @@ +package net.lab1024.smartadmin.module.system.position.domain.dto; + +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 岗位 + * + * @author zzr + */ +@Data +public class PositionQueryDTO extends PageParamDTO { + + @ApiModelProperty("岗位名称") + private String positionName; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionRelationAddDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionRelationAddDTO.java new file mode 100644 index 00000000..509c1a22 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionRelationAddDTO.java @@ -0,0 +1,32 @@ +package net.lab1024.smartadmin.module.system.position.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 岗位关系 + * + * @author zzr + */ +@Data +public class PositionRelationAddDTO { + + @ApiModelProperty("岗位ID") + @NotNull(message = "岗位ID 不能为空") + private List positionIdList; + + @ApiModelProperty("员工ID") + @NotNull(message = "员工ID 不能为空") + private Long employeeId; + + public PositionRelationAddDTO() { + } + + public PositionRelationAddDTO(List positionIdList, Long employeeId) { + this.positionIdList = positionIdList; + this.employeeId = employeeId; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionRelationQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionRelationQueryDTO.java new file mode 100644 index 00000000..3732cd50 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionRelationQueryDTO.java @@ -0,0 +1,20 @@ +package net.lab1024.smartadmin.module.system.position.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 岗位关系 + * + * @author zzr + */ +@Data +public class PositionRelationQueryDTO { + + @ApiModelProperty("岗位ID") + private Long positionId; + + @ApiModelProperty("员工ID") + private Long employeeId; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionRelationResultDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionRelationResultDTO.java new file mode 100644 index 00000000..1881904f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionRelationResultDTO.java @@ -0,0 +1,40 @@ +package net.lab1024.smartadmin.module.system.position.domain.dto; + +import lombok.Data; + +import java.util.Date; + +/** + * 岗位关联关系 + * + * @author zzr + */ +@Data +public class PositionRelationResultDTO { + + /** + * 岗位ID + */ + private Long positionId; + + /** + * 员工ID + */ + private Long employeeId; + + /** + * 岗位名称 + */ + private String positionName; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 创建时间 + */ + private Date createTime; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionResultVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionResultVO.java new file mode 100644 index 00000000..3bc89efd --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionResultVO.java @@ -0,0 +1,41 @@ +package net.lab1024.smartadmin.module.system.position.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author zzr + */ +@Data +public class PositionResultVO { + + @ApiModelProperty("主键") + private Long id; + + /** + * 更新时间 + */ + @ApiModelProperty("更新时间") + private Date updateTime; + + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + private Date createTime; + + /** + * 岗位名称 + */ + @ApiModelProperty("岗位名称") + private String positionName; + + /** + * 岗位描述 + */ + @ApiModelProperty("岗位描述") + private String remark; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionUpdateDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionUpdateDTO.java new file mode 100644 index 00000000..659da733 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/dto/PositionUpdateDTO.java @@ -0,0 +1,16 @@ +package net.lab1024.smartadmin.module.system.position.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 岗位 + * + * @author zzr + */ +@Data +public class PositionUpdateDTO extends PositionAddDTO { + + @ApiModelProperty("主键") + private Long id; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/entity/PositionEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/entity/PositionEntity.java new file mode 100644 index 00000000..a42af4ac --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/entity/PositionEntity.java @@ -0,0 +1,26 @@ +package net.lab1024.smartadmin.module.system.position.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +/** + * 岗位 + * + * @author zzr + */ +@Data +@TableName("t_position") +public class PositionEntity extends BaseEntity { + + /** + * 岗位名称 + */ + private String positionName; + + /** + * 岗位描述 + */ + private String remark; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/entity/PositionRelationEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/entity/PositionRelationEntity.java new file mode 100644 index 00000000..b7ff8676 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/position/domain/entity/PositionRelationEntity.java @@ -0,0 +1,26 @@ +package net.lab1024.smartadmin.module.system.position.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +/** + * 岗位关联关系 + * + * @author zzr + */ +@Data +@TableName("t_position_relation") +public class PositionRelationEntity extends BaseEntity { + + /** + * 岗位ID + */ + private Long positionId; + + /** + * 员工ID + */ + private Long employeeId; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/constant/PrivilegeResponseCodeConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/constant/PrivilegeResponseCodeConst.java new file mode 100644 index 00000000..3efbd9b2 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/constant/PrivilegeResponseCodeConst.java @@ -0,0 +1,29 @@ +package net.lab1024.smartadmin.module.system.privilege.constant; + +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; + + +/** + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +public class PrivilegeResponseCodeConst extends ResponseCodeConst { + + public static final PrivilegeResponseCodeConst PRIVILEGE_NOT_EXISTS = new PrivilegeResponseCodeConst(7001, "当前数据不存在,请联系你的管理员!"); + + public static final PrivilegeResponseCodeConst ROUTER_KEY_NO_REPEAT = new PrivilegeResponseCodeConst(7002, "模块和页面的“功能Key”值不能重复!"); + + public static final PrivilegeResponseCodeConst MENU_NOT_EXIST = new PrivilegeResponseCodeConst(7003, "菜单不存在,清先保存菜单!"); + + public static final PrivilegeResponseCodeConst POINT_NOT_EXIST = new PrivilegeResponseCodeConst(7004, "功能点不存在,清先保存功能点!"); + + public PrivilegeResponseCodeConst(int code, String msg) { + super(code, msg); + } +} + diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/constant/PrivilegeTypeEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/constant/PrivilegeTypeEnum.java new file mode 100644 index 00000000..96b175e6 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/constant/PrivilegeTypeEnum.java @@ -0,0 +1,49 @@ +package net.lab1024.smartadmin.module.system.privilege.constant; + + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +import java.util.Arrays; +import java.util.Optional; + +/** + * + * [ ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +public enum PrivilegeTypeEnum implements BaseEnum { + + + MENU(1,"菜单"), + + POINTS(2,"功能点"); + + private Integer value; + + private String desc; + + PrivilegeTypeEnum(Integer value,String desc){ + this.value = value; + this.desc = desc; + } + @Override + public Integer getValue() { + return this.value; + } + + @Override + public String getDesc() { + return this.desc; + } + + public static PrivilegeTypeEnum selectByValue(Integer value) { + Optional first = Arrays.stream(PrivilegeTypeEnum.values()).filter(e -> e.getValue().equals(value)).findFirst(); + return !first.isPresent() ? null : first.get(); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/controller/PrivilegeController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/controller/PrivilegeController.java new file mode 100644 index 00000000..3a073a2d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/controller/PrivilegeController.java @@ -0,0 +1,75 @@ +package net.lab1024.smartadmin.module.system.privilege.controller; + +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.common.domain.ValidateList; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.system.privilege.service.PrivilegeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import net.lab1024.smartadmin.module.system.privilege.domain.dto.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * [ 与员工权限相关:角色权限关系、权限列表 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@OperateLog +@RestController +@Api(tags = {SwaggerTagConst.Admin.MANAGER_PRIVILEGE}) +public class PrivilegeController { + + @Autowired + private PrivilegeService privilegeService; + + @GetMapping("/privilege/getAllUrl") + @ApiOperation(value = "获取所有请求路径", notes = "获取所有请求路径") + public ResponseDTO> getAllUrl() { + return privilegeService.getPrivilegeUrlDTOList(); + } + + @ApiOperation(value = "菜单批量保存") + @PostMapping("/privilege/menu/batchSaveMenu") + public ResponseDTO menuBatchSave(@Valid @RequestBody ValidateList menuList) { + return privilegeService.menuBatchSave(menuList); + } + + + @ApiOperation(value = "查询所有菜单项") + @PostMapping("/privilege/menu/queryAll") + public ResponseDTO> queryAll() { + return privilegeService.menuQueryAll(); + } + + + @ApiOperation(value = "保存更新功能点") + @PostMapping("/privilege/function/saveOrUpdate") + public ResponseDTO functionSaveOrUpdate(@Valid @RequestBody PrivilegeFunctionDTO privilegeFunctionDTO) { + return privilegeService.functionSaveOrUpdate(privilegeFunctionDTO); + } + + @ApiOperation(value = "批量保存功能点") + @PostMapping("/privilege/function/batchSave") + public ResponseDTO batchSaveFunctionList(@Valid @RequestBody ValidateList functionList) { + return privilegeService.batchSaveFunctionList(functionList); + } + + + @ApiOperation(value = "查询菜单功能点", notes = "更新") + @PostMapping("/privilege/function/query/{menuKey}") + public ResponseDTO> functionQuery(@PathVariable String menuKey) { + return privilegeService.functionQuery(menuKey); + } + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/dao/PrivilegeDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/dao/PrivilegeDao.java new file mode 100644 index 00000000..291480d1 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/dao/PrivilegeDao.java @@ -0,0 +1,94 @@ +package net.lab1024.smartadmin.module.system.privilege.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.lab1024.smartadmin.module.system.privilege.domain.entity.PrivilegeEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + + +/** + * + * [ ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Mapper +@Component +public interface PrivilegeDao extends BaseMapper { + + /** + * 根据权限key删除 + * @param keyList + */ + void delByKeyList(@Param("keyList") List keyList); + /** + * 根据权限parentkey删除 + * @param keyList + */ + void delByParentKeyList(@Param("keyList") List keyList); + + /** + * 批量保存 + * @param privilegeList + */ + void batchInsert(List privilegeList); + + /** + * 批量更新 + * @param privilegeList + */ + void batchUpdate(@Param("updateList") List privilegeList); + + /** + * 根据父节点key查询 + * @param parentKey + * @return + */ + List selectByParentKey(@Param("parentKey") String parentKey); + + /** + * 根据父节点key查询 + * @param keyList + * @return + */ + List selectByKeyList(@Param("keyList") List keyList); + + /** + * 根据权限key查询 + * @param key + * @return + */ + PrivilegeEntity selectByKey(@Param("key") String key); + + /** + * 根据类型查询 + * @param type + * @return + */ + List selectByExcludeType(@Param("type") Integer type); + + /** + * 根据类型查询 + * @param type + * @return + */ + List selectByType(@Param("type") Integer type); + + /** + * 查询所有权限 + * @return + */ + List selectAll(); + + + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeFunctionDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeFunctionDTO.java new file mode 100644 index 00000000..0e15a42c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeFunctionDTO.java @@ -0,0 +1,40 @@ +package net.lab1024.smartadmin.module.system.privilege.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/8/20 0020 下午 16:45 + * @since JDK1.8 + */ +@Data +public class PrivilegeFunctionDTO { + + @ApiModelProperty("功能点名称") + @NotBlank(message = "功能点名称不能为空") + private String functionName; + + @ApiModelProperty("所属菜单Key") + @NotBlank(message = "所属菜单Key不能为空") + private String menuKey; + + @ApiModelProperty("功能点Key") + @NotBlank(message = "功能点Key不能为空") + private String functionKey; + + @ApiModelProperty("url列表") + private String url; + + @ApiModelProperty("排序") + @NotNull(message = "请输入功能点顺序") + private Integer sort; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeFunctionVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeFunctionVO.java new file mode 100644 index 00000000..fd89f959 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeFunctionVO.java @@ -0,0 +1,40 @@ +package net.lab1024.smartadmin.module.system.privilege.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/8/20 0020 下午 16:45 + * @since JDK1.8 + */ +@Data +public class PrivilegeFunctionVO { + + @ApiModelProperty("功能点名称") + @NotBlank(message = "功能点名称不能为空") + private String functionName; + + @ApiModelProperty("所属菜单Key") + @NotBlank(message = "所属菜单Key不能为空") + private String menuKey; + + @ApiModelProperty("功能点Key") + @NotBlank(message = "功能点Key不能为空") + private String functionKey; + + @ApiModelProperty("url列表") + @NotEmpty(message = "url列表不能为空") + private String url; + + @ApiModelProperty("顺序") + private Integer sort; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeMenuDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeMenuDTO.java new file mode 100644 index 00000000..137f827d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeMenuDTO.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.module.system.privilege.domain.dto; + +import net.lab1024.smartadmin.common.anno.ApiModelPropertyEnum; +import net.lab1024.smartadmin.module.system.privilege.constant.PrivilegeTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/8/20 0020 下午 16:32 + * @since JDK1.8 + */ +@Data +public class PrivilegeMenuDTO { + + @ApiModelPropertyEnum(enumDesc = "菜单类型",value = PrivilegeTypeEnum.class) + @NotNull + private Integer type; + + @ApiModelProperty("菜单名") + @NotNull(message = "菜单名不能为空") + private String menuName; + + @ApiModelProperty("菜单Key") + @NotNull(message = "菜单Key不能为空") + private String menuKey; + + @ApiModelProperty("父级菜单Key,根节点不传") + private String parentKey; + + @ApiModelProperty("前端路由path") + @NotNull(message = "前端路由path不能为空") + private String url; + + @ApiModelProperty("排序字段") + @NotNull(message = "菜单项顺序不能为空") + private Integer sort; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeMenuVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeMenuVO.java new file mode 100644 index 00000000..72febd9c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeMenuVO.java @@ -0,0 +1,35 @@ +package net.lab1024.smartadmin.module.system.privilege.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/8/20 0020 下午 16:41 + * @since JDK1.8 + */ +@Data +public class PrivilegeMenuVO { + + @ApiModelProperty("菜单名") + private String menuName; + + @ApiModelProperty("菜单Key") + private String menuKey; + + @ApiModelProperty("菜单父级Key") + private String parentKey; + + @ApiModelProperty("顺序") + private Integer sort; + + @ApiModelProperty("前端路由path") + private String url; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeRequestUrlVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeRequestUrlVO.java new file mode 100644 index 00000000..d227c04d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/dto/PrivilegeRequestUrlVO.java @@ -0,0 +1,27 @@ +package net.lab1024.smartadmin.module.system.privilege.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/28 0028 上午 9:20 + * @since JDK1.8 + */ +@Data +public class PrivilegeRequestUrlVO { + + @ApiModelProperty("注释说明") + private String comment; + + @ApiModelProperty("controller.method") + private String name; + + @ApiModelProperty("url") + private String url; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/entity/PrivilegeEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/entity/PrivilegeEntity.java new file mode 100644 index 00000000..df49b874 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/domain/entity/PrivilegeEntity.java @@ -0,0 +1,57 @@ +package net.lab1024.smartadmin.module.system.privilege.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +import java.io.Serializable; + +/** + * + * [ ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Data +@TableName("t_privilege") +public class PrivilegeEntity extends BaseEntity implements Serializable { + private static final long serialVersionUID = 3848408566432915214L; + + /** + * 功能权限类型:1.模块 2.页面 3.功能点 4.子模块 + */ + private Integer type; + + /** + * 菜单名称 + */ + private String name; + + /** + * 路由name 英文关键字 + */ + @TableField(value = "`key`") + private String key; + + + private String url; + + /** + * 排序 + */ + private Integer sort; + + + /** + * 父级key + */ + private String parentKey; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeEmployeeService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeEmployeeService.java new file mode 100644 index 00000000..602a5b59 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeEmployeeService.java @@ -0,0 +1,199 @@ +package net.lab1024.smartadmin.module.system.privilege.service; + +import net.lab1024.smartadmin.common.constant.JudgeEnum; +import net.lab1024.smartadmin.common.exception.SmartBusinessException; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.privilege.constant.PrivilegeTypeEnum; +import net.lab1024.smartadmin.module.system.privilege.dao.PrivilegeDao; +import net.lab1024.smartadmin.module.system.privilege.domain.entity.PrivilegeEntity; +import net.lab1024.smartadmin.module.system.role.roleemployee.RoleEmployeeDao; +import net.lab1024.smartadmin.module.system.role.roleprivilege.RolePrivilegeDao; +import net.lab1024.smartadmin.module.system.systemconfig.SystemConfigService; +import net.lab1024.smartadmin.module.system.systemconfig.constant.SystemConfigEnum; +import net.lab1024.smartadmin.module.system.systemconfig.domain.dto.SystemConfigDTO; +import net.lab1024.smartadmin.util.SmartStringUtil; +import com.google.common.collect.Lists; +import com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.concurrent.ConcurrentMap; +import java.util.stream.Collectors; + +/** + * [ 后台员工权限缓存方法 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/28 0028 下午 14:07 + * @since JDK1.8 + */ +@Service +public class PrivilegeEmployeeService { + + /** + * 后台用户权限缓存 > + */ + private ConcurrentMap>> employeePrivileges = new ConcurrentLinkedHashMap.Builder>>().maximumWeightedCapacity(1000).build(); + private ConcurrentMap> employeePrivilegeListMap = new ConcurrentLinkedHashMap.Builder>().maximumWeightedCapacity(1000).build(); + + @Autowired + private SystemConfigService systemConfigService; + + @Autowired + private RoleEmployeeDao roleEmployeeDao; + + @Autowired + private RolePrivilegeDao rolePrivilegeDao; + + @Autowired + private PrivilegeDao privilegeDao; + + /** + * 移除某人缓存中的权限 + * + * @param employeeId + */ + public void removeCache(Long employeeId) { + this.employeePrivileges.remove(employeeId); + } + + /** + * 检查某人是否有访问某个方法的权限 + * + * @param requestTokenBO + * @param controllerName + * @param methodName + * @return + */ + public Boolean checkEmployeeHavePrivilege(RequestTokenBO requestTokenBO, String controllerName, String methodName) { + if (StringUtils.isEmpty(controllerName) || StringUtils.isEmpty(methodName)) { + return false; + } + Boolean isSuperman = requestTokenBO.getEmployeeBO().getIsSuperman(); + if (isSuperman) { + return true; + } + Map> privileges = this.getPrivileges(requestTokenBO.getRequestUserId()); + List urlList = privileges.get(controllerName.toLowerCase()); + if (CollectionUtils.isEmpty(urlList)) { + return false; + } + return urlList.contains(methodName); + } + + public List getEmployeeAllPrivilege(Long employeeId) { + return employeePrivilegeListMap.get(employeeId); + } + + /** + * 判断是否为超级管理员 + * + * @param employeeId + * @return + */ + public Boolean isSuperman(Long employeeId) { + SystemConfigDTO systemConfig = systemConfigService.getCacheByKey(SystemConfigEnum.Key.EMPLOYEE_SUPERMAN); + if (systemConfig == null) { + throw new SmartBusinessException("缺少系统配置项[" + SystemConfigEnum.Key.EMPLOYEE_SUPERMAN.name() + "]"); + } + + List superManIdsList = SmartStringUtil.splitConverToLongList(systemConfig.getConfigValue(), ","); + return superManIdsList.contains(employeeId); + } + + /** + * 根据员工ID 获取 权限信息 + * + * @param employeeId + * @return + */ + public List getPrivilegesByEmployeeId(Long employeeId) { + List privilegeEntities = null; + // 如果是超管的话 + Boolean isSuperman = this.isSuperman(employeeId); + if (isSuperman) { + privilegeEntities = privilegeDao.selectAll(); + } else { + privilegeEntities = loadPrivilegeFromDb(employeeId); + } + + if (privilegeEntities == null) { + privilegeEntities = Lists.newArrayList(); + } + + this.updateCachePrivilege(employeeId, privilegeEntities); + return privilegeEntities; + } + + /** + * 获取某人所能访问的方法 + * + * @param employeeId + * @return + */ + private Map> getPrivileges(Long employeeId) { + Map> privileges = employeePrivileges.get(employeeId); + if (privileges != null) { + return privileges; + } + List privilegeEntities = this.loadPrivilegeFromDb(employeeId); + return updateCachePrivilege(employeeId, privilegeEntities); + } + + private List loadPrivilegeFromDb(Long employeeId) { + List roleIdList = roleEmployeeDao.selectRoleIdByEmployeeId(employeeId); + if (CollectionUtils.isEmpty(roleIdList)) { + return Lists.newArrayList(); + } + List privilegeEntities = rolePrivilegeDao.listByRoleIds(roleIdList, JudgeEnum.YES.getValue()); + if (privilegeEntities != null) { + return privilegeEntities; + } + return Collections.emptyList(); + } + + public Map> updateCachePrivilege(Long employeeId, List privilegeEntities) { + employeePrivilegeListMap.put(employeeId, privilegeEntities); + List privilegeList = new ArrayList<>(); + Map> privilegeMap = new HashMap<>(16); + if (CollectionUtils.isNotEmpty(privilegeEntities)) { + List> setList = + privilegeEntities.stream().filter(e -> e.getType().equals(PrivilegeTypeEnum.POINTS.getValue())).map(PrivilegeEntity::getUrl).collect(Collectors.toList()).stream().map(e -> SmartStringUtil.splitConvertToList(e, ",")).collect(Collectors.toList()); + setList.forEach(privilegeList::addAll); + } + privilegeList.forEach(item -> { + List path = SmartStringUtil.splitConvertToList(item, "\\."); + String controllerName = path.get(0).toLowerCase(); + String methodName = path.get(1); + List methodNameList = privilegeMap.get(controllerName); + if (null == methodNameList) { + methodNameList = new ArrayList(); + } + if (!methodNameList.contains(methodName)) { + methodNameList.add(methodName); + } + privilegeMap.put(controllerName, methodNameList); + }); + + employeePrivileges.put(employeeId, privilegeMap); + return privilegeMap; + } + + public void updateOnlineEmployeePrivilegeByRoleId(Long roleId) { + List roleEmployeeList = roleEmployeeDao.selectEmployeeByRoleId(roleId); + List employeeIdList = roleEmployeeList.stream().map(e -> e.getId()).collect(Collectors.toList()); + + for (Long empId : employeePrivileges.keySet()) { + if (employeeIdList.contains(empId)) { + getPrivilegesByEmployeeId(empId); + } + } + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeRequestUrlService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeRequestUrlService.java new file mode 100644 index 00000000..f9aa07aa --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeRequestUrlService.java @@ -0,0 +1,117 @@ +package net.lab1024.smartadmin.module.system.privilege.service; + +import net.lab1024.smartadmin.constant.CommonConst; +import net.lab1024.smartadmin.module.system.privilege.domain.dto.PrivilegeRequestUrlVO; +import net.lab1024.smartadmin.util.SmartStringUtil; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.annotation.AnnotationUtils; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.mvc.method.RequestMappingInfo; +import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; + +import javax.annotation.PostConstruct; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.CopyOnWriteArrayList; + +/** + * [ 初始化 分离前后台权限URL ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/28 0028 上午 9:13 + * @since JDK1.8 + */ +@Service +public class PrivilegeRequestUrlService { + + /** + * 系统所有requestUrl + */ + private CopyOnWriteArrayList privilegeUrlDTOList = Lists.newCopyOnWriteArrayList(); + + @Autowired + private WebApplicationContext applicationContext; + + @PostConstruct + public void initAllUrl() { + this.privilegeUrlDTOList.clear(); + + RequestMappingHandlerMapping mapping = applicationContext.getBean(RequestMappingHandlerMapping.class); + //获取url与类和方法的对应信息 + Map map = mapping.getHandlerMethods(); + map.forEach((info, handlerMethod) -> { + //只对Rest 服务进行权限验证 + RestController restAnnotation = AnnotationUtils.findAnnotation(handlerMethod.getMethod().getDeclaringClass(), RestController.class); + if (restAnnotation == null) { + ResponseBody responseBody = handlerMethod.getMethod().getAnnotation(ResponseBody.class); + if (responseBody == null) { + return; + } + } + //获取url的Set集合,一个方法可能对应多个url + Set patterns = info.getPatternsCondition().getPatterns(); + if (CollectionUtils.isEmpty(patterns)) { + return; + } + String className = (String) handlerMethod.getBean(); + String methodName = handlerMethod.getMethod().getName(); + List list = SmartStringUtil.splitConvertToList(className, "\\."); + String controllerName = list.get(list.size() - 1); + String name = controllerName + "." + methodName; + + ApiOperation apiOperation = handlerMethod.getMethod().getAnnotation(ApiOperation.class); + String methodComment = null; + if (apiOperation != null) { + methodComment = apiOperation.value(); + } else { + ApiModelProperty apiModelProperty = handlerMethod.getMethod().getAnnotation(ApiModelProperty.class); + if (apiModelProperty != null) { + methodComment = apiModelProperty.value(); + } else { + methodComment = handlerMethod.getMethod().getName(); + } + } + Set urlSet = this.getUrlSet(patterns); + for (String url : urlSet) { + PrivilegeRequestUrlVO privilegeUrlDTO = new PrivilegeRequestUrlVO(); + privilegeUrlDTO.setUrl(url); + privilegeUrlDTO.setName(name); + privilegeUrlDTO.setComment(methodComment); + this.privilegeUrlDTOList.add(privilegeUrlDTO); + } + + }); + } + + private Set getUrlSet(Set patterns) { + Set urlSet = Sets.newHashSet(); + for (String url : patterns) { + for (String ignoreUrl : CommonConst.CommonCollection.IGNORE_URL_MAPPING) { + if (url.startsWith(ignoreUrl)) { + urlSet.add(url.substring(ignoreUrl.length() - 1)); + } else { + urlSet.add(url); + } + } + } + return urlSet; + } + + public List getPrivilegeList() { + return this.privilegeUrlDTOList; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeService.java new file mode 100644 index 00000000..c66a919e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeService.java @@ -0,0 +1,285 @@ +package net.lab1024.smartadmin.module.system.privilege.service; + +import com.google.common.collect.Lists; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.common.domain.ValidateList; +import net.lab1024.smartadmin.module.system.privilege.constant.PrivilegeResponseCodeConst; +import net.lab1024.smartadmin.module.system.privilege.constant.PrivilegeTypeEnum; +import net.lab1024.smartadmin.module.system.privilege.dao.PrivilegeDao; +import net.lab1024.smartadmin.module.system.privilege.domain.dto.*; +import net.lab1024.smartadmin.module.system.privilege.domain.entity.PrivilegeEntity; +import net.lab1024.smartadmin.module.system.role.roleprivilege.RolePrivilegeDao; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * [ 后台员工权限 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Service +public class PrivilegeService { + + @Autowired + private PrivilegeRequestUrlService privilegeRequestUrlService; + + @Autowired + private PrivilegeDao privilegeDao; + + @Autowired + private RolePrivilegeDao rolePrivilegeDao; + + /** + * 获取系统所有请求路径 + * + * @return + */ + public ResponseDTO> getPrivilegeUrlDTOList() { + List privilegeUrlList = privilegeRequestUrlService.getPrivilegeList(); + return ResponseDTO.succData(privilegeUrlList); + } + + /** + * 批量保存权限菜单项 + * + * @param menuList + * @return + */ + @Transactional(rollbackFor = Throwable.class) + public ResponseDTO menuBatchSave(List menuList) { + if (CollectionUtils.isEmpty(menuList)) { + return ResponseDTO.succ(); + } + //使用前端发送权限的排序 + for (int i = 0; i < menuList.size(); i++) { + menuList.get(i).setSort(i); + } + + List privilegeList = privilegeDao.selectByExcludeType(PrivilegeTypeEnum.POINTS.getValue()); + //若数据库无数据 直接全部保存 + if (CollectionUtils.isEmpty(privilegeList)) { + List menuSaveEntity = this.buildPrivilegeMenuEntity(menuList); + privilegeDao.batchInsert(menuSaveEntity); + return ResponseDTO.succ(); + } + //处理需更新的菜单项 + Map storageMap = menuList.stream().collect(Collectors.toMap(PrivilegeMenuDTO::getMenuKey, e -> e)); + Set menuKeyList = storageMap.keySet(); + List updatePrivilegeList = privilegeList.stream().filter(e -> menuKeyList.contains(e.getKey())).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(updatePrivilegeList)) { + this.rebuildPrivilegeMenuEntity(storageMap, updatePrivilegeList); + privilegeDao.batchUpdate(updatePrivilegeList); + } + //处理需删除的菜单项 + List delKeyList = privilegeList.stream().filter(e -> !menuKeyList.contains(e.getKey())).map(PrivilegeEntity::getKey).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(delKeyList)) { + privilegeDao.delByKeyList(delKeyList); + //处理需删除的功能点 + privilegeDao.delByParentKeyList(delKeyList); + rolePrivilegeDao.deleteByPrivilegeKey(delKeyList); + } + + //处理需新增的菜单项 + List dbKeyList = privilegeList.stream().map(PrivilegeEntity::getKey).collect(Collectors.toList()); + List addPrivilegeList = menuList.stream().filter(e -> !dbKeyList.contains(e.getMenuKey())).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(addPrivilegeList)) { + List menuAddEntity = this.buildPrivilegeMenuEntity(addPrivilegeList); + privilegeDao.batchInsert(menuAddEntity); + } + return ResponseDTO.succ(); + } + + /** + * 构建权限菜单项类别 + * + * @param menuList + * @return + */ + private List buildPrivilegeMenuEntity(List menuList) { + List privilegeList = Lists.newArrayList(); + PrivilegeEntity privilegeEntity; + for (PrivilegeMenuDTO menuDTO : menuList) { + privilegeEntity = new PrivilegeEntity(); + privilegeEntity.setKey(menuDTO.getMenuKey()); + privilegeEntity.setName(menuDTO.getMenuName()); + privilegeEntity.setParentKey(menuDTO.getParentKey()); + privilegeEntity.setType(menuDTO.getType()); + privilegeEntity.setSort(menuDTO.getSort()); + privilegeEntity.setUrl(menuDTO.getUrl()); + privilegeList.add(privilegeEntity); + } + return privilegeList; + } + + /** + * 更新权限菜单项 + * + * @param menuMap + * @param menuEntityList + */ + private void rebuildPrivilegeMenuEntity(Map menuMap, List menuEntityList) { + for (PrivilegeEntity menuEntity : menuEntityList) { + PrivilegeMenuDTO menuDTO = menuMap.get(menuEntity.getKey()); + menuEntity.setName(menuDTO.getMenuName()); + menuEntity.setParentKey(menuDTO.getParentKey()); + menuEntity.setType(menuDTO.getType()); + menuEntity.setSort(menuDTO.getSort()); + } + + } + + /** + * 查询所有的权限菜单 + * + * @return + */ + public ResponseDTO> menuQueryAll() { + List privilegeEntityList = privilegeDao.selectByType(PrivilegeTypeEnum.MENU.getValue()); + if (CollectionUtils.isEmpty(privilegeEntityList)) { + return ResponseDTO.succData(Lists.newArrayList()); + } + + List voList = privilegeEntityList.stream().map(e -> { + PrivilegeMenuVO vo = new PrivilegeMenuVO(); + vo.setMenuKey(e.getKey()); + vo.setMenuName(e.getName()); + vo.setParentKey(e.getParentKey()); + vo.setSort(e.getSort()); + vo.setUrl(e.getUrl()); + return vo; + }).collect(Collectors.toList()); + + return ResponseDTO.succData(voList); + } + + + /** + * 保存更新功能点 + * + * @param privilegeFunctionDTO + * @return + */ + public ResponseDTO functionSaveOrUpdate(PrivilegeFunctionDTO privilegeFunctionDTO) { + String functionKey = privilegeFunctionDTO.getFunctionKey(); + PrivilegeEntity functionEntity = privilegeDao.selectByKey(functionKey); + if (functionEntity == null) { + return ResponseDTO.wrap(PrivilegeResponseCodeConst.POINT_NOT_EXIST); + } + functionEntity.setUrl(privilegeFunctionDTO.getUrl()); + functionEntity.setName(privilegeFunctionDTO.getFunctionName()); + functionEntity.setParentKey(privilegeFunctionDTO.getMenuKey()); + functionEntity.setSort(privilegeFunctionDTO.getSort()); + privilegeDao.updateById(functionEntity); + + return ResponseDTO.succ(); + } + + /** + * 查询功能点 + * + * @param menuKey + * @return + */ + public ResponseDTO> functionQuery(String menuKey) { + List functionPrivilegeList = privilegeDao.selectByParentKey(menuKey); + if (CollectionUtils.isEmpty(functionPrivilegeList)) { + return ResponseDTO.succData(Lists.newArrayList()); + } + List functionList = Lists.newArrayList(); + for (PrivilegeEntity functionEntity : functionPrivilegeList) { + PrivilegeFunctionVO functionDTO = new PrivilegeFunctionVO(); + functionDTO.setFunctionKey(functionEntity.getKey()); + functionDTO.setFunctionName(functionEntity.getName()); + functionDTO.setMenuKey(functionEntity.getParentKey()); + functionDTO.setUrl(functionEntity.getUrl()); + functionDTO.setSort(functionEntity.getSort()); + functionList.add(functionDTO); + } + return ResponseDTO.succData(functionList); + } + + @Transactional(rollbackFor = Exception.class) + public ResponseDTO batchSaveFunctionList(ValidateList functionList) { + String menuKey = functionList.get(0).getMenuKey(); + PrivilegeEntity privilegeEntity = privilegeDao.selectByKey(menuKey); + if (privilegeEntity == null) { + return ResponseDTO.wrap(PrivilegeResponseCodeConst.MENU_NOT_EXIST); + } + + List functionKeyList = functionList.stream().map(PrivilegeFunctionDTO::getFunctionKey).collect(Collectors.toList()); + + //数据库中存在的数据 + List existFunctionList = privilegeDao.selectByKeyList(functionKeyList); + //校验是否parent key重复 + boolean parentKeyExist = existFunctionList.stream().anyMatch(e -> !menuKey.equals(e.getParentKey())); + if(parentKeyExist){ + return ResponseDTO.wrap(PrivilegeResponseCodeConst.ROUTER_KEY_NO_REPEAT); + } + + existFunctionList = privilegeDao.selectByParentKey(menuKey); + Map privilegeEntityMap = existFunctionList.stream().collect(Collectors.toMap(PrivilegeEntity::getKey, e -> e)); + //如果没有,则保存全部 + if (existFunctionList.isEmpty()) { + List privilegeEntityList = functionList.stream().map(e -> function2Privilege(e)).collect(Collectors.toList()); + privilegeDao.batchInsert(privilegeEntityList); + return ResponseDTO.succ(); + } + + Set functionKeySet = functionList.stream().map(PrivilegeFunctionDTO::getFunctionKey).collect(Collectors.toSet()); + //删除的 + List deleteIdList = existFunctionList.stream().filter(e -> !functionKeySet.contains(e.getKey())).map(PrivilegeEntity::getId).collect(Collectors.toList()); + List deleteKeyList = existFunctionList.stream().filter(e -> !functionKeySet.contains(e.getKey())).map(PrivilegeEntity::getKey).collect(Collectors.toList()); + if (!deleteIdList.isEmpty()) { + privilegeDao.deleteBatchIds(deleteIdList); + rolePrivilegeDao.deleteByPrivilegeKey(deleteKeyList); + } + + //需要更新的 + ArrayList batchUpdateList = Lists.newArrayList(); + for (PrivilegeFunctionDTO privilegeFunctionDTO : functionList) { + PrivilegeEntity existPrivilege = privilegeEntityMap.get(privilegeFunctionDTO.getFunctionKey()); + if (existPrivilege != null) { + existPrivilege.setSort(privilegeFunctionDTO.getSort()); + existPrivilege.setName(privilegeFunctionDTO.getFunctionName()); + batchUpdateList.add(existPrivilege); + } + } + + if (!batchUpdateList.isEmpty()) { + privilegeDao.batchUpdate(batchUpdateList); + } + + //新增的 + List batchInsertList = functionList.stream() + .filter(e -> !privilegeEntityMap.containsKey(e.getFunctionKey())) + .map(e -> function2Privilege(e)) + .collect(Collectors.toList()); + + if (!batchInsertList.isEmpty()) { + privilegeDao.batchInsert(batchInsertList); + } + + return ResponseDTO.succ(); + } + + private PrivilegeEntity function2Privilege(PrivilegeFunctionDTO privilegeFunction) { + PrivilegeEntity privilegeEntity = new PrivilegeEntity(); + privilegeEntity.setKey(privilegeFunction.getFunctionKey()); + privilegeEntity.setName(privilegeFunction.getFunctionName()); + privilegeEntity.setParentKey(privilegeFunction.getMenuKey()); + privilegeEntity.setType(PrivilegeTypeEnum.POINTS.getValue()); + privilegeEntity.setSort(privilegeFunction.getSort()); + privilegeEntity.setUrl(""); + return privilegeEntity; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleController.java new file mode 100644 index 00000000..c95afff7 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleController.java @@ -0,0 +1,60 @@ +package net.lab1024.smartadmin.module.system.role.basic; +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleAddDTO; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleUpdateDTO; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * 角色管理路由 + * + * @author listen + * @date 2017/12/28 10:10 + */ +@Api(tags = {SwaggerTagConst.Admin.MANAGER_ROLE}) +@OperateLog +@RestController +public class RoleController { + + @Autowired + private RoleService roleService; + + @ApiOperation(value = "添加角色", notes = "添加角色") + @PostMapping("/role/add") + public ResponseDTO addRole(@Valid @RequestBody RoleAddDTO roleAddDTO) { + return roleService.addRole(roleAddDTO); + } + + @ApiOperation(value = "删除角色", notes = "根据id删除角色") + @GetMapping("/role/delete/{roleId}") + public ResponseDTO deleteRole(@PathVariable("roleId") Long roleId) { + return roleService.deleteRole(roleId); + } + + @ApiOperation(value = "更新角色", notes = "更新角色") + @PostMapping("/role/update") + public ResponseDTO updateRole(@Valid @RequestBody RoleUpdateDTO roleUpdateDTO) { + return roleService.updateRole(roleUpdateDTO); + } + + @ApiOperation(value = "获取角色数据", notes = "根据id获取角色数据") + @GetMapping("/role/get/{roleId}") + public ResponseDTO getRole(@PathVariable("roleId") Long roleId) { + return roleService.getRoleById(roleId); + } + + @ApiOperation(value = "获取所有角色", notes = "获取所有角色数据") + @GetMapping("/role/getAll") + public ResponseDTO> getAllRole() { + return roleService.getAllRole(); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleDao.java new file mode 100644 index 00000000..91b83b4f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleDao.java @@ -0,0 +1,26 @@ +package net.lab1024.smartadmin.module.system.role.basic; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.lab1024.smartadmin.module.system.role.basic.domain.entity.RoleEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 13:00 + * @since JDK1.8 + */ +@Mapper +@Component +public interface RoleDao extends BaseMapper { + + + RoleEntity getByRoleName(@Param("roleName") String name); + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleResponseCodeConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleResponseCodeConst.java new file mode 100644 index 00000000..c1818465 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleResponseCodeConst.java @@ -0,0 +1,24 @@ +package net.lab1024.smartadmin.module.system.role.basic; +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; + +/** + * + * @author yandanyang + * 角色业务状态码 6001 - 6999 + */ +public class RoleResponseCodeConst extends ResponseCodeConst { + + /** + * 10501 角色名称已存在 + */ + public static final RoleResponseCodeConst ROLE_NAME_EXISTS = new RoleResponseCodeConst(6001, "角色名称已存在"); + + /** + * 10502 角色不存在 + */ + public static final RoleResponseCodeConst ROLE_NOT_EXISTS = new RoleResponseCodeConst(6002, "角色不存在"); + + public RoleResponseCodeConst(int code, String msg) { + super(code, msg); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleService.java new file mode 100644 index 00000000..cd0d6444 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/RoleService.java @@ -0,0 +1,114 @@ +package net.lab1024.smartadmin.module.system.role.basic; + +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleAddDTO; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleUpdateDTO; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleVO; +import net.lab1024.smartadmin.module.system.role.basic.domain.entity.RoleEntity; +import net.lab1024.smartadmin.module.system.role.roleemployee.RoleEmployeeDao; +import net.lab1024.smartadmin.module.system.role.roleprivilege.RolePrivilegeDao; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 角色管理业务 + * + * @author listen + * @date 2017/12/28 09:37 + */ +@Service +public class RoleService { + + @Autowired + private RoleDao roleDao; + + @Autowired + private RolePrivilegeDao rolePrivilegeDao; + + @Autowired + private RoleEmployeeDao roleEmployeeDao; + + /** + * 新增添加角色 + * + * @param roleAddDTO + * @return ResponseDTO + */ + public ResponseDTO addRole(RoleAddDTO roleAddDTO) { + RoleEntity employeeRoleEntity = roleDao.getByRoleName(roleAddDTO.getRoleName()); + if (null != employeeRoleEntity) { + return ResponseDTO.wrap(RoleResponseCodeConst.ROLE_NAME_EXISTS); + } + RoleEntity roleEntity = SmartBeanUtil.copy(roleAddDTO, RoleEntity.class); + roleDao.insert(roleEntity); + return ResponseDTO.succ(); + } + + /** + * 根据角色id 删除 + * + * @param roleId + * @return ResponseDTO + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO deleteRole(Long roleId) { + RoleEntity roleEntity = roleDao.selectById(roleId); + if (null == roleEntity) { + return ResponseDTO.wrap(RoleResponseCodeConst.ROLE_NOT_EXISTS); + } + roleDao.deleteById(roleId); + rolePrivilegeDao.deleteByRoleId(roleId); + roleEmployeeDao.deleteByRoleId(roleId); + return ResponseDTO.succ(); + } + + /** + * 更新角色 + * + * @param roleUpdateDTO + * @return ResponseDTO + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO updateRole(RoleUpdateDTO roleUpdateDTO) { + if (null == roleDao.selectById(roleUpdateDTO.getId())) { + return ResponseDTO.wrap(RoleResponseCodeConst.ROLE_NOT_EXISTS); + } + RoleEntity employeeRoleEntity = roleDao.getByRoleName(roleUpdateDTO.getRoleName()); + if (null != employeeRoleEntity && ! employeeRoleEntity.getId().equals(roleUpdateDTO.getId())) { + return ResponseDTO.wrap(RoleResponseCodeConst.ROLE_NAME_EXISTS); + } + RoleEntity roleEntity = SmartBeanUtil.copy(roleUpdateDTO, RoleEntity.class); + roleDao.updateById(roleEntity); + return ResponseDTO.succ(); + } + + /** + * 根据id获取角色数据 + * + * @param roleId + * @return ResponseDTO + */ + public ResponseDTO getRoleById(Long roleId) { + RoleEntity roleEntity = roleDao.selectById(roleId); + if (null == roleEntity) { + return ResponseDTO.wrap(RoleResponseCodeConst.ROLE_NOT_EXISTS); + } + RoleVO role = SmartBeanUtil.copy(roleEntity, RoleVO.class); + return ResponseDTO.succData(role); + } + + /** + * 获取所有角色列表 + * + * @return ResponseDTO + */ + public ResponseDTO> getAllRole() { + List roleEntityList = roleDao.selectList(null); + List roleList = SmartBeanUtil.copyList(roleEntityList, RoleVO.class); + return ResponseDTO.succData(roleList); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleAddDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleAddDTO.java new file mode 100644 index 00000000..ba66b68e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleAddDTO.java @@ -0,0 +1,33 @@ +package net.lab1024.smartadmin.module.system.role.basic.domain.dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotNull; + +/** + * 角色添加DTO + * + * @author listen + * @date 2017/12/28 09:40 + */ +@Data +public class RoleAddDTO { + + /** + * 角色名称 + */ + @ApiModelProperty("角色名称") + @NotNull(message = "角色名称不能为空") + @Length(min = 1, max = 20, message = "角色名称(1-20)个字符") + private String roleName; + + /** + * 角色描述 + */ + @ApiModelProperty("角色描述") + @Length(max = 255, message = "角色描述最多255个字符") + private String remark; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleBatchDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleBatchDTO.java new file mode 100644 index 00000000..af01cf8c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleBatchDTO.java @@ -0,0 +1,30 @@ +package net.lab1024.smartadmin.module.system.role.basic.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 批量添加角色员工DTO + * + * @author listen + * @date 2017/12/29 15:38 + */ +@Data +public class RoleBatchDTO { + + @ApiModelProperty("角色id") + @NotNull(message = "角色id不能为空") + protected Long roleId; + + /** + * 员工id集合 + */ + @ApiModelProperty(value = "员工id集合") + @NotEmpty(message = "员工id不能为空") + protected List employeeIds; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleQueryDTO.java new file mode 100644 index 00000000..08f2a94b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleQueryDTO.java @@ -0,0 +1,25 @@ +package net.lab1024.smartadmin.module.system.role.basic.domain.dto; +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * + * [ ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Data +public class RoleQueryDTO extends PageParamDTO { + + @ApiModelProperty("角色名称") + private String roleName; + + @ApiModelProperty("角色id") + private String roleId; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleSelectedVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleSelectedVO.java new file mode 100644 index 00000000..9a88d6d2 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleSelectedVO.java @@ -0,0 +1,21 @@ +package net.lab1024.smartadmin.module.system.role.basic.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 15:27 + * @since JDK1.8 + */ +@Data +public class RoleSelectedVO extends RoleVO { + + @ApiModelProperty("角色名称") + private Boolean selected; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleUpdateDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleUpdateDTO.java new file mode 100644 index 00000000..adde4749 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleUpdateDTO.java @@ -0,0 +1,24 @@ +package net.lab1024.smartadmin.module.system.role.basic.domain.dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * 角色更新修改DTO + * + * @author listen + * @date 2017/12/28 09:40 + */ +@Data +public class RoleUpdateDTO extends RoleAddDTO { + + /** + * 角色id + */ + @ApiModelProperty("角色id") + @NotNull(message = "角色id不能为空") + protected Long id; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleVO.java new file mode 100644 index 00000000..9f3eed90 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/dto/RoleVO.java @@ -0,0 +1,27 @@ +package net.lab1024.smartadmin.module.system.role.basic.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 15:27 + * @since JDK1.8 + */ +@Data +public class RoleVO { + + @ApiModelProperty("角色ID") + private Long id; + + @ApiModelProperty("角色名称") + private String roleName; + + @ApiModelProperty("角色备注") + private String remark; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/entity/RoleEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/entity/RoleEntity.java new file mode 100644 index 00000000..ff9d650f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/basic/domain/entity/RoleEntity.java @@ -0,0 +1,25 @@ +package net.lab1024.smartadmin.module.system.role.basic.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +/** + * [ 角色 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 13:01 + * @since JDK1.8 + */ +@Data +@TableName("t_role") +public class RoleEntity extends BaseEntity { + + + private String roleName; + + private String remark; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/RoleEmployeeController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/RoleEmployeeController.java new file mode 100644 index 00000000..72c4e507 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/RoleEmployeeController.java @@ -0,0 +1,73 @@ +package net.lab1024.smartadmin.module.system.role.roleemployee; + +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.system.employee.domain.vo.EmployeeVO; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleBatchDTO; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleQueryDTO; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleSelectedVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * 用户角色管理路由 + * + * @author listen + * @date 2017/12/28 10:10 + */ +@Api(tags = {SwaggerTagConst.Admin.MANAGER_ROLE_USER}) +@OperateLog +@RestController +public class RoleEmployeeController { + + @Autowired + private RoleEmployeeService roleEmployeeService; + + @ApiOperation(value = "获取角色成员-员工列表", notes = "获取角色成员-员工列表(分页)") + @PostMapping("/role/listEmployee") + public ResponseDTO> listEmployeeByName(@Valid @RequestBody RoleQueryDTO queryDTO) { + return roleEmployeeService.listEmployeeByName(queryDTO); + } + + @ApiOperation(value = "根据角色id获取角色员工列表(无分页)", notes = "根据角色id获取角色成员-员工列表") + @GetMapping("/role/listAllEmployee/{roleId}") + public ResponseDTO> listAllEmployeeRoleId(@PathVariable Long roleId) { + return roleEmployeeService.getAllEmployeeByRoleId(roleId); + } + + @ApiOperation(value = "从角色成员列表中移除员工", notes = "从角色成员列表中移除员工") + @ApiImplicitParams({@ApiImplicitParam(name = "employeeId", value = "员工id", paramType = "query", required = true), @ApiImplicitParam(name = "roleId", value = "角色id", paramType = "query", + required = true)}) + @GetMapping("/role/removeEmployee") + public ResponseDTO removeEmployee(Long employeeId, Long roleId) { + return roleEmployeeService.removeEmployeeRole(employeeId, roleId); + } + + @ApiOperation(value = "从角色成员列表中批量移除员工", notes = "从角色成员列表中批量移除员工") + @PostMapping("/role/removeEmployeeList") + public ResponseDTO removeEmployeeList(@Valid @RequestBody RoleBatchDTO removeDTO) { + return roleEmployeeService.batchRemoveEmployeeRole(removeDTO); + } + + @ApiOperation(value = "角色成员列表中批量添加员工", notes = "角色成员列表中批量添加员工") + @PostMapping("/role/addEmployeeList") + public ResponseDTO addEmployeeList(@Valid @RequestBody RoleBatchDTO addDTO) { + return roleEmployeeService.batchAddEmployeeRole(addDTO); + } + + @ApiOperation(value = "通过员工id获取所有角色以及员工具有的角色", notes = "通过员工id获取所有角色以及员工具有的角色") + @GetMapping("/role/getRoles/{employeeId}") + @ApiImplicitParams({@ApiImplicitParam(name = "employeeId", value = "员工id", paramType = "path", required = true)}) + public ResponseDTO> getRoleByEmployeeId(@PathVariable Long employeeId) { + return roleEmployeeService.getRolesByEmployeeId(employeeId); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/RoleEmployeeDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/RoleEmployeeDao.java new file mode 100644 index 00000000..08a484e7 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/RoleEmployeeDao.java @@ -0,0 +1,80 @@ +package net.lab1024.smartadmin.module.system.role.roleemployee; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleQueryDTO; +import net.lab1024.smartadmin.module.system.role.roleemployee.domain.RoleEmployeeEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 13:00 + * @since JDK1.8 + */ +@Mapper +@Component +public interface RoleEmployeeDao extends BaseMapper { + + /** + * 根据员工id 查询所有的角色 + * @param employeeId + * @return + */ + List selectRoleIdByEmployeeId(@Param("employeeId") Long employeeId); + + /** + * + * @param page + * @param queryDTO + * @return + */ + List selectEmployeeByNamePage(Page page, @Param("queryDTO") RoleQueryDTO queryDTO); + + /** + * + * @param roleId + * @return + */ + List selectEmployeeByRoleId(@Param("roleId") Long roleId); + /** + * 根据员工信息删除 + * @param employeeId + */ + void deleteByEmployeeId(@Param("employeeId") Long employeeId); + + /** + * 删除某个角色的所有关系 + * @param roleId + */ + void deleteByRoleId(@Param("roleId")Long roleId); + + /** + * 根据员工和 角色删除关系 + * @param employeeId + * @param roleId + */ + void deleteByEmployeeIdRoleId(@Param("employeeId") Long employeeId,@Param("roleId")Long roleId); + + /** + * 批量删除某个角色下的某批用户的关联关系 + * @param roleId + * @param employeeIds + */ + void batchDeleteEmployeeRole(@Param("roleId") Long roleId,@Param("employeeIds")List employeeIds); + + /** + * 批量新增 + * @param roleRelationList + */ + void batchInsert(List roleRelationList); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/RoleEmployeeService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/RoleEmployeeService.java new file mode 100644 index 00000000..cf57ed4f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/RoleEmployeeService.java @@ -0,0 +1,132 @@ +package net.lab1024.smartadmin.module.system.role.roleemployee; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.system.department.DepartmentDao; +import net.lab1024.smartadmin.module.system.department.domain.entity.DepartmentEntity; +import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; +import net.lab1024.smartadmin.module.system.employee.domain.vo.EmployeeVO; +import net.lab1024.smartadmin.module.system.role.basic.RoleDao; +import net.lab1024.smartadmin.module.system.role.basic.RoleResponseCodeConst; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleBatchDTO; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleQueryDTO; +import net.lab1024.smartadmin.module.system.role.basic.domain.dto.RoleSelectedVO; +import net.lab1024.smartadmin.module.system.role.basic.domain.entity.RoleEntity; +import net.lab1024.smartadmin.module.system.role.roleemployee.domain.RoleEmployeeEntity; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartPageUtil; +import com.google.common.collect.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 角色管理业务 + * + * @author zzr + * @date 2019/4/3 + */ +@Service +public class RoleEmployeeService { + + @Autowired + private RoleEmployeeDao roleEmployeeDao; + + @Autowired + private RoleDao roleDao; + + @Autowired + private DepartmentDao departmentDao; + + /** + * 通过角色id,分页获取成员员工列表 + * + * @param queryDTO + * @return + */ + public ResponseDTO> listEmployeeByName(RoleQueryDTO queryDTO) { + Page page = SmartPageUtil.convert2QueryPage(queryDTO); + List employeeDTOS = roleEmployeeDao.selectEmployeeByNamePage(page, queryDTO); + employeeDTOS.stream().filter(e -> e.getDepartmentId() != null).forEach(employeeDTO -> { + DepartmentEntity departmentEntity = departmentDao.selectById(employeeDTO.getDepartmentId()); + employeeDTO.setDepartmentName(departmentEntity.getName()); + }); + PageResultDTO pageResultDTO = SmartPageUtil.convert2PageResult(page, employeeDTOS, EmployeeVO.class); + return ResponseDTO.succData(pageResultDTO); + } + + public ResponseDTO> getAllEmployeeByRoleId(Long roleId) { + List employeeDTOS = roleEmployeeDao.selectEmployeeByRoleId(roleId); + List list = SmartBeanUtil.copyList(employeeDTOS, EmployeeVO.class); + return ResponseDTO.succData(list); + } + + /** + * 移除员工角色 + * + * @param employeeId + * @param roleId + * @return ResponseDTO + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO removeEmployeeRole(Long employeeId, Long roleId) { + if (null == employeeId || null == roleId) { + return ResponseDTO.wrap(RoleResponseCodeConst.ERROR_PARAM); + } + roleEmployeeDao.deleteByEmployeeIdRoleId(employeeId, roleId); + return ResponseDTO.succ(); + } + + /** + * 批量删除角色的成员员工 + * + * @param removeDTO + * @return ResponseDTO + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO batchRemoveEmployeeRole(RoleBatchDTO removeDTO) { + List employeeIdList = removeDTO.getEmployeeIds(); + roleEmployeeDao.batchDeleteEmployeeRole(removeDTO.getRoleId(), employeeIdList); + return ResponseDTO.succ(); + } + + /** + * 批量添加角色的成员员工 + * + * @param addDTO + * @return ResponseDTO + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO batchAddEmployeeRole(RoleBatchDTO addDTO) { + Long roleId = addDTO.getRoleId(); + List employeeIdList = addDTO.getEmployeeIds(); + roleEmployeeDao.deleteByRoleId(roleId); + List roleRelationEntities = Lists.newArrayList(); + RoleEmployeeEntity employeeRoleRelationEntity; + for (Long employeeId : employeeIdList) { + employeeRoleRelationEntity = new RoleEmployeeEntity(); + employeeRoleRelationEntity.setRoleId(roleId); + employeeRoleRelationEntity.setEmployeeId(employeeId); + roleRelationEntities.add(employeeRoleRelationEntity); + } + roleEmployeeDao.batchInsert(roleRelationEntities); + return ResponseDTO.succ(); + } + + /** + * 通过员工id获取员工角色 + * + * @param employeeId + * @return + */ + public ResponseDTO> getRolesByEmployeeId(Long employeeId) { + List roleIds = roleEmployeeDao.selectRoleIdByEmployeeId(employeeId); + List roleList = roleDao.selectList(null); + List result = SmartBeanUtil.copyList(roleList, RoleSelectedVO.class); + result.stream().forEach(item -> item.setSelected(roleIds.contains(item.getId()))); + return ResponseDTO.succData(result); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/domain/RoleEmployeeDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/domain/RoleEmployeeDTO.java new file mode 100644 index 00000000..5dc70111 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/domain/RoleEmployeeDTO.java @@ -0,0 +1,21 @@ +package net.lab1024.smartadmin.module.system.role.roleemployee.domain; + +import lombok.Data; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 15:27 + * @since JDK1.8 + */ +@Data +public class RoleEmployeeDTO { + + private Long roleId; + + private Long employeeId; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/domain/RoleEmployeeEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/domain/RoleEmployeeEntity.java new file mode 100644 index 00000000..58d16994 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleemployee/domain/RoleEmployeeEntity.java @@ -0,0 +1,24 @@ +package net.lab1024.smartadmin.module.system.role.roleemployee.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +/** + * [ 角色 员工关系] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/27 0027 下午 13:01 + * @since JDK1.8 + */ +@Data +@TableName("t_role_employee") +public class RoleEmployeeEntity extends BaseEntity { + + private Long roleId; + + private Long employeeId; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/RolePrivilegeController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/RolePrivilegeController.java new file mode 100644 index 00000000..3cb021ef --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/RolePrivilegeController.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.module.system.role.roleprivilege; + +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.system.role.roleprivilege.domain.dto.RolePrivilegeDTO; +import net.lab1024.smartadmin.module.system.role.roleprivilege.domain.dto.RolePrivilegeTreeVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * [ 与员工权限相关:角色权限关系、权限列表 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@OperateLog +@RestController +@Api(tags = {SwaggerTagConst.Admin.MANAGER_ROLE_PRIVILEGE}) +public class RolePrivilegeController { + + @Autowired + private RolePrivilegeService rolePrivilegeService; + + @ApiOperation(value = "更新角色权限", notes = "更新角色权限") + @PostMapping("/privilege/updateRolePrivilege") + public ResponseDTO updateRolePrivilege(@Valid @RequestBody RolePrivilegeDTO updateDTO) { + return rolePrivilegeService.updateRolePrivilege(updateDTO); + } + + @ApiOperation(value = "获取角色可选的功能权限", notes = "获取角色可选的功能权限") + @GetMapping("/privilege/listPrivilegeByRoleId/{roleId}") + public ResponseDTO listPrivilegeByRoleId(@PathVariable("roleId") Long roleId) { + return rolePrivilegeService.listPrivilegeByRoleId(roleId); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/RolePrivilegeDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/RolePrivilegeDao.java new file mode 100644 index 00000000..ebf4284b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/RolePrivilegeDao.java @@ -0,0 +1,58 @@ +package net.lab1024.smartadmin.module.system.role.roleprivilege; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.lab1024.smartadmin.module.system.privilege.domain.entity.PrivilegeEntity; +import net.lab1024.smartadmin.module.system.role.roleprivilege.domain.entity.RolePrivilegeEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/28 0028 下午 12:23 + * @since JDK1.8 + */ +@Mapper +@Component +public interface RolePrivilegeDao extends BaseMapper { + + /** + * 根据角色id删除 + * @param roleId + */ + void deleteByRoleId(@Param("roleId")Long roleId); + + /** + * 删除权限所关联的角色信息 + * @param privilegeKeyList + */ + void deleteByPrivilegeKey(@Param("privilegeKeyList")List privilegeKeyList); + + + /** + * 批量添加 + * @param rolePrivilegeList + */ + void batchInsert(List rolePrivilegeList); + + /** + * 查询某批角色的权限 + * @param roleIds + * @return + */ + List listByRoleIds(@Param("roleIds")List roleIds,@Param("normalStatus")Integer normalStatus); + + /** + * 查询某个角色的权限 + * @param roleId + * @return + */ + List listByRoleId(@Param("roleId")Long roleId); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/RolePrivilegeService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/RolePrivilegeService.java new file mode 100644 index 00000000..dd39f36f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/RolePrivilegeService.java @@ -0,0 +1,129 @@ +package net.lab1024.smartadmin.module.system.role.roleprivilege; + +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.module.system.privilege.dao.PrivilegeDao; +import net.lab1024.smartadmin.module.system.privilege.domain.entity.PrivilegeEntity; +import net.lab1024.smartadmin.module.system.privilege.service.PrivilegeEmployeeService; +import net.lab1024.smartadmin.module.system.role.basic.RoleDao; +import net.lab1024.smartadmin.module.system.role.basic.RoleResponseCodeConst; +import net.lab1024.smartadmin.module.system.role.basic.domain.entity.RoleEntity; +import net.lab1024.smartadmin.module.system.role.roleprivilege.domain.dto.RolePrivilegeDTO; +import net.lab1024.smartadmin.module.system.role.roleprivilege.domain.dto.RolePrivilegeSimpleDTO; +import net.lab1024.smartadmin.module.system.role.roleprivilege.domain.dto.RolePrivilegeTreeVO; +import net.lab1024.smartadmin.module.system.role.roleprivilege.domain.entity.RolePrivilegeEntity; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import com.google.common.collect.Lists; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * [ 后台员工权限 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Service +public class RolePrivilegeService { + + @Autowired + private PrivilegeDao privilegeDao; + + @Autowired + private RoleDao roleDao; + + @Autowired + private RolePrivilegeDao rolePrivilegeDao; + + @Autowired + private PrivilegeEmployeeService privilegeEmployeeService; + + /** + * 更新角色权限 + * + * @param updateDTO + * @return ResponseDTO + */ + public ResponseDTO updateRolePrivilege(RolePrivilegeDTO updateDTO) { + Long roleId = updateDTO.getRoleId(); + RoleEntity roleEntity = roleDao.selectById(roleId); + if (null == roleEntity) { + return ResponseDTO.wrap(RoleResponseCodeConst.ROLE_NOT_EXISTS); + } + rolePrivilegeDao.deleteByRoleId(roleId); + List rolePrivilegeList = Lists.newArrayList(); + RolePrivilegeEntity rolePrivilegeEntity; + for (String privilegeKey : updateDTO.getPrivilegeKeyList()) { + rolePrivilegeEntity = new RolePrivilegeEntity(); + rolePrivilegeEntity.setRoleId(roleId); + rolePrivilegeEntity.setPrivilegeKey(privilegeKey); + rolePrivilegeList.add(rolePrivilegeEntity); + } + rolePrivilegeDao.batchInsert(rolePrivilegeList); + privilegeEmployeeService.updateOnlineEmployeePrivilegeByRoleId(roleId); + return ResponseDTO.succ(); + } + + public ResponseDTO listPrivilegeByRoleId(Long roleId) { + RolePrivilegeTreeVO rolePrivilegeTreeDTO = new RolePrivilegeTreeVO(); + rolePrivilegeTreeDTO.setRoleId(roleId); + + List privilegeDTOList = privilegeDao.selectAll(); + if (CollectionUtils.isEmpty(privilegeDTOList)) { + rolePrivilegeTreeDTO.setPrivilege(Lists.newArrayList()); + rolePrivilegeTreeDTO.setSelectedKey(Lists.newArrayList()); + return ResponseDTO.succData(rolePrivilegeTreeDTO); + } + //构造权限树 + List privilegeList = this.buildPrivilegeTree(privilegeDTOList); + //设置选中状态 + List rolePrivilegeEntityList = rolePrivilegeDao.listByRoleId(roleId); + List privilegeKeyList = rolePrivilegeEntityList.stream().map(e -> e.getKey()).collect(Collectors.toList()); + rolePrivilegeTreeDTO.setPrivilege(privilegeList); + rolePrivilegeTreeDTO.setSelectedKey(privilegeKeyList); + return ResponseDTO.succData(rolePrivilegeTreeDTO); + } + + private List buildPrivilegeTree(List privilegeEntityList) { + List privilegeTree = Lists.newArrayList(); + List rootPrivilege = privilegeEntityList.stream().filter(e -> e.getParentKey() == null).collect(Collectors.toList()); + rootPrivilege.sort(Comparator.comparing(PrivilegeEntity::getSort)); + if (CollectionUtils.isEmpty(rootPrivilege)) { + return privilegeTree; + } + privilegeTree = SmartBeanUtil.copyList(rootPrivilege, RolePrivilegeSimpleDTO.class); + privilegeTree.forEach(e -> e.setChildren(Lists.newArrayList())); + this.buildChildPrivilegeList(privilegeEntityList, privilegeTree); + return privilegeTree; + } + + private void buildChildPrivilegeList(List privilegeEntityList, List parentMenuList) { + List parentKeyList = parentMenuList.stream().map(RolePrivilegeSimpleDTO :: getKey).collect(Collectors.toList()); + List childEntityList = privilegeEntityList.stream().filter(e -> parentKeyList.contains(e.getParentKey())).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(childEntityList)) { + return; + } + Map> listMap = childEntityList.stream().collect(Collectors.groupingBy(PrivilegeEntity :: getParentKey)); + for (RolePrivilegeSimpleDTO rolePrivilegeSimpleDTO : parentMenuList) { + String key = rolePrivilegeSimpleDTO.getKey(); + List privilegeEntities = listMap.get(key); + if (CollectionUtils.isEmpty(privilegeEntities)) { + continue; + } + privilegeEntities.sort(Comparator.comparing(PrivilegeEntity::getSort)); + List privilegeList = SmartBeanUtil.copyList(privilegeEntities, RolePrivilegeSimpleDTO.class); + privilegeList.forEach(e -> e.setChildren(Lists.newArrayList())); + rolePrivilegeSimpleDTO.setChildren(privilegeList); + this.buildChildPrivilegeList(privilegeEntityList, privilegeList); + } + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/dto/RolePrivilegeDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/dto/RolePrivilegeDTO.java new file mode 100644 index 00000000..261fbfd0 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/dto/RolePrivilegeDTO.java @@ -0,0 +1,35 @@ +package net.lab1024.smartadmin.module.system.role.roleprivilege.domain.dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; +/** + * + * [ ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Data +public class RolePrivilegeDTO { + + /** + * 角色id + */ + @ApiModelProperty("角色id") + @NotNull(message = "角色id不能为空") + private Long roleId; + + /** + * 功能权限id 集合 + */ + @ApiModelProperty("功能权限Key集合") + @NotNull(message = "功能权限集合不能为空") + private List privilegeKeyList; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/dto/RolePrivilegeSimpleDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/dto/RolePrivilegeSimpleDTO.java new file mode 100644 index 00000000..754b60f1 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/dto/RolePrivilegeSimpleDTO.java @@ -0,0 +1,43 @@ +package net.lab1024.smartadmin.module.system.role.roleprivilege.domain.dto; + +import net.lab1024.smartadmin.common.anno.ApiModelPropertyEnum; +import net.lab1024.smartadmin.module.system.privilege.constant.PrivilegeTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 角色功能权限 + * + * @author listen + * @date 2018/01/03 08:48 + */ +@Data +public class RolePrivilegeSimpleDTO { + + @ApiModelProperty("父级Key") + private String parentKey; + /** + * 功能名称 + */ + @ApiModelProperty("名称") + private String name; + + @ApiModelPropertyEnum(enumDesc = "类型",value = PrivilegeTypeEnum.class) + private Integer type; + + @ApiModelProperty("key") + private String key; + + @ApiModelProperty("url") + private String url; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("子级列表") + private List children; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/dto/RolePrivilegeTreeVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/dto/RolePrivilegeTreeVO.java new file mode 100644 index 00000000..2d441f85 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/dto/RolePrivilegeTreeVO.java @@ -0,0 +1,19 @@ +package net.lab1024.smartadmin.module.system.role.roleprivilege.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class RolePrivilegeTreeVO { + + @ApiModelProperty("角色ID") + private Long roleId; + + @ApiModelProperty("权限列表") + private List privilege; + + @ApiModelProperty("选中的权限") + private List selectedKey; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/entity/RolePrivilegeEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/entity/RolePrivilegeEntity.java new file mode 100644 index 00000000..b17c80cc --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/role/roleprivilege/domain/entity/RolePrivilegeEntity.java @@ -0,0 +1,32 @@ +package net.lab1024.smartadmin.module.system.role.roleprivilege.domain.entity; +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +/** + * + * [ 角色 权限关系 ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Data +@TableName("t_role_privilege") +public class RolePrivilegeEntity extends BaseEntity { + + /** + * 角色 id + */ + private Long roleId; + + /** + * 功能权限 id + */ + private String privilegeKey; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/SystemConfigController.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/SystemConfigController.java new file mode 100644 index 00000000..efe62f4c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/SystemConfigController.java @@ -0,0 +1,70 @@ +package net.lab1024.smartadmin.module.system.systemconfig; + +import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.system.systemconfig.domain.dto.SystemConfigAddDTO; +import net.lab1024.smartadmin.module.system.systemconfig.domain.dto.SystemConfigQueryDTO; +import net.lab1024.smartadmin.module.system.systemconfig.domain.dto.SystemConfigUpdateDTO; +import net.lab1024.smartadmin.module.system.systemconfig.domain.dto.SystemConfigVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; +import java.util.List; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Api(tags = {SwaggerTagConst.Admin.MANAGER_SYSTEM_CONFIG}) +@OperateLog +@RestController +public class SystemConfigController { + + @Autowired + private SystemConfigService systemConfigService; + + @ApiOperation(value = "分页查询所有系统配置", notes = "分页查询所有系统配置") + @PostMapping("systemConfig/getListPage") + public ResponseDTO> getSystemConfigPage(@RequestBody @Valid SystemConfigQueryDTO queryDTO) { + return systemConfigService.getSystemConfigPage(queryDTO); + } + + @ApiOperation(value = "添加配置参数", notes = "添加配置参数") + @PostMapping("systemConfig/add") + public ResponseDTO addSystemConfig(@RequestBody @Valid SystemConfigAddDTO configAddDTO) { + return systemConfigService.addSystemConfig(configAddDTO); + } + + @ApiOperation(value = "修改配置参数", notes = "修改配置参数") + @PostMapping("systemConfig/update") + public ResponseDTO updateSystemConfig(@RequestBody @Valid SystemConfigUpdateDTO updateDTO) { + return systemConfigService.updateSystemConfig(updateDTO); + } + + @ApiOperation(value = "根据分组查询所有系统配置", notes = "根据分组查询所有系统配置") + @GetMapping("systemConfig/getListByGroup") + public ResponseDTO> getListByGroup(String group) { + return systemConfigService.getListByGroup(group); + } + + @ApiOperation(value = "通过key获取对应的信息", notes = "通过key获取对应的信息") + @GetMapping("systemConfig/selectByKey") + public ResponseDTO selectByKey(String configKey) { + return systemConfigService.selectByKey(configKey); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/SystemConfigDao.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/SystemConfigDao.java new file mode 100644 index 00000000..e8114f11 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/SystemConfigDao.java @@ -0,0 +1,62 @@ +package net.lab1024.smartadmin.module.system.systemconfig; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.module.system.systemconfig.domain.dto.SystemConfigQueryDTO; +import net.lab1024.smartadmin.module.system.systemconfig.domain.entity.SystemConfigEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 系统参数配置 t_system_config Dao层 + * + * @author GHQ + * @date 2017-12-23 14:25 + */ +@Component +@Mapper +public interface SystemConfigDao extends BaseMapper { + + /** + * 查询所有系统配置(分页) + * + * @param page + * @return + */ + List selectSystemSettingList(Page page, @Param("queryDTO") SystemConfigQueryDTO queryDTO); + + /** + * 根据key查询获取数据 + * + * @param key + * @return + */ + SystemConfigEntity getByKey(@Param("key") String key); + + /** + * 根据key查询获取数据 排除掉某個id的数据 + * @param key + * @param excludeId + * @return + */ + SystemConfigEntity getByKeyExcludeId(@Param("key") String key,@Param("excludeId") Long excludeId); + /** + * 查询所有系统配置 + * + * @return + */ + List selectAll(); + + /** + * 根据分组查询所有系统配置 + * @param group + * @return + */ + List getListByGroup(String group); + + + SystemConfigEntity selectByKeyAndGroup(@Param("configKey") String configKey, @Param("group") String group); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/SystemConfigService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/SystemConfigService.java new file mode 100644 index 00000000..5dd00d65 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/SystemConfigService.java @@ -0,0 +1,262 @@ +package net.lab1024.smartadmin.module.system.systemconfig; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.constant.JudgeEnum; +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; +import net.lab1024.smartadmin.common.domain.PageResultDTO; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.common.reload.annotation.SmartReload; +import net.lab1024.smartadmin.constant.SmartReloadTagConst; +import net.lab1024.smartadmin.module.support.smartreload.SmartReloadService; +import net.lab1024.smartadmin.module.system.systemconfig.constant.SystemConfigDataType; +import net.lab1024.smartadmin.module.system.systemconfig.constant.SystemConfigEnum; +import net.lab1024.smartadmin.module.system.systemconfig.constant.SystemConfigResponseCodeConst; +import net.lab1024.smartadmin.module.system.systemconfig.domain.dto.*; +import net.lab1024.smartadmin.module.system.systemconfig.domain.entity.SystemConfigEntity; +import net.lab1024.smartadmin.util.SmartBeanUtil; +import net.lab1024.smartadmin.util.SmartPageUtil; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; +import java.util.regex.Pattern; + +/** + * 系统配置业务类 + * + * @author GHQ + * @date 2017-12-23 15:09 + */ +@Slf4j +@Service +public class SystemConfigService { + + /** + * 系统配置缓存 + */ + private ConcurrentHashMap systemConfigMap = new ConcurrentHashMap<>(); + + @Autowired + private SystemConfigDao systemConfigDao; + + @Autowired + private SmartReloadService smartReloadService; + + /** + * 初始化系统设置缓存 + */ + @PostConstruct + private void initSystemConfigCache() { + List entityList = systemConfigDao.selectAll(); + if (CollectionUtils.isEmpty(entityList)) { + return; + } + + systemConfigMap.clear(); + entityList.forEach(entity -> this.systemConfigMap.put(entity.getConfigKey().toLowerCase(), entity)); + log.info("系统设置缓存初始化完毕:{}", systemConfigMap.size()); + + smartReloadService.register(this); + } + + @SmartReload(SmartReloadTagConst.SYSTEM_CONFIG) + public boolean reload(String args) { + this.initSystemConfigCache(); + log.warn("<> <<{}>> , args {} reload success ", SmartReloadTagConst.SYSTEM_CONFIG, args); + return true; + } + + /** + * 分页获取系统配置 + * + * @param queryDTO + * @return + */ + public ResponseDTO> getSystemConfigPage(SystemConfigQueryDTO queryDTO) { + Page page = SmartPageUtil.convert2QueryPage(queryDTO); + if(queryDTO.getKey() != null){ + queryDTO.setKey(queryDTO.getKey().toLowerCase()); + } + List entityList = systemConfigDao.selectSystemSettingList(page, queryDTO); + PageResultDTO pageResultDTO = SmartPageUtil.convert2PageResult(page, entityList, SystemConfigVO.class); + return ResponseDTO.succData(pageResultDTO); + } + + /** + * 根据参数key获得一条数据(数据库) + * + * @param configKey + * @return + */ + public ResponseDTO selectByKey(String configKey) { + if(configKey != null){ + configKey = configKey.toLowerCase(); + } + SystemConfigEntity entity = systemConfigDao.getByKey(configKey); + if (entity == null) { + return ResponseDTO.wrap(SystemConfigResponseCodeConst.NOT_EXIST); + } + SystemConfigVO configDTO = SmartBeanUtil.copy(entity, SystemConfigVO.class); + return ResponseDTO.succData(configDTO); + } + + /** + * 根据参数key获得一条数据 并转换为 对象 + * + * @param configKey + * @param clazz + * @param + * @return + */ + public T selectByKey2Obj(String configKey, Class clazz) { + if(configKey != null){ + configKey = configKey.toLowerCase(); + } + SystemConfigEntity entity = systemConfigDao.getByKey(configKey); + if (entity == null) { + return null; + } + SystemConfigDTO configDTO = SmartBeanUtil.copy(entity, SystemConfigDTO.class); + String configValue = configDTO.getConfigValue(); + if (StringUtils.isEmpty(configValue)) { + return null; + } + T obj = JSON.parseObject(configValue, clazz); + return obj; + } + + public SystemConfigDTO getCacheByKey(SystemConfigEnum.Key key) { + SystemConfigEntity entity = this.systemConfigMap.get(key.name().toLowerCase()); + if (entity == null) { + return null; + } + return SmartBeanUtil.copy(entity, SystemConfigDTO.class); + } + + /** + * 添加系统配置 + * + * @param configAddDTO + * @return + */ + public ResponseDTO addSystemConfig(SystemConfigAddDTO configAddDTO) { + configAddDTO.setConfigKey(configAddDTO.getConfigKey().toLowerCase()); + SystemConfigEntity entity = systemConfigDao.getByKey(configAddDTO.getConfigKey()); + if (entity != null) { + return ResponseDTO.wrap(SystemConfigResponseCodeConst.ALREADY_EXIST); + } + ResponseDTO valueValid = this.configValueValid(configAddDTO.getConfigKey(),configAddDTO.getConfigValue()); + if(!valueValid.isSuccess()){ + return valueValid; + } + configAddDTO.setConfigKey(configAddDTO.getConfigKey().toLowerCase()); + SystemConfigEntity addEntity = SmartBeanUtil.copy(configAddDTO, SystemConfigEntity.class); + addEntity.setIsUsing(JudgeEnum.YES.getValue()); + systemConfigDao.insert(addEntity); + //刷新缓存 + this.initSystemConfigCache(); + return ResponseDTO.succ(); + } + + /** + * 更新系统配置 + * + * @param updateDTO + * @return + */ + public ResponseDTO updateSystemConfig(SystemConfigUpdateDTO updateDTO) { + updateDTO.setConfigKey(updateDTO.getConfigKey().toLowerCase()); + SystemConfigEntity entity = systemConfigDao.selectById(updateDTO.getId()); + //系统配置不存在 + if (entity == null) { + return ResponseDTO.wrap(SystemConfigResponseCodeConst.NOT_EXIST); + } + SystemConfigEntity alreadyEntity = systemConfigDao.getByKeyExcludeId(updateDTO.getConfigKey().toLowerCase(), updateDTO.getId()); + if (alreadyEntity != null) { + return ResponseDTO.wrap(SystemConfigResponseCodeConst.ALREADY_EXIST); + } + ResponseDTO valueValid = this.configValueValid(updateDTO.getConfigKey(),updateDTO.getConfigValue()); + if(!valueValid.isSuccess()){ + return valueValid; + } + entity = SmartBeanUtil.copy(updateDTO, SystemConfigEntity.class); + updateDTO.setConfigKey(updateDTO.getConfigKey().toLowerCase()); + systemConfigDao.updateById(entity); + + //刷新缓存 + this.initSystemConfigCache(); + return ResponseDTO.succ(); + } + + + private ResponseDTO configValueValid(String configKey , String configValue){ + SystemConfigEnum.Key configKeyEnum = SystemConfigEnum.Key.selectByKey(configKey); + if(configKeyEnum == null){ + return ResponseDTO.succ(); + } + SystemConfigDataType dataType = configKeyEnum.getDataType(); + if(dataType == null){ + return ResponseDTO.succ(); + } + if(dataType.name().equals(SystemConfigDataType.TEXT.name())){ + return ResponseDTO.succ(); + } + if(dataType.name().equals(SystemConfigDataType.JSON.name())){ + try { + JSONObject jsonStr = JSONObject.parseObject(configValue); + return ResponseDTO.succ(); + } catch (Exception e) { + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM,"数据格式不是JSON,请修改后提交。"); + } + } + if(StringUtils.isNotEmpty(dataType.getValid())){ + Boolean valid = Pattern.matches(dataType.getValid(), configValue); + if(valid){ + return ResponseDTO.succ(); + } + return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM,"数据格式不是"+dataType.name().toLowerCase()+",请修改后提交。"); + } + + return ResponseDTO.succ(); + } + + /** + * 根据分组名称 获取获取系统设置 + * + * @param group + * @return + */ + public ResponseDTO> getListByGroup(String group) { + + List entityList = systemConfigDao.getListByGroup(group); + if (CollectionUtils.isEmpty(entityList)) { + return ResponseDTO.succData(Lists.newArrayList()); + } + List systemConfigList = SmartBeanUtil.copyList(entityList, SystemConfigVO.class); + return ResponseDTO.succData(systemConfigList); + } + + /** + * 根据分组名称 获取获取系统设置 + * + * @param group + * @return + */ + public List getListByGroup(SystemConfigEnum.Group group) { + List entityList = systemConfigDao.getListByGroup(group.name()); + if (CollectionUtils.isEmpty(entityList)) { + return Lists.newArrayList(); + } + List systemConfigList = SmartBeanUtil.copyList(entityList, SystemConfigDTO.class); + return systemConfigList; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/constant/SystemConfigDataType.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/constant/SystemConfigDataType.java new file mode 100644 index 00000000..900256d8 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/constant/SystemConfigDataType.java @@ -0,0 +1,67 @@ +package net.lab1024.smartadmin.module.system.systemconfig.constant; + +import net.lab1024.smartadmin.util.SmartVerificationUtil; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/9/4 0004 上午 11:43 + * @since JDK1.8 + */ +public enum SystemConfigDataType { + /** + * 整数 + */ + INTEGER(SmartVerificationUtil.INTEGER), + /** + * 文本 + */ + TEXT(null), + /** + * url地址 + */ + URL(SmartVerificationUtil.URL), + /** + * 邮箱 + */ + EMAIL(SmartVerificationUtil.EMAIL), + /** + * JSON 字符串 + */ + JSON(null), + /** + * 2019-08 + */ + YEAR_MONTH(SmartVerificationUtil.YEAR_MONTH), + /** + * 2019-08-01 + */ + DATE(SmartVerificationUtil.DATE), + /** + * 2019-08-01 10:23 + */ + DATE_TIME(SmartVerificationUtil.DATE_TIME), + /** + * 10:23-10:56 + */ + TIME_SECTION(SmartVerificationUtil.TIME_SECTION), + /** + * 10:23 + */ + TIME(SmartVerificationUtil.TIME); + + private String valid; + + + SystemConfigDataType(String valid){ + this.valid = valid; + } + + public String getValid() { + return valid; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/constant/SystemConfigEnum.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/constant/SystemConfigEnum.java new file mode 100644 index 00000000..9791d772 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/constant/SystemConfigEnum.java @@ -0,0 +1,68 @@ +package net.lab1024.smartadmin.module.system.systemconfig.constant; + + +import java.util.Arrays; +import java.util.Optional; + +/** + * [ 系统配置常量类 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +public class SystemConfigEnum { + + public enum Group { + BACK, + GIT_LOG + } + + public enum Key { + /** + * 超管id + */ + EMPLOYEE_SUPERMAN(SystemConfigDataType.TEXT), + /** + * 阿里云OSS配置项 + */ + ALI_OSS(SystemConfigDataType.JSON), + /** + * 七牛云OSS配置项 + */ + QI_NIU_OSS(SystemConfigDataType.JSON), + /** + * 本地文件上传url前缀 + */ + LOCAL_UPLOAD_URL_PREFIX(SystemConfigDataType.URL), + /** + * 邮件配置 + */ + EMAIL_CONFIG(SystemConfigDataType.JSON), + /** + * git-log 插件 + */ + GIT_LOG_PLUGIN(SystemConfigDataType.JSON); + + private SystemConfigDataType dataType; + + Key(SystemConfigDataType dataType) { + this.dataType = dataType; + } + + + public SystemConfigDataType getDataType() { + return dataType; + } + + public static Key selectByKey(String key) { + Key[] values = Key.values(); + Optional first = Arrays.stream(values).filter(e -> e.name().equalsIgnoreCase(key)).findFirst(); + return !first.isPresent() ? null : first.get(); + } + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/constant/SystemConfigResponseCodeConst.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/constant/SystemConfigResponseCodeConst.java new file mode 100644 index 00000000..fd9fa9e4 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/constant/SystemConfigResponseCodeConst.java @@ -0,0 +1,29 @@ +package net.lab1024.smartadmin.module.system.systemconfig.constant; +import net.lab1024.smartadmin.common.constant.ResponseCodeConst; + +/** + * + * [ 5001-5999 ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +public class SystemConfigResponseCodeConst extends ResponseCodeConst { + + /** + * 配置参数已存在 10201 + */ + public static final SystemConfigResponseCodeConst ALREADY_EXIST = new SystemConfigResponseCodeConst(5001, "配置参数已存在"); + /** + * 配置参数不存在 10203 + */ + public static final SystemConfigResponseCodeConst NOT_EXIST = new SystemConfigResponseCodeConst(5002, "配置参数不存在"); + + public SystemConfigResponseCodeConst(int code, String msg) { + super(code, msg); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigAddDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigAddDTO.java new file mode 100644 index 00000000..18b8a7c9 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigAddDTO.java @@ -0,0 +1,45 @@ +package net.lab1024.smartadmin.module.system.systemconfig.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Data +public class SystemConfigAddDTO { + + @ApiModelProperty("参数key") + @NotBlank(message = "参数key不能为空") + @Length(max = 255, message = "参数key最多255个字符") + private String configKey; + + @ApiModelProperty("参数的值") + @NotBlank(message = "参数的值不能为空") + @Length(max = 65530, message = "参数的值最多65530个字符") + private String configValue; + + @ApiModelProperty("参数名称") + @NotBlank(message = "参数名称不能为空") + @Length(max = 255, message = "参数名称最多255个字符") + private String configName; + + @ApiModelProperty("参数类别") + @NotBlank(message = "参数类别不能为空") + @Length(max = 255, message = "参数类别最多255个字符") + private String configGroup; + + @ApiModelProperty("备注") + @Length(max = 255, message = "备注最多255个字符") + private String remark; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigDTO.java new file mode 100644 index 00000000..16aadef5 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigDTO.java @@ -0,0 +1,50 @@ +package net.lab1024.smartadmin.module.system.systemconfig.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * + * [ ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Data +public class SystemConfigDTO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("参数key") + private String configKey; + + @ApiModelProperty("参数的值") + private String configValue; + + @ApiModelProperty("参数名称") + private String configName; + + @ApiModelProperty("参数类别") + private String configGroup; + + @ApiModelProperty("是否使用0 是 1否") + private Integer isUsing; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("上次修改时间") + private Date updateTime; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigQueryDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigQueryDTO.java new file mode 100644 index 00000000..458ef395 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigQueryDTO.java @@ -0,0 +1,29 @@ +package net.lab1024.smartadmin.module.system.systemconfig.domain.dto; + + +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * + * [ ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Data +public class SystemConfigQueryDTO extends PageParamDTO { + + @ApiModelProperty("参数KEY") + private String key; + + @ApiModelProperty("参数类别") + private String configGroup; + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigUpdateDTO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigUpdateDTO.java new file mode 100644 index 00000000..2fa29788 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigUpdateDTO.java @@ -0,0 +1,25 @@ +package net.lab1024.smartadmin.module.system.systemconfig.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * + * [ ] + * + * @version 1.0 + * @since JDK1.8 + * @author yandanyang + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + */ +@Data +public class SystemConfigUpdateDTO extends SystemConfigAddDTO{ + + @ApiModelProperty("id") + @NotNull(message = "id不能为空") + private Long id; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigVO.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigVO.java new file mode 100644 index 00000000..3b5de292 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/dto/SystemConfigVO.java @@ -0,0 +1,48 @@ +package net.lab1024.smartadmin.module.system.systemconfig.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +@Data +public class SystemConfigVO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("参数key") + private String configKey; + + @ApiModelProperty("参数的值") + private String configValue; + + @ApiModelProperty("参数名称") + private String configName; + + @ApiModelProperty("参数类别") + private String configGroup; + + @ApiModelProperty("是否使用0 是 1否") + private Integer isUsing; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("上次修改时间") + private Date updateTime; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/entity/SystemConfigEntity.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/entity/SystemConfigEntity.java new file mode 100644 index 00000000..18ca1f9f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/systemconfig/domain/entity/SystemConfigEntity.java @@ -0,0 +1,51 @@ +package net.lab1024.smartadmin.module.system.systemconfig.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import net.lab1024.smartadmin.common.domain.BaseEntity; +import lombok.Data; + +import java.io.Serializable; + +/** + * 系统配置参数 实体类 + * + * @author GHQ + * @date 2017-12-23 13:41 + */ +@Data +@TableName(value = "t_system_config") +public class SystemConfigEntity extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 257284726400352502L; + + /** + * 参数key + */ + private String configKey; + + /** + * 参数的值 + */ + private String configValue; + + /** + * 参数名称 + */ + private String configName; + + /** + * 参数类别 + */ + private String configGroup; + + /** + * 是否使用0 是 1否 + */ + private Integer isUsing; + + /** + * 备注 + */ + private String remark; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/third/SmartApplicationContext.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/third/SmartApplicationContext.java new file mode 100644 index 00000000..fc366789 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/third/SmartApplicationContext.java @@ -0,0 +1,80 @@ +package net.lab1024.smartadmin.third; + +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +/** + * [ApplicationContextHelper] + * + * @author yandanyang + * @version 1.0 + * @since JDK1.8 + */ +@Component +public class SmartApplicationContext implements ApplicationContextAware { + /** + * 上下文对象实例 + */ + private static ApplicationContext applicationContext = null; + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + if(SmartApplicationContext.applicationContext == null){ + + SmartApplicationContext.applicationContext = applicationContext; + + } + } + + /** + * 获取applicationContext + * @return + */ + public static ApplicationContext getApplicationContext() { + return applicationContext; + } + + /** + * 通过name获取 Bean. + * @param name + * @return + */ + public static Object getBean(String name){ + ApplicationContext applicationContext = getApplicationContext(); + if(applicationContext == null){ + return null; + } + return applicationContext.getBean(name); + } + + /** + * 通过class获取Bean. + * @param clazz + * @param + * @return + */ + public static T getBean(Class clazz){ + ApplicationContext applicationContext = getApplicationContext(); + if(applicationContext == null){ + return null; + } + return applicationContext.getBean(clazz); + } + + /** + * 通过name,以及Clazz返回指定的Bean + * @param name + * @param clazz + * @param + * @return + */ + public static T getBean(String name,Class clazz){ + ApplicationContext applicationContext = getApplicationContext(); + if(applicationContext == null){ + return null; + } + return applicationContext.getBean(name, clazz); + } +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/third/SmartRedisService.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/third/SmartRedisService.java new file mode 100644 index 00000000..da36246a --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/third/SmartRedisService.java @@ -0,0 +1,622 @@ +package net.lab1024.smartadmin.third; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.*; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.TimeUnit; + +/** + * [ redis 一顿操作 ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/3/26 0026 下午 18:12 + * @since JDK1.8 + */ +@Slf4j +@Component +public class SmartRedisService { + + @Autowired + private RedisTemplate redisTemplate; + + @Autowired + private ValueOperations redisValueOperations; + + @Autowired + private HashOperations redisHashOperations; + + @Autowired + private ListOperations redisListOperations; + + @Autowired + private SetOperations redisSetOperations; + + /** + * 指定缓存失效时间 + * + * @param key 键 + * @param time 时间(秒) + * @return + */ + public boolean expire(String key, long time) { + try { + if (time > 0) { + redisTemplate.expire(key, time, TimeUnit.SECONDS); + } + return true; + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * 根据key 获取过期时间 + * + * @param key 键 不能为null + * @return 时间(秒) 返回0代表为永久有效 + */ + public long getExpire(String key) { + return redisTemplate.getExpire(key, TimeUnit.SECONDS); + } + + /** + * 判断key是否存在 + * + * @param key 键 + * @return true 存在 false不存在 + */ + public boolean hasKey(String key) { + try { + return redisTemplate.hasKey(key); + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * 删除缓存 + * + * @param key 可以传一个值 或多个 + */ + @SuppressWarnings("unchecked") + public void del(String... key) { + if (key != null && key.length > 0) { + if (key.length == 1) { + redisTemplate.delete(key[0]); + } else { + redisTemplate.delete(CollectionUtils.arrayToList(key)); + } + } + } + + //============================String============================= + + /** + * 普通缓存获取 + * + * @param key 键 + * @return 值 + */ + public String get(String key) { + return key == null ? null : redisValueOperations.get(key); + } + + public T getObject(String key, Class clazz) { + Object json = this.get(key); + if (json == null) { + return null; + } + T obj = JSON.parseObject(json.toString(), clazz); + return obj; + } + + public List getList(String key, Class clz) { + Object json = this.get(key); + if (json == null) { + return Lists.newArrayList(); + } + List list = JSONObject.parseArray(json.toString(), clz); + return list; + } + + /** + * 普通缓存放入 + * + * @param key 键 + * @param value 值 + * @return true成功 false失败 + */ + public boolean set(String key, String value) { + try { + redisValueOperations.set(key, value); + return true; + } catch (Exception e) { + log.error("", e); + return false; + } + + } + + /** + * 普通缓存放入并设置时间 + * + * @param key 键 + * @param value 值 + * @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期 + * @return true成功 false 失败 + */ + public boolean set(String key, String value, long time) { + try { + if (time > 0) { + redisValueOperations.set(key, value, time, TimeUnit.SECONDS); + } else { + set(key, value); + } + return true; + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * 递增 + * + * @param key 键 + * @param delta 要增加几(大于0) + * @return + */ + public long incr(String key, long delta) { + if (delta < 0) { + throw new RuntimeException("递增因子必须大于0"); + } + return redisValueOperations.increment(key, delta); + } + + /** + * 递减 + * + * @param key 键 + * @param delta 要减少几(小于0) + * @return + */ + public long decr(String key, long delta) { + if (delta < 0) { + throw new RuntimeException("递减因子必须大于0"); + } + return redisValueOperations.increment(key, - delta); + } + + //================================Map================================= + + /** + * HashGet + * + * @param key 键 不能为null + * @param item 项 不能为null + * @return 值 + */ + public Object hget(String key, String item) { + return redisHashOperations.get(key, item); + } + + /** + * 获取hashKey对应的所有键值 + * + * @param key 键 + * @return 对应的多个键值 + */ + public Map hmget(String key) { + return redisHashOperations.entries(key); + } + + /** + * HashSet + * + * @param key 键 + * @param map 对应多个键值 + * @return true 成功 false 失败 + */ + public boolean hmset(String key, Map map) { + try { + redisHashOperations.putAll(key, map); + return true; + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * HashSet 并设置时间 + * + * @param key 键 + * @param map 对应多个键值 + * @param time 时间(秒) + * @return true成功 false失败 + */ + public boolean hmset(String key, Map map, long time) { + try { + redisHashOperations.putAll(key, map); + if (time > 0) { + expire(key, time); + } + return true; + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * 向一张hash表中放入数据,如果不存在将创建 + * + * @param key 键 + * @param item 项 + * @param value 值 + * @return true 成功 false失败 + */ + public boolean hset(String key, String item, Object value) { + try { + redisHashOperations.put(key, item, value); + return true; + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * 向一张hash表中放入数据,如果不存在将创建 + * + * @param key 键 + * @param item 项 + * @param value 值 + * @param time 时间(秒) 注意:如果已存在的hash表有时间,这里将会替换原有的时间 + * @return true 成功 false失败 + */ + public boolean hset(String key, String item, Object value, long time) { + try { + redisHashOperations.put(key, item, value); + if (time > 0) { + expire(key, time); + } + return true; + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * 删除hash表中的值 + * + * @param key 键 不能为null + * @param item 项 可以使多个 不能为null + */ + public void hdel(String key, Object... item) { + redisHashOperations.delete(key, item); + } + + /** + * 判断hash表中是否有该项的值 + * + * @param key 键 不能为null + * @param item 项 不能为null + * @return true 存在 false不存在 + */ + public boolean hHasKey(String key, String item) { + return redisHashOperations.hasKey(key, item); + } + + /** + * hash递增 如果不存在,就会创建一个 并把新增后的值返回 + * + * @param key 键 + * @param item 项 + * @param by 要增加几(大于0) + * @return + */ + public double hincr(String key, String item, double by) { + return redisHashOperations.increment(key, item, by); + } + + /** + * hash递减 + * + * @param key 键 + * @param item 项 + * @param by 要减少记(小于0) + * @return + */ + public double hdecr(String key, String item, double by) { + return redisHashOperations.increment(key, item, - by); + } + + //============================set============================= + + /** + * 根据key获取Set中的所有值 + * + * @param key 键 + * @return + */ + public Set sGet(String key) { + try { + return redisSetOperations.members(key); + } catch (Exception e) { + log.error("", e); + return null; + } + } + + /** + * 根据value从一个set中查询,是否存在 + * + * @param key 键 + * @param value 值 + * @return true 存在 false不存在 + */ + public boolean sHasKey(String key, Object value) { + try { + return redisSetOperations.isMember(key, value); + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * 将数据放入set缓存 + * + * @param key 键 + * @param values 值 可以是多个 + * @return 成功个数 + */ + public long sSet(String key, Object... values) { + try { + return redisSetOperations.add(key, values); + } catch (Exception e) { + log.error("", e); + return 0; + } + } + + /** + * 将set数据放入缓存 + * + * @param key 键 + * @param time 时间(秒) + * @param values 值 可以是多个 + * @return 成功个数 + */ + public long sSetAndTime(String key, long time, Object... values) { + try { + Long count = redisSetOperations.add(key, values); + if (time > 0) { + expire(key, time); + } + return count; + } catch (Exception e) { + log.error("", e); + return 0; + } + } + + /** + * 获取set缓存的长度 + * + * @param key 键 + * @return + */ + public long sGetSetSize(String key) { + try { + return redisSetOperations.size(key); + } catch (Exception e) { + log.error("", e); + return 0; + } + } + + /** + * 移除值为value的 + * + * @param key 键 + * @param values 值 可以是多个 + * @return 移除的个数 + */ + public long setRemove(String key, Object... values) { + try { + Long count = redisSetOperations.remove(key, values); + return count; + } catch (Exception e) { + log.error("", e); + return 0; + } + } + //===============================list================================= + + /** + * 获取list缓存的内容 + * + * @param key 键 + * @param start 开始 + * @param end 结束 0 到 -1代表所有值 + * @return + */ + public List lGet(String key, long start, long end) { + try { + return redisListOperations.range(key, start, end); + } catch (Exception e) { + log.error("", e); + return null; + } + } + + /** + * 获取list缓存的所有内容 + * + * @param key + * @return + */ + public List lGetAll(String key) { + return lGet(key, 0, - 1); + } + + /** + * 获取list缓存的长度 + * + * @param key 键 + * @return + */ + public long lGetListSize(String key) { + try { + return redisListOperations.size(key); + } catch (Exception e) { + log.error("", e); + return 0; + } + } + + /** + * 通过索引 获取list中的值 + * + * @param key 键 + * @param index 索引 index>=0时, 0 表头,1 第二个元素,依次类推;index<0时,-1,表尾,-2倒数第二个元素,依次类推 + * @return + */ + public Object lGetIndex(String key, long index) { + try { + return redisListOperations.index(key, index); + } catch (Exception e) { + log.error("", e); + return null; + } + } + + /** + * 将list放入缓存 + * + * @param key 键 + * @param value 值 + * @return + */ + public boolean lSet(String key, Object value) { + try { + redisListOperations.rightPush(key, value); + return true; + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * 将list放入缓存 + * + * @param key 键 + * @param value 值 + * @param time 时间(秒) + * @return + */ + public boolean lSet(String key, Object value, long time) { + try { + redisListOperations.rightPush(key, value); + if (time > 0) { + expire(key, time); + } + return true; + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * 将list放入缓存 + * + * @param key 键 + * @param value 值 + * @return + */ + public boolean lSet(String key, List value) { + try { + redisListOperations.rightPushAll(key, value); + return true; + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * 将list放入缓存 + * + * @param key 键 + * @param value 值 + * @param time 时间(秒) + * @return + */ + public boolean lSet(String key, List value, long time) { + try { + redisListOperations.rightPushAll(key, value); + if (time > 0) { + expire(key, time); + } + return true; + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * 根据索引修改list中的某条数据 + * + * @param key 键 + * @param index 索引 + * @param value 值 + * @return + */ + public boolean lUpdateIndex(String key, long index, Object value) { + try { + redisListOperations.set(key, index, value); + return true; + } catch (Exception e) { + log.error("", e); + return false; + } + } + + /** + * 移除N个值为value + * + * @param key 键 + * @param count 移除多少个 + * @param value 值 + * @return 移除的个数 + */ + public long lRemove(String key, long count, Object value) { + try { + Long remove = redisListOperations.remove(key, count, value); + return remove; + } catch (Exception e) { + log.error("", e); + return 0; + } + } +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartBaseEnumUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartBaseEnumUtil.java new file mode 100644 index 00000000..e433367b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartBaseEnumUtil.java @@ -0,0 +1,85 @@ +package net.lab1024.smartadmin.util; + +import net.lab1024.smartadmin.common.domain.BaseEnum; + +/** + * 枚举工具类 + * + * @author listen + * @date 2017/10/10 18:17 + */ +public class SmartBaseEnumUtil { + + /** + * 校验int类型的参数与枚举类比较是否合法 + * + * @param value 参数 + * @param enumClass 枚举类必须实现BaseEnum接口 + * @return boolean + * @Author listen + */ + public static boolean checkEnum(Integer value, Class enumClass) { + if (null == value) { + return false; + } + BaseEnum[] enums = enumClass.getEnumConstants(); + for (BaseEnum baseEnum : enums) { + if (baseEnum.equalsValue(value)) { + return true; + } + } + return false; + } + + /** + * 获取枚举类的说明 value : info 的形式 + * + * @param enumClass + * @return String + */ + public static String getEnumDesc(Class enumClass) { + BaseEnum[] enums = enumClass.getEnumConstants(); + // value : info 的形式 + StringBuilder sb = new StringBuilder(); + for (BaseEnum baseEnum : enums) { + sb.append(baseEnum.getValue() + ":" + baseEnum.getDesc() + ","); + } + return sb.toString(); + } + + /** + * 获取与int Code相匹配的枚举类的info + * + * @param value 参数 + * @param enumClass 枚举类必须实现BaseEnum接口 + * @return String 如无匹配枚举则返回null + */ + public static String getEnumDescByValue(Integer value, Class enumClass) { + BaseEnum[] enums = enumClass.getEnumConstants(); + for (BaseEnum baseEnum : enums) { + if (baseEnum.equalsValue(value)) { + return baseEnum.getDesc(); + } + } + return null; + } + + /** + * 根据int类型的参数与获取枚举类的实例 + * + * @param value 参数 + * @param enumClass 枚举类必须实现BaseEnum接口 + * @return BaseEnum 无匹配值返回null + * @Author listen + */ + public static T getEnumByValue(Object value, Class enumClass) { + T[] enums = enumClass.getEnumConstants(); + for (T baseEnum : enums) { + if (baseEnum.equalsValue(value)) { + return baseEnum; + } + } + return null; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartBeanUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartBeanUtil.java new file mode 100644 index 00000000..6d36c05b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartBeanUtil.java @@ -0,0 +1,59 @@ +package net.lab1024.smartadmin.util; + +import org.springframework.beans.BeanUtils; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +public class SmartBeanUtil { + + /** + * 复制bean的属性 + * + * @param source 源 要复制的对象 + * @param target 目标 复制到此对象 + */ + public static void copyProperties(Object source, Object target) { + BeanUtils.copyProperties(source, target); + } + + /** + * 复制对象 + * + * @param source 源 要复制的对象 + * @param target 目标 复制到此对象 + * @param + * @return + */ + public static T copy(Object source, Class target) { + if(source == null || target == null){ + return null; + } + try { + T newInstance = target.newInstance(); + BeanUtils.copyProperties(source, newInstance); + return newInstance; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + /** + * 复制list + * + * @param source + * @param target + * @param + * @param + * @return + */ + public static List copyList(List source, Class target) { + + if (null == source || source.isEmpty()) { + return Collections.emptyList(); + } + return source.stream().map(e -> copy(e, target)).collect(Collectors.toList()); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartBigDecimalUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartBigDecimalUtil.java new file mode 100644 index 00000000..651f3d4e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartBigDecimalUtil.java @@ -0,0 +1,333 @@ +package net.lab1024.smartadmin.util; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.NumberFormat; + +/** + * 全局 BigDecimal 工具类 + * + * @author listen + * @date 2018/01/17 13:54 + */ +public class SmartBigDecimalUtil { + + /** + * 价格类型 保留小数点 2 + */ + public static final int PRICE_DECIMAL_POINT = 2; + + /** + * 价格类型 保留小数点 6 + */ + public static final int SIX_PRICE_DECIMAL_POINT = 6; + + /** + * 重量类型保留小数点 3 + */ + public static final int WEIGHT_DECIMAL_POINT = 3; + + /** + * 金额相关计算方法:四舍五入 保留2位小数点 + */ + public static class Amount { + + public static BigDecimal add(BigDecimal num1, BigDecimal num2) { + return setScale(num1.add(num2), PRICE_DECIMAL_POINT); + } + + public static BigDecimal multiply(BigDecimal num1, BigDecimal num2) { + return setScale(num1.multiply(num2), PRICE_DECIMAL_POINT); + } + + public static BigDecimal subtract(BigDecimal num1, BigDecimal num2) { + return setScale(num1.subtract(num2), PRICE_DECIMAL_POINT); + } + + public static BigDecimal divide(BigDecimal num1, BigDecimal num2) { + return setScale(num1.divide(num2, RoundingMode.HALF_UP), PRICE_DECIMAL_POINT); + } + } + + /** + * 金额相关计算方法:四舍五入 保留2位小数点 + */ + public static class AmountSix { + + public static BigDecimal add(BigDecimal num1, BigDecimal num2) { + return setScale(num1.add(num2), SIX_PRICE_DECIMAL_POINT); + } + + public static BigDecimal multiply(BigDecimal num1, BigDecimal num2) { + return setScale(num1.multiply(num2), SIX_PRICE_DECIMAL_POINT); + } + + public static BigDecimal subtract(BigDecimal num1, BigDecimal num2) { + return setScale(num1.subtract(num2), SIX_PRICE_DECIMAL_POINT); + } + + public static BigDecimal divide(BigDecimal num1, BigDecimal num2) { + return num1.divide(num2, PRICE_DECIMAL_POINT, RoundingMode.HALF_UP); + } + } + + /** + * 重量相关计算方法:四舍五入 保留3位小数点 + */ + public static class Weight { + + public static BigDecimal add(BigDecimal num1, BigDecimal num2) { + return setScale(num1.add(num2), WEIGHT_DECIMAL_POINT); + } + + public static BigDecimal multiply(BigDecimal num1, BigDecimal num2) { + return setScale(num1.multiply(num2), WEIGHT_DECIMAL_POINT); + } + + public static BigDecimal subtract(BigDecimal num1, BigDecimal num2) { + return setScale(num1.subtract(num2), WEIGHT_DECIMAL_POINT); + } + + public static BigDecimal divide(BigDecimal num1, BigDecimal num2) { + return num1.divide(num2, WEIGHT_DECIMAL_POINT, RoundingMode.HALF_UP); + } + } + + /** + * BigDecimal 加法 num1 + num2 + * 未做非空校验 + * + * @param num1 + * @param num2 + * @param point 请使用BigDecimalUtils.PRICE_DECIMAL_POINT | BigDecimalUtils.WEIGHT_DECIMAL_POINT + * @return BigDecimal + */ + public static BigDecimal add(BigDecimal num1, BigDecimal num2, int point) { + return setScale(num1.add(num2), point); + } + + /** + * BigDecimal 乘法 num1 x num2 + * 未做非空校验 + * + * @param num1 + * @param num2 + * @param point 请使用BigDecimalUtils.PRICE_DECIMAL_POINT | BigDecimalUtils.WEIGHT_DECIMAL_POINT + * @return BigDecimal + */ + public static BigDecimal multiply(BigDecimal num1, BigDecimal num2, int point) { + return setScale(num1.multiply(num2), point); + } + + /** + * BigDecimal 减法 num1 - num2 + * 未做非空校验 + * + * @param num1 + * @param num2 + * @param point 请使用BigDecimalUtils.PRICE_DECIMAL_POINT | BigDecimalUtils.WEIGHT_DECIMAL_POINT + * @return BigDecimal + */ + public static BigDecimal subtract(BigDecimal num1, BigDecimal num2, int point) { + return setScale(num1.subtract(num2), point); + } + + /** + * BigDecimal 除法 num1/num2 + * 未做非空校验 + * + * @param num1 + * @param num2 + * @param point 请使用BigDecimalUtils.PRICE_DECIMAL_POINT | BigDecimalUtils.WEIGHT_DECIMAL_POINT + * @return BigDecimal + */ + public static BigDecimal divide(BigDecimal num1, BigDecimal num2, int point) { + return num1.divide(num2, point, RoundingMode.HALF_UP); + } + + /** + * 设置小数点类型为 四舍五入 + * + * @param num + * @param point + * @return BigDecimal + */ + public static BigDecimal setScale(BigDecimal num, int point) { + return num.setScale(point, RoundingMode.HALF_UP); + } + + /** + * 比较 num1 是否大于 num2 + * + * @param num1 + * @param num2 + * @return boolean + */ + public static boolean isGreaterThan(BigDecimal num1, BigDecimal num2) { + return num1.compareTo(num2) == 1; + } + + /** + * 比较 num1 是否大于等于 num2 + * + * @param num1 + * @param num2 + * @return boolean + */ + public static boolean isGreaterOrEqual(BigDecimal num1, BigDecimal num2) { + return isGreaterThan(num1, num2) || equals(num1, num2); + } + + /** + * 比较 num1 是否小于 num2 + * + * @param num1 + * @param num2 + * @return boolean + */ + public static boolean isLessThan(BigDecimal num1, BigDecimal num2) { + return num1.compareTo(num2) == -1; + } + + /** + * 比较 num1 是否小于等于 num2 + * + * @param num1 + * @param num2 + * @return boolean + */ + public static boolean isLessOrEqual(BigDecimal num1, BigDecimal num2) { + return isLessThan(num1, num2) || equals(num1, num2); + } + + /** + * 比较 num1 是否等于 num2 + * + * @param num1 + * @param num2 + * @return + */ + public static boolean equals(BigDecimal num1, BigDecimal num2) { + return num1.compareTo(num2) == 0; + } + + /** + * 计算 num1 / num2 的百分比 + * + * @param num1 + * @param num2 + * @return String + */ + public static String getPercentage(BigDecimal num1, BigDecimal num2) { + BigDecimal result = num1.divide(num2, 4, RoundingMode.HALF_UP); + NumberFormat percent = NumberFormat.getPercentInstance(); + percent.setMaximumFractionDigits(2); + return percent.format(result.doubleValue()); + } + + /** + * 计算 num1 / num2 的百分比 + * + * @param num1 + * @param num2 + * @param point 保留几位小数 + * @return String + */ + public static BigDecimal bigDecimalPercent(Integer num1, Integer num2, int point) { + if (num1 == null || num2 == null) { + return BigDecimal.ZERO; + } + if (num2.equals(0)) { + return BigDecimal.ZERO; + } + BigDecimal bigDecimalNum1 = new BigDecimal(num1); + BigDecimal bigDecimalNum2 = new BigDecimal(num2); + return bigDecimalPercent(bigDecimalNum1, bigDecimalNum2, point); + } + + /** + * 计算 num1 / num2 的百分比 + * + * @param num1 + * @param num2 + * @param point 保留几位小数 + * @return String + */ + public static BigDecimal bigDecimalPercent(BigDecimal num1, BigDecimal num2, int point) { + if (num1 == null || num2 == null) { + return BigDecimal.ZERO; + } + if (equals(BigDecimal.ZERO, num2)) { + return BigDecimal.ZERO; + } + BigDecimal percent = num1.divide(num2, point + 2, RoundingMode.HALF_UP); + BigDecimal percent100 = percent.multiply(new BigDecimal(100)).setScale(point); + return percent100; + } + + /** + * 判断num是否为空 或者 零 + * + * @param num + * @return String + */ + public static Boolean isEmpty(BigDecimal num) { + return null == num || equals(BigDecimal.ZERO, num); + } + + /** + * 判断num是否 不等于null 并且不等于零 + * + * @param num + * @return String + */ + public static Boolean isNotEmpty(BigDecimal num) { + return !isEmpty(num); + } + + /** + * 转换为万 + * + * @param num + * @param point + * @return + */ + public static BigDecimal convertTenThousand(BigDecimal num, int point) { + return num.divide(new BigDecimal(10000), point, RoundingMode.HALF_UP); + } + + /** + * 转换为负数 + * + * @param num + * @return + */ + public static BigDecimal convertToMinusNumber(BigDecimal num) { + if (isLessOrEqual(num, BigDecimal.ZERO)) { + return num; + } + return BigDecimal.ZERO.subtract(num); + } + + /** + * 比较 num1,num2 返回最大的值 + * + * @param num1 + * @param num2 + * @return BigDecimal + */ + public static BigDecimal max(BigDecimal num1, BigDecimal num2) { + return num1.compareTo(num2) > 0 ? num1 : num2; + } + + /** + * 比较 num1,num2 返回最小的值 + * + * @param num1 + * @param num2 + * @return BigDecimal + */ + public static BigDecimal min(BigDecimal num1, BigDecimal num2) { + return num1.compareTo(num2) < 0 ? num1 : num2; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartDateUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartDateUtil.java new file mode 100644 index 00000000..1e078263 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartDateUtil.java @@ -0,0 +1,521 @@ +package net.lab1024.smartadmin.util; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateUtils; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * 线程安全的date工具类 + * + * @author jiaozi + */ +public class SmartDateUtil extends DateUtils { + + private static final ThreadLocal dateFormats = new ThreadLocal() { + @Override + protected DateFormats initialValue() { + return new DateFormats(); + } + }; + + public static final int HOUR_MIN = 60; + + public static final int DAY_MI_SECOND = 24 * 60 * 60 * 1000; + + public static String formatYMD(Date date) { + return dateFormats.get().ymd.format(date); + } + + public static String formatYMDDigital(Date date) { + return dateFormats.get().ymdDigital.format(date); + } + + public static String formatYMDHMSDigital(Date date) { + return dateFormats.get().ymdhmsDigital.format(date); + } + + public static String formatYM(Date date) { + return dateFormats.get().ym.format(date); + } + + public static String formatHMS(Date date) { + return dateFormats.get().hms.format(date); + } + + public static String formatHM(Date date) { + return dateFormats.get().hm.format(date); + } + + public static String formatYMDHM(Date date) { + return dateFormats.get().ymdhm.format(date); + } + + public static String formatYMDHMS(Date date) { + return dateFormats.get().ymdhms.format(date); + } + + public static String formatYMDChinese(Date date) { + return dateFormats.get().ymdChinese.format(date); + } + + public static String formatYMDSlash(Date date) { + return dateFormats.get().ymdSlash.format(date); + } + + public static Date parseYMD(String dateStr) { + return parse(dateFormats.get().ymd, dateStr); + } + + public static Date parseYMDDigital(String dateStr) { + return parse(dateFormats.get().ymdDigital, dateStr); + } + + public static Date parseYMDHMSDigital(String dateStr) { + return parse(dateFormats.get().ymdhmsDigital, dateStr); + } + + public static Date parseformatYMDChinese(String dateStr) { + return parse(dateFormats.get().ymdChinese, dateStr); + } + + public static Date parseYM(String dateStr) { + return parse(dateFormats.get().ym, dateStr); + } + + public static Date parseYMDHMS(String dateStr) { + + return parse(dateFormats.get().ymdhms, dateStr); + } + + public static Date parseYMDHM(String dateStr) { + return parse(dateFormats.get().ymdhm, dateStr); + } + + public static Date parseTodayHMS(String dateStr) { + String today = formatYMD(new Date()); + String todayDateStr = String.format("%s %s", today, dateStr); + return parse(dateFormats.get().ymdhms, todayDateStr); + } + + /** + * 判断当前时间是否在某段时间内 参数不区分先后顺序 + */ + public static boolean isDuringTwoDate(Date date, Date another) { + long dateTime = date.getTime(); + long anotherTime = another.getTime(); + long currentTime = System.currentTimeMillis(); + + if (currentTime > dateTime && currentTime < anotherTime) { + return true; + } else if (currentTime > anotherTime && currentTime < dateTime) { + return true; + } else { + return false; + } + } + + public static Date parse(SimpleDateFormat format, String dateStr) { + try { + Date d = format.parse(dateStr); + Calendar c = Calendar.getInstance(); + c.setTime(d); + int year = c.get(Calendar.YEAR); + if (year >= 1000 && year <= 9999) { + return d; + } else { + return null; + } + } catch (Exception ex) { + return null; + } + } + + public static long daysOffset(Date date1, Date date2) { + date1 = parseYMD(formatYMD(date1)); + date2 = parseYMD(formatYMD(date2)); + return (date1.getTime() - date2.getTime()) / DAY_MI_SECOND; + } + + /** + * 今天是星期几 , 7表示星期日 + * + * @return + */ + public static int getTodayDayOfWeek() { + Calendar now = Calendar.getInstance(); + int dayOfweek = now.get(Calendar.DAY_OF_WEEK); + dayOfweek--; + if (dayOfweek == 0) { + dayOfweek = 7; + } + return dayOfweek; + } + + public static boolean isTodaytDay(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + Calendar todayCalendar = Calendar.getInstance(); + if (calendar.get(Calendar.YEAR) != todayCalendar.get(Calendar.YEAR)) { + return false; + } else if (calendar.get(Calendar.MONTH) != todayCalendar.get(Calendar.MONTH)) { + return false; + } else if (calendar.get(Calendar.DAY_OF_MONTH) != todayCalendar.get(Calendar.DAY_OF_MONTH)) { + return false; + } + return true; + } + + /** + * 设置Calendar的小时、分钟、秒、毫秒 + * + * @param calendar 日历 + * @param hour 小时 + * @param minute 分钟 + * @param second 秒 + * @param milliSecond 毫秒 + */ + public static void setCalender(Calendar calendar, int hour, int minute, int second, int milliSecond) { + calendar.set(Calendar.HOUR_OF_DAY, hour); + calendar.set(Calendar.MINUTE, minute); + calendar.set(Calendar.SECOND, second); + calendar.set(Calendar.MILLISECOND, milliSecond); + } + + /** + * 获取指定天开始时间 + * + * @param date 日期 + * @return 获得该日期的开始 + */ + public static Date getDayBegin(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + setCalender(calendar, 0, 0, 0, 0); + return calendar.getTime(); + } + + /** + * 获取指定天结束时间 + * + * @param date 日期 + * @return 获得该日期的结束 + */ + public static Date getDayEnd(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + setCalender(calendar, 23, 59, 59, 999); + return calendar.getTime(); + } + + /** + * 获取该日期当月第一天 + * + * @param date + * @return + */ + public static Date getMonthBegin(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(getDayBegin(date)); + calendar.set(Calendar.DAY_OF_MONTH, 1); + return calendar.getTime(); + } + + /** + * 获取该日期当月最后一天getAgeByBirthday + * + * @param date + * @return + */ + public static Date getMonthEnd(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(getDayEnd(date)); + calendar.add(Calendar.MONTH, 1); + calendar.set(Calendar.DAY_OF_MONTH, 1); + calendar.add(Calendar.DAY_OF_MONTH, - 1); + return calendar.getTime(); + } + + public static String timeDifference(Date endDate) { + Date nowDate = new Date(); + long nd = 1000 * 24 * 60 * 60; + long nh = 1000 * 60 * 60; + long nm = 1000 * 60; + // 获得两个时间的毫秒时间差异 + long diff = nowDate.getTime() - endDate.getTime(); + // 计算差多少天 + long day = diff / nd; + if (day > 0) { + return day + "天前"; + } + // 计算差多少小时 + long hour = diff % nd / nh; + if (hour > 0) { + return hour + "小时前"; + } + // 计算差多少分钟 + long min = diff % nd % nh / nm; + if (min > 0) { + return "1小时内"; + } + return "1小时内"; + } + + /** + * 计算所用时长 + * + * @param startDate + * @param endDate + * @return + */ + public static BigDecimal timeDifferenceMin(Date startDate, Date endDate) { + long nm = 1000 * 60; + // 获得两个时间的毫秒时间差异 + long diff = endDate.getTime() - startDate.getTime(); + BigDecimal min = BigDecimal.valueOf(diff).divide(BigDecimal.valueOf(nm), RoundingMode.HALF_UP); + return min; + } + + /** + * 功能描述: 是否为当天 + * + * @param dateStr yyyy-mm-dd + * @return + * @auther yandanyang + * @date 2018/10/16 0016 下午 17:43 + */ + public static boolean isCurrentDayYMD(String dateStr) { + if (StringUtils.isEmpty(dateStr)) { + return true; + } + String current = SmartDateUtil.formatYMD(new Date()); + if (current.equals(dateStr)) { + return true; + } + return false; + } + + /** + * 功能描述: 是否为当月 + * + * @param dateStr yyyy-mm-dd + * @return + * @auther yandanyang + * @date 2018/10/16 0016 下午 17:43 + */ + public static boolean isCurrentMonthYMD(String dateStr) { + if (StringUtils.isEmpty(dateStr)) { + return true; + } + String queryDate = SmartDateUtil.formatYM(SmartDateUtil.parseYMD(dateStr)); + String current = SmartDateUtil.formatYM(new Date()); + if (current.equals(queryDate)) { + return true; + } + return false; + } + + public static boolean isCurrentMonthYM(String dateStr) { + if (StringUtils.isEmpty(dateStr)) { + return true; + } + String current = SmartDateUtil.formatYM(new Date()); + if (current.equals(dateStr)) { + return true; + } + return false; + } + + /** + * 获取本周的开始时间 + * + * @return + */ + public static Date getBeginDayOfWeek() { + Date date = new Date(); + if (date == null) { + return null; + } + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + int dayofweek = cal.get(Calendar.DAY_OF_WEEK); + if (dayofweek == 1) { + dayofweek += 7; + } + cal.add(Calendar.DATE, 2 - dayofweek); + return getDayBegin(cal.getTime()); + } + + /** + * 获取本周的结束时间 + * + * @return + */ + public static Date getEndDayOfWeek() { + Calendar cal = Calendar.getInstance(); + cal.setTime(getBeginDayOfWeek()); + cal.add(Calendar.DAY_OF_WEEK, 6); + Date weekEndSta = cal.getTime(); + return getDayEnd(weekEndSta); + } + + /** + * 获取两个日期区间的日期(包括这两个日期) + */ + public static List getiIntervalDate(String dateBegin, String dateEnd) { + List dateList = new ArrayList<>(); + Date startDate = SmartDateUtil.parseYMD(dateBegin); + Date endDate = SmartDateUtil.parseYMD(dateEnd); + Calendar cal = Calendar.getInstance(); + cal.setTime(startDate); + dateList.add(dateBegin); + while (cal.getTime().compareTo(endDate) < 0) { + cal.add(Calendar.DAY_OF_MONTH, 1); + dateList.add(SmartDateUtil.formatYMD(cal.getTime())); + } + return dateList; + } + + /** + * 返回某个日期后几天的日期 + * + * @param date + * @param i + * @return + */ + public static Date getNextDay(Date date, int i) { + Calendar cal = new GregorianCalendar(); + cal.setTime(date); + cal.set(Calendar.DATE, cal.get(Calendar.DATE) + i); + return cal.getTime(); + } + + /** + * 返回某个日期前几天的日期 + * + * @param date + * @param i + * @return + */ + public static Date getFrontDay(Date date, int i) { + Calendar cal = new GregorianCalendar(); + cal.setTime(date); + cal.set(Calendar.DATE, cal.get(Calendar.DATE) - i); + return cal.getTime(); + } + + /** + * 获取昨天的开始时间 + * + * @return + */ + public static Date getBeginDayOfYesterday() { + Calendar cal = new GregorianCalendar(); + cal.setTime(getDayBegin(new Date())); + cal.add(Calendar.DAY_OF_MONTH, - 1); + return cal.getTime(); + } + + /** + * 获取昨天的结束时间 + * + * @return + */ + public static Date getEndDayOfYesterDay() { + Calendar cal = new GregorianCalendar(); + cal.setTime(getDayEnd(new Date())); + cal.add(Calendar.DAY_OF_MONTH, - 1); + return cal.getTime(); + } + + public static Integer getDayNumOfMonth(Date date) { + Calendar c = Calendar.getInstance(); + c.setTime(date); + Integer num = c.getActualMaximum(Calendar.DAY_OF_MONTH); + return num; + } + + /** + * 转换日期(格式:年-月-日 时:分--分自定义) + */ + public static String formatYMDH(Date date, String minute) { + String ymdhm = dateFormats.get().ymdh + ":" + minute; + SimpleDateFormat format = new SimpleDateFormat(ymdhm); + return format.format(date); + } + + /** + * 获取几个月后的日期 + */ + public static Date getAfterMonth(Date inputDate, int number) { + Calendar c = Calendar.getInstance();//获得一个日历的实例 + c.setTime(inputDate);//设置日历时间 + c.add(Calendar.MONTH, number);//在日历的月份上增加月 + return c.getTime(); + } + + /** + * 计算当前月有多少天 + */ + public static int getDays(int year, int month) { + int days = 0; + if (month != 2) { + switch (month) { + case 1: + case 3: + case 5: + case 7: + case 8: + case 10: + case 12: + days = 31; + break; + case 4: + case 6: + case 9: + case 11: + days = 30; + + } + } else { + // 闰年 + if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { + days = 29; + } else { + days = 28; + } + } + System.out.println("当月有" + days + "天!"); + return days; + } + +} + +class DateFormats { + + public final SimpleDateFormat hms = new SimpleDateFormat("HH:mm:ss"); + + public final SimpleDateFormat hm = new SimpleDateFormat("HH:mm"); + + public final SimpleDateFormat ymdhm = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + + public final SimpleDateFormat ymd = new SimpleDateFormat("yyyy-MM-dd"); + + public final SimpleDateFormat ym = new SimpleDateFormat("yyyy-MM"); + + public final SimpleDateFormat ymdhms = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + public final SimpleDateFormat ymdChinese = new SimpleDateFormat("yyyy年MM月dd日"); + + public final SimpleDateFormat ymdSlash = new SimpleDateFormat("yyyy/MM/dd"); + + public final SimpleDateFormat ymdDigital = new SimpleDateFormat("yyyyMMdd"); + + public final SimpleDateFormat ymdhmsDigital = new SimpleDateFormat("yyyyMMddHHmmss"); + + public static final String ymdh = "yyyy-MM-dd HH"; +} + diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartDigestUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartDigestUtil.java new file mode 100644 index 00000000..902d5db3 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartDigestUtil.java @@ -0,0 +1,17 @@ +package net.lab1024.smartadmin.util; + +import org.apache.commons.codec.digest.DigestUtils; + +public class SmartDigestUtil extends DigestUtils { + + /** + * md5加盐加密 + * + * @param salt + * @param password + * @return + */ + public static String encryptPassword(String salt, String password) { + return SmartDigestUtil.md5Hex(String.format(salt, password)); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartEasyPoiExcelUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartEasyPoiExcelUtil.java new file mode 100644 index 00000000..fb3860a6 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartEasyPoiExcelUtil.java @@ -0,0 +1,99 @@ +package net.lab1024.smartadmin.util; + +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.ExcelImportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.ImportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.Workbook; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; + +/** + * @author: zhuoda + * @create: 2020-03-30 14:27 PM from win10 + */ + +public class SmartEasyPoiExcelUtil { + public static void exportExcel(List list, String title, String sheetName, Class pojoClass, + String fileName, boolean isCreateHeader, HttpServletResponse response) throws IOException { + ExportParams exportParams = new ExportParams(title, sheetName); + exportParams.setCreateHeadRows(isCreateHeader); + defaultExport(list, pojoClass, fileName, response, exportParams); + } + + public static void exportExcel(List list, String title, String sheetName, Class pojoClass, String fileName, + HttpServletResponse response) throws IOException { + defaultExport(list, pojoClass, fileName, response, new ExportParams(title, sheetName)); + } + + public static void exportExcel(List> list, String fileName, HttpServletResponse response) throws IOException { + defaultExport(list, fileName, response); + } + + private static void defaultExport(List list, Class pojoClass, String fileName, + HttpServletResponse response, ExportParams exportParams) throws IOException { + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, list); + if (workbook != null) ; + downLoadExcel(fileName, response, workbook); + } + + private static void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) throws IOException { + response.setHeader("content-Type", "application/vnd.ms-excel"); + response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); + response.setCharacterEncoding("UTF-8"); + workbook.write(response.getOutputStream()); + } + + private static void defaultExport(List> list, String fileName, HttpServletResponse response) throws IOException { + Workbook workbook = ExcelExportUtil.exportExcel(list, ExcelType.HSSF); + if (workbook != null) ; + downLoadExcel(fileName, response, workbook); + } + + public static List importExcel(String filePath, Integer titleRows, Integer headerRows, Class pojoClass) { + if (StringUtils.isBlank(filePath)) { + return null; + } + ImportParams params = new ImportParams(); + params.setTitleRows(titleRows); + params.setHeadRows(headerRows); + List list = null; + try { + list = ExcelImportUtil.importExcel(new File(filePath), pojoClass, params); + } catch (NoSuchElementException e) { + //throw new NormalException("模板不能为空"); + } catch (Exception e) { + e.printStackTrace(); + //throw new NormalException(e.getMessage()); + } + return list; + } + + public static List importExcel(MultipartFile file, Integer titleRows, Integer headerRows, Class pojoClass) { + if (file == null) { + return null; + } + ImportParams params = new ImportParams(); + params.setTitleRows(titleRows); + params.setHeadRows(headerRows); + List list = null; + try { + list = ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params); + } catch (NoSuchElementException e) { + // throw new NormalException("excel文件不能为空"); + } catch (Exception e) { + //throw new NormalException(e.getMessage()); + System.out.println(e.getMessage()); + } + return list; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartFileUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartFileUtil.java new file mode 100644 index 00000000..45735c9a --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartFileUtil.java @@ -0,0 +1,91 @@ +package net.lab1024.smartadmin.util; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.nio.charset.Charset; + +import org.apache.commons.io.FileUtils; + +/** + * @author zhuoda + */ +public class SmartFileUtil extends FileUtils { + + public static boolean isXmlFile(File file) { + return "xml".equalsIgnoreCase(getFileExtension(file.getName())); + } + + /** + * 文件后缀名 + * + * @param fullName + * @return + */ + public static String getFileExtension(String fullName) { + String fileName = new File(fullName).getName(); + int dotIndex = fileName.lastIndexOf('.'); + return (dotIndex == -1) ? "" : fileName.substring(dotIndex + 1); + } + + /** + * 不带后缀名的文件名 + * + * @param file + * @return + */ + public static String getNameWithoutExtension(String file) { + String fileName = new File(file).getName(); + int dotIndex = fileName.lastIndexOf('.'); + return (dotIndex == -1) ? fileName : fileName.substring(0, dotIndex); + } + + public static boolean isFileExist(String filePath) { + File file = new File(filePath); + return file.exists(); + } + + /** + * 验证文件是否存在,如果不存在则抛出异常 + * + * @param filePath + * @throws IOException + */ + public static void isFileExistThrowException(String filePath) throws IOException { + File file = new File(filePath); + if (!file.exists()) { + throw new FileNotFoundException(filePath); + } + } + + public static BufferedReader newBufferedReader(File file, Charset charset) throws FileNotFoundException { + return new BufferedReader(new InputStreamReader(new FileInputStream(file), charset)); + } + + public static BufferedWriter newBufferedWriter(File file, Charset charset) throws FileNotFoundException { + return new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), charset)); + } + + public static boolean createParentDirs(File file) throws IOException { + File parent = file.getCanonicalFile().getParentFile(); + if (parent == null) { + return false; + } + return parent.mkdirs(); + } + + public static boolean createNotExistParentDirFile(File file) throws IOException { + boolean createParentDirsRes = createParentDirs(file); + if (!createParentDirsRes) { + throw new IOException("cannot create parent Directory of " + file.getName()); + } + return file.createNewFile(); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartHttpUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartHttpUtil.java new file mode 100644 index 00000000..62e8ff2d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartHttpUtil.java @@ -0,0 +1,151 @@ +package net.lab1024.smartadmin.util; + +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.HttpResponse; +import org.apache.http.HttpStatus; +import org.apache.http.NameValuePair; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; + +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +/** + * [ HttpUtils ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +public class SmartHttpUtil { + + public static String sendGet(String url, Map params, Map header) throws Exception { + HttpGet httpGet = null; + String body = ""; + try { + CloseableHttpClient httpClient = HttpClients.createDefault(); + List mapList = new ArrayList<>(); + if (params != null) { + for (Entry entry : params.entrySet()) { + mapList.add(entry.getKey() + "=" + entry.getValue()); + } + } + if (CollectionUtils.isNotEmpty(mapList)) { + url = url + "?"; + String paramsStr = StringUtils.join(mapList, "&"); + url = url + paramsStr; + } + httpGet = new HttpGet(url); + httpGet.setHeader("Content-type", "application/json; charset=utf-8"); + httpGet.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); + if (header != null) { + for (Entry entry : header.entrySet()) { + httpGet.setHeader(entry.getKey(), entry.getValue()); + } + } + HttpResponse response = httpClient.execute(httpGet); + + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode != HttpStatus.SC_OK) { + throw new RuntimeException("请求失败"); + } else { + body = EntityUtils.toString(response.getEntity(), "UTF-8"); + } + } catch (Exception e) { + throw e; + } finally { + if (httpGet != null) { + httpGet.releaseConnection(); + } + } + return body; + } + + public static String sendPostJson(String url, String json, Map header) throws Exception { + HttpPost httpPost = null; + String body = ""; + try { + CloseableHttpClient httpClient = HttpClients.createDefault(); + httpPost = new HttpPost(url); + httpPost.setHeader("Content-type", "application/json; charset=utf-8"); + httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); + if (header != null) { + for (Entry entry : header.entrySet()) { + httpPost.setHeader(entry.getKey(), entry.getValue()); + } + } + StringEntity entity = new StringEntity(json, Charset.forName("UTF-8")); + entity.setContentEncoding("UTF-8"); + entity.setContentType("application/json"); + httpPost.setEntity(entity); + HttpResponse response = httpClient.execute(httpPost); + + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode != HttpStatus.SC_OK) { + throw new RuntimeException("请求失败"); + } else { + body = EntityUtils.toString(response.getEntity(), "UTF-8"); + } + } catch (Exception e) { + throw e; + } finally { + if (httpPost != null) { + httpPost.releaseConnection(); + } + } + return body; + } + + public static String sendPostForm(String url, Map params, Map header) throws Exception { + HttpPost httpPost = null; + String body = ""; + try { + CloseableHttpClient httpClient = HttpClients.createDefault(); + httpPost = new HttpPost(url); + httpPost.setHeader("Content-type", "application/x-www-form-urlencoded"); + httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); + if (header != null) { + for (Entry entry : header.entrySet()) { + httpPost.setHeader(entry.getKey(), entry.getValue()); + } + } + List nvps = new ArrayList<>(); + if (params != null) { + for (Entry entry : params.entrySet()) { + nvps.add(new BasicNameValuePair(entry.getKey(), entry.getValue())); + } + } + //设置参数到请求对象中 + httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8")); + HttpResponse response = httpClient.execute(httpPost); + + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode != HttpStatus.SC_OK) { + throw new RuntimeException("请求失败"); + } else { + body = EntityUtils.toString(response.getEntity(), "UTF-8"); + } + } catch (Exception e) { + throw e; + } finally { + if (httpPost != null) { + httpPost.releaseConnection(); + } + } + return body; + } + +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartIPUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartIPUtil.java new file mode 100644 index 00000000..fb93cd57 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartIPUtil.java @@ -0,0 +1,159 @@ +package net.lab1024.smartadmin.util; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import org.apache.commons.lang3.StringUtils; + +import javax.servlet.http.HttpServletRequest; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/5/5 0005 下午 15:34 + * @since JDK1.8 + */ +public class SmartIPUtil { + + public static final String IP_URL = "http://ip.taobao.com/service/getIpInfo.php"; + + public static String getLocalHostIP() { + // 本地IP,如果没有配置外网IP则返回它 + String localIp = null; + // 外网IP + String netIp = null; + try { + Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces(); + InetAddress ip = null; + // 是否找到外网IP + boolean finded = false; + while (netInterfaces.hasMoreElements() && ! finded) { + NetworkInterface ni = netInterfaces.nextElement(); + Enumeration address = ni.getInetAddresses(); + while (address.hasMoreElements()) { + ip = address.nextElement(); + // 外网IP + if (! ip.isSiteLocalAddress() && ! ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == - 1) { + netIp = ip.getHostAddress(); + finded = true; + break; + } else if (ip.isSiteLocalAddress() && ! ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == - 1) { + // 内网IP + localIp = ip.getHostAddress(); + } + } + } + } catch (SocketException e) { + e.getMessage(); + } + if (netIp != null && ! "".equals(netIp)) { + return netIp; + } else { + return localIp; + } + } + + public static String getRemoteIp(HttpServletRequest request) { + // 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址 + + String ip = getXForwardedForIp(request); + if (ipValid(ip)) { + return realIp(ip); + } + ip = request.getHeader("Proxy-Client-IP"); + if (ipValid(ip)) { + return realIp(ip); + } + ip = request.getHeader("HTTP_CLIENT_IP"); + if (ipValid(ip)) { + return realIp(ip); + } + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + if (ipValid(ip)) { + return realIp(ip); + } + + ip = request.getRemoteAddr(); + return realIp(ip); + } + + private static String getXForwardedForIp(HttpServletRequest request) { + String ip = request.getHeader("x-forwarded-for"); + //ip 无效直接返回 + if (! ipValid(ip)) { + return ""; + } + if (ip.length() > 15) { + String[] ips = ip.split(","); + for (String strIp : ips) { + if (! ("unknown".equalsIgnoreCase(strIp))) { + ip = strIp; + break; + } + } + return ip; + } + return ip; + } + + private static Boolean ipValid(String ip) { + if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { + return false; + } + return true; + } + + private static String realIp(String ip) { + if (StringUtils.isEmpty(ip)) { + return ""; + } + return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip; + } + + public static String getRemoteLocation(HttpServletRequest request) { + String ip = getRemoteIp(request); + return getIpLocation(ip); + } + + public static String getIpLocation(String ip) { + String location = "未知"; + if (StringUtils.isEmpty(ip)) { + return location; + } + Map param = new HashMap<>(); + param.put("ip", ip); + + try { + String rspStr = SmartHttpUtil.sendGet(IP_URL, param, null); + if (StringUtils.isEmpty(rspStr)) { + return location; + } + JSONObject jsonObject = JSON.parseObject(rspStr); + String data = jsonObject.getString("data"); + JSONObject jsonData = JSON.parseObject(data); + String region = jsonData.getString("region"); + String city = jsonData.getString("city"); + location = region + " " + city; + if (location.contains("内网IP")) { + location = "内网(" + ip + ")"; + } + } catch (Exception e) { + + } + return location; + } + + public static void main(String[] args) { + System.out.printf(getIpLocation("172.16.0.221")); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartPageUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartPageUtil.java new file mode 100644 index 00000000..2e1352c6 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartPageUtil.java @@ -0,0 +1,97 @@ +package net.lab1024.smartadmin.util; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.domain.OrderItemDTO; +import net.lab1024.smartadmin.common.domain.PageParamDTO; +import net.lab1024.smartadmin.common.domain.PageResultDTO; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 分页工具类 + * + * @author GHQ + * @date 2017-12-23 16:40 + */ + +public class SmartPageUtil { + + public static PageResultDTO convert2PageResult(IPage page) { + PageResultDTO result = new PageResultDTO<>(); + result.setPageNum(page.getCurrent()); + result.setPageSize(page.getSize()); + result.setTotal(page.getTotal()); + result.setPages(page.getPages()); + result.setList(page.getRecords()); + return result; + } + + public static Page convert2QueryPage(PageParamDTO baseDTO) { + Page page = new Page<>(); + + List orders = baseDTO.getOrders(); + if (orders != null && !orders.isEmpty()) { + List orderItemList = orders.stream().map(SmartPageUtil::convertOrderItem).collect(Collectors.toList()); + page.setOrders(orderItemList); + } + page.setCurrent(baseDTO.getPageNum()); + page.setSize(baseDTO.getPageSize()); + if (null != baseDTO.getSearchCount()) { + page.setSearchCount(baseDTO.getSearchCount()); + } + return page; + } + + private static com.baomidou.mybatisplus.core.metadata.OrderItem convertOrderItem(OrderItemDTO orderItemDTO) { + if (orderItemDTO.isAsc()) { + return com.baomidou.mybatisplus.core.metadata.OrderItem.asc(orderItemDTO.getColumn()); + } else { + return com.baomidou.mybatisplus.core.metadata.OrderItem.desc(orderItemDTO.getColumn()); + } + } + + /** + * 转换为 PageResultDTO 对象 + * + * @param page + * @param sourceList 原list + * @param targetClazz 目标类 + * @return + * @author yandanyang + * @date 2018年5月16日 下午6:05:28 + */ + public static PageResultDTO convert2PageResult(IPage page, List sourceList, Class targetClazz) { + PageResultDTO pageResultDTO = setPage(page); + List records = SmartBeanUtil.copyList(sourceList, targetClazz); + page.setRecords(records); + pageResultDTO.setList(records); + return pageResultDTO; + } + + /** + * 转换为 PageResultDTO 对象 + * + * @param page + * @param sourceList list + * @return + * @author yandanyang + * @date 2018年5月16日 下午6:05:28 + */ + public static PageResultDTO convert2PageResult(IPage page, List sourceList) { + PageResultDTO pageResultDTO = setPage(page); + page.setRecords(sourceList); + pageResultDTO.setList(sourceList); + return pageResultDTO; + } + + private static PageResultDTO setPage(IPage page) { + PageResultDTO pageResultDTO = new PageResultDTO(); + pageResultDTO.setPageNum(page.getCurrent()); + pageResultDTO.setPageSize(page.getSize()); + pageResultDTO.setTotal(page.getTotal()); + pageResultDTO.setPages(page.getPages()); + return pageResultDTO; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartQuartzUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartQuartzUtil.java new file mode 100644 index 00000000..14003e6d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartQuartzUtil.java @@ -0,0 +1,43 @@ +package net.lab1024.smartadmin.util; + +import net.lab1024.smartadmin.module.support.quartz.constant.QuartzConst; +import org.apache.commons.lang3.StringUtils; +import org.quartz.JobKey; +import org.quartz.TriggerKey; + +/** + * [ ] + * + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2018 1024lab.netInc. All rights reserved. + * @date 2019/4/13 0013 下午 15:16 + * @since JDK1.8 + */ +public class SmartQuartzUtil { + + public static Long getTaskIdByJobKey(JobKey jobKey) { + String name = jobKey.getName(); + return Long.valueOf(StringUtils.replace(name, QuartzConst.JOB_KEY_PREFIX, "")); + } + + public static Integer getTaskIdByTriggerKey(TriggerKey triggerKey) { + String name = triggerKey.getName(); + return Integer.valueOf(StringUtils.replace(name, QuartzConst.TRIGGER_KEY_PREFIX, "")); + } + + /** + * 获取触发器key + */ + public static TriggerKey getTriggerKey(Long taskId) { + return TriggerKey.triggerKey(QuartzConst.TRIGGER_KEY_PREFIX + taskId); + } + + /** + * 获取jobKey + */ + public static JobKey getJobKey(Long taskId) { + return JobKey.jobKey(QuartzConst.JOB_KEY_PREFIX + taskId); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartRequestTokenUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartRequestTokenUtil.java new file mode 100644 index 00000000..7ae5f5fc --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartRequestTokenUtil.java @@ -0,0 +1,51 @@ +package net.lab1024.smartadmin.util; + +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +/** + * @author yandanyang + * @version 1.0 + * @company 1024lab.net + * @copyright (c) 2019 1024lab.netInc. All rights reserved. + * @date + * @since JDK1.8 + */ +public class SmartRequestTokenUtil { + + private static final String USER_KEY = "smart_admin_user"; + + private static ThreadLocal RequestUserThreadLocal = new ThreadLocal(); + + public static void setUser(HttpServletRequest request, RequestTokenBO requestToken) { + request.setAttribute(USER_KEY, requestToken); + RequestUserThreadLocal.set(requestToken); + } + + public static RequestTokenBO getThreadLocalUser() { + return RequestUserThreadLocal.get(); + } + + public static RequestTokenBO getRequestUser() { + RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); + if (requestAttributes != null) { + HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest(); + if (request != null) { + return (RequestTokenBO) request.getAttribute(USER_KEY); + } + } + return null; + } + + public static Long getRequestUserId() { + RequestTokenBO requestUser = getRequestUser(); + if (null == requestUser) { + return null; + } + return requestUser.getRequestUserId(); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartSendMailUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartSendMailUtil.java new file mode 100644 index 00000000..b5bee5f6 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartSendMailUtil.java @@ -0,0 +1,243 @@ +package net.lab1024.smartadmin.util; + +import lombok.extern.slf4j.Slf4j; + +import javax.activation.DataHandler; +import javax.activation.DataSource; +import javax.mail.Authenticator; +import javax.mail.PasswordAuthentication; +import javax.mail.Session; +import javax.mail.Transport; +import javax.mail.internet.*; +import javax.mail.util.ByteArrayDataSource; +import java.io.InputStream; +import java.util.Date; +import java.util.LinkedList; +import java.util.List; +import java.util.Properties; +import java.util.regex.Pattern; + +@Slf4j +public class SmartSendMailUtil { + + /** + * 邮箱正则表达式 + */ + static final Pattern pattern = Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"); + + public static void main(String[] args) throws Exception { + // 发件人的 邮箱 和 密码(替换为自己的邮箱和密码) + // PS: 某些邮箱服务器为了增加邮箱本身密码的安全性,给 SMTP 客户端设置了独立密码(有的邮箱称为“授权码”), + // 对于开启了独立密码的邮箱, 这里的邮箱密码必需使用这个独立密码(授权码)。 + String myEmailAccount = "xxxxx@163.com"; + String myEmailPassword = "xxxxxx"; + // 发件人邮箱的 SMTP 服务器地址, 必须准确, 不同邮件服务器地址不同, 一般(只是一般, 绝非绝对)格式为: smtp.xxx.com + // 网易163邮箱的 SMTP 服务器地址为: smtp.163.com + String myEmailSMTPHost = "smtp.163.com"; + // 收件人邮箱(替换为自己知道的有效邮箱) + String[] toMailAccountList = new String[]{"421316927@qq.com"}; + SmartSendMailUtil.sendMail(myEmailAccount, myEmailPassword, "", toMailAccountList, "", myEmailSMTPHost, "测试发送邮件", "测试发送邮件"); + + } + + /** + * 发送文本邮件 + * + * @param sendMail 发件人邮箱 + * @param sendMailPwd 发件人密码 + * @param sendMailName 发件人昵称(可选) + * @param receiveMail 收件人邮箱 + * @param receiveMailName 收件人昵称(可选) + * @param sendSMTPHost 发件人邮箱的 SMTP 服务器地址, 必须准确, 不同邮件服务器地址不同, 一般(只是一般, 绝非绝对)格式为: smtp.xxx.com + * @param title 邮件主题 + * @param content 邮件正文 + * @author Administrator + * @date 2017年12月13日 下午1:51:38 + */ + public static void sendMail(String sendMail, String sendMailPwd, String sendMailName, String[] receiveMail, String receiveMailName, String sendSMTPHost, String title, String content) { + + Session session = createSession(sendSMTPHost); + // 3. 创建一封邮件 + MimeMessage message; + try { + message = createMimeMessage(session, sendMail, sendMailName, receiveMail, receiveMailName, title, content); + // 4. 根据 Session 获取邮件传输对象 + Transport transport = session.getTransport(); + + // 5. 使用 邮箱账号 和 密码 连接邮件服务器, 这里认证的邮箱必须与 message 中的发件人邮箱一致, 否则报错 + // + // PS_01: 成败的判断关键在此一句, 如果连接服务器失败, 都会在控制台输出相应失败原因的 log, + // 仔细查看失败原因, 有些邮箱服务器会返回错误码或查看错误类型的链接, 根据给出的错误 + // 类型到对应邮件服务器的帮助网站上查看具体失败原因。 + // + // PS_02: 连接失败的原因通常为以下几点, 仔细检查代码: + // (1) 邮箱没有开启 SMTP 服务; + // (2) 邮箱密码错误, 例如某些邮箱开启了独立密码; + // (3) 邮箱服务器要求必须要使用 SSL 安全连接; + // (4) 请求过于频繁或其他原因, 被邮件服务器拒绝服务; + // (5) 如果以上几点都确定无误, 到邮件服务器网站查找帮助。 + // + // PS_03: 仔细看log, 认真看log, 看懂log, 错误原因都在log已说明。 + transport.connect(sendMail, sendMailPwd); + // 6. 发送邮件, 发到所有的收件地址, message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人 + transport.sendMessage(message, message.getAllRecipients()); + // 7. 关闭连接 + transport.close(); + } catch (Exception e) { + log.error("", e); + } + + } + + /** + * 发送带附件的邮件 + * + * @param sendMail 发件人邮箱 + * @param sendMailPwd 发件人密码 + * @param sendMailName 发件人昵称(可选) + * @param receiveMail 收件人邮箱 + * @param receiveMailName 收件人昵称(可选) + * @param sendSMTPHost 发件人邮箱的 SMTP 服务器地址, 必须准确, 不同邮件服务器地址不同, 一般(只是一般, 绝非绝对)格式为: smtp.xxx.com + * @param title 邮件主题 + * @param content 邮件正文 + * @author Administrator + * @date 2017年12月13日 下午1:51:38 + */ + public static void sendFileMail(String sendMail, String sendMailPwd, String sendMailName, String[] receiveMail, String receiveMailName, String sendSMTPHost, String title, String content, + InputStream is, String fileName, String port) { + + Session session = createSSLSession(sendSMTPHost, port, sendMailName, sendMailPwd); + // 3. 创建一封邮件 + MimeMessage message; + try { + message = createMimeMessage(session, sendMail, sendMailName, receiveMail, receiveMailName, title, content); + // 5. Content: 邮件正文(可以使用html标签)(内容有广告嫌疑,避免被邮件服务器误认为是滥发广告以至返回失败,请修改发送内容) + MimeMultipart mm = new MimeMultipart(); + MimeBodyPart text = new MimeBodyPart(); + text.setContent(content, "text/html;charset=UTF-8"); + mm.addBodyPart(text); + if (null != is && is.available() > 0) { + MimeBodyPart attachment = new MimeBodyPart(); + DataSource source = new ByteArrayDataSource(is, "application/msexcel"); + // 将附件数据添加到"节点" + attachment.setDataHandler(new DataHandler(source)); + // 设置附件的文件名(需要编码) + attachment.setFileName(MimeUtility.encodeText(fileName)); + // 10. 设置文本和 附件 的关系(合成一个大的混合"节点" / Multipart ) + // 如果有多个附件,可以创建多个多次添加 + mm.addBodyPart(attachment); + } + message.setContent(mm); + message.saveChanges(); + // 4. 根据 Session 获取邮件传输对象 + Transport transport = session.getTransport("smtp"); + transport.connect(sendSMTPHost, sendMail, sendMailPwd); + // // 6. 发送邮件, 发到所有的收件地址, message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人 + transport.sendMessage(message, message.getAllRecipients()); + // 7. 关闭连接 + } catch (Exception e) { + log.error("", e); + } + + } + + /** + * 创建session + * + * @author lidoudou + * @date 2019/2/16 14:59 + */ + private static Session createSSLSession(String sendSMTPHost, String port, String userName, String pwd) { + // 1. 创建参数配置, 用于连接邮件服务器的参数配置 + Properties props = new Properties(); // 参数配置 + + props.setProperty("mail.smtp.user", userName); + props.setProperty("mail.smtp.password", pwd); + props.setProperty("mail.smtp.host", sendSMTPHost); + props.setProperty("mail.smtp.port", port); + props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); + props.setProperty("mail.smtp.socketFactory.fallback", "false"); + props.setProperty("mail.smtp.socketFactory.port", port); + props.put("mail.smtp.auth", "true"); + + // 2. 根据配置创建会话对象, 用于和邮件服务器交互 + Session session = Session.getDefaultInstance(props, new Authenticator() { + //身份认证 + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(userName, pwd); + } + }); + session.setDebug(true); // 设置为debug模式, 可以查看详细的发送 log + return session; + } + + /** + * 创建session + * + * @author lidoudou + * @date 2019/2/16 14:59 + */ + private static Session createSession(String sendSMTPHost) { + // 1. 创建参数配置, 用于连接邮件服务器的参数配置 + Properties props = new Properties(); // 参数配置 + props.setProperty("mail.transport.protocol", "smtp"); // 使用的协议(JavaMail规范要求) + props.setProperty("mail.smtp.host", sendSMTPHost); // 发件人的邮箱的 SMTP 服务器地址 + props.setProperty("mail.smtp.auth", "true"); // 需要请求认证 + // PS: 某些邮箱服务器要求 SMTP 连接需要使用 SSL 安全认证 (为了提高安全性, 邮箱支持SSL连接, 也可以自己开启), + // 如果无法连接邮件服务器, 仔细查看控制台打印的 log, 如果有有类似 “连接失败, 要求 SSL 安全连接” 等错误, + // 打开下面 /* ... */ 之间的注释代码, 开启 SSL 安全连接。 + /* + * // SMTP 服务器的端口 (非 SSL 连接的端口一般默认为 25, 可以不添加, 如果开启了 SSL 连接, // 需要改为对应邮箱的 SMTP 服务器的端口, + * 具体可查看对应邮箱服务的帮助, // QQ邮箱的SMTP(SLL)端口为465或587, 其他邮箱自行去查看) final String smtpPort = "465"; + * props.setProperty("mail.smtp.port", smtpPort); + * props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); + * props.setProperty("mail.smtp.socketFactory.fallback", "false"); + * props.setProperty("mail.smtp.socketFactory.port", smtpPort); + */ + // 2. 根据配置创建会话对象, 用于和邮件服务器交互 + Session session = Session.getInstance(props); + session.setDebug(true); // 设置为debug模式, 可以查看详细的发送 log + return session; + } + + /** + * 创建一封只包含文本的简单邮件 + * + * @param session 和服务器交互的会话 + * @param sendMail 发件人邮箱 + * @param sendMailName 发件人昵称 + * @param receiveMail 收件人邮箱 + * @param receiveMailName 收件人昵称 + * @param title 邮件主题 + * @param content 邮件正文 + * @return + * @throws Exception + * @author Administrator + * @date 2017年12月13日 下午1:55:45 + */ + public static MimeMessage createMimeMessage(Session session, String sendMail, String sendMailName, String[] receiveMail, String receiveMailName, String title, String content) throws Exception { + // 1. 创建一封邮件 + MimeMessage message = new MimeMessage(session); + // 2. From: 发件人(昵称有广告嫌疑,避免被邮件服务器误认为是滥发广告以至返回失败,请修改昵称) + message.setFrom(new InternetAddress(sendMail, sendMailName, "UTF-8")); + // 3. To: 收件人(可以增加多个收件人、抄送、密送) + List to = new LinkedList<>(); + for (String s : receiveMail) { + if (pattern.matcher(s).matches()) { + to.add(new InternetAddress(s)); + } + } + //Address[] addresses = new Address[]{new InternetAddress(receiveMail),new InternetAddress(receiveMail)}; + message.addRecipients(MimeMessage.RecipientType.TO, to.toArray((new InternetAddress[to.size()]))); + // 4. Subject: 邮件主题(标题有广告嫌疑,避免被邮件服务器误认为是滥发广告以至返回失败,请修改标题) + message.setSubject(title, "UTF-8"); + // 5. Content: 邮件正文(可以使用html标签)(内容有广告嫌疑,避免被邮件服务器误认为是滥发广告以至返回失败,请修改发送内容) + message.setContent(content, "text/html;charset=UTF-8"); + // 6. 设置发件时间 + message.setSentDate(new Date()); + // 7. 保存设置 + message.saveChanges(); + return message; + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartStringUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartStringUtil.java new file mode 100644 index 00000000..da2e1764 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartStringUtil.java @@ -0,0 +1,311 @@ +package net.lab1024.smartadmin.util; + +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * 字符串操作类,包括分割,转换,大写首字母 + * + * @author jiaozi + */ +public class SmartStringUtil extends StringUtils { + + // ===============split ======================= + + public static Set splitConvertToSet(String str, String split) { + if (isEmpty(str)) { + return new HashSet(); + } + String[] splitArr = str.split(split); + HashSet set = new HashSet(splitArr.length); + for (String string : splitArr) { + set.add(string); + } + return set; + } + + public static List splitConvertToList(String str, String split) { + if (isEmpty(str)) { + return new ArrayList(); + } + String[] splitArr = str.split(split); + ArrayList list = new ArrayList(splitArr.length); + for (String string : splitArr) { + list.add(string); + } + return list; + } + + // ===============split Integer======================= + + public static List splitConverToIntList(String str, String split, int defaultVal) { + if (isEmpty(str)) { + return new ArrayList(); + } + String[] strArr = str.split(split); + List list = new ArrayList(strArr.length); + for (int i = 0; i < strArr.length; i++) { + try { + int parseInt = Integer.parseInt(strArr[i]); + list.add(parseInt); + } catch (NumberFormatException e) { + list.add(defaultVal); + continue; + } + } + return list; + } + + public static Set splitConverToIntSet(String str, String split, int defaultVal) { + if (isEmpty(str)) { + return new HashSet(); + } + String[] strArr = str.split(split); + HashSet set = new HashSet(strArr.length); + for (int i = 0; i < strArr.length; i++) { + try { + int parseInt = Integer.parseInt(strArr[i]); + set.add(parseInt); + } catch (NumberFormatException e) { + set.add(defaultVal); + continue; + } + } + return set; + } + + public static Set splitConverToIntSet(String str, String split) { + return splitConverToIntSet(str, split, 0); + } + + public static List splitConverToIntList(String str, String split) { + return splitConverToIntList(str, split, 0); + } + + public static int[] splitConvertToIntArray(String str, String split, int defaultVal) { + if (isEmpty(str)) { + return new int[0]; + } + String[] strArr = str.split(split); + int[] result = new int[strArr.length]; + for (int i = 0; i < strArr.length; i++) { + try { + result[i] = Integer.parseInt(strArr[i]); + } catch (NumberFormatException e) { + result[i] = defaultVal; + continue; + } + } + return result; + } + + public static int[] splitConvertToIntArray(String str, String split) { + return splitConvertToIntArray(str, split, 0); + } + + // ===============split 2 Long======================= + + public static List splitConverToLongList(String str, String split, long defaultVal) { + if (isEmpty(str)) { + return new ArrayList(); + } + String[] strArr = str.split(split); + List list = new ArrayList(strArr.length); + for (int i = 0; i < strArr.length; i++) { + try { + long parseLong = Long.parseLong(strArr[i]); + list.add(parseLong); + } catch (NumberFormatException e) { + list.add(defaultVal); + continue; + } + } + return list; + } + + public static List splitConverToLongList(String str, String split) { + return splitConverToLongList(str, split, 0L); + } + + public static long[] splitConvertToLongArray(String str, String split, long defaultVal) { + if (isEmpty(str)) { + return new long[0]; + } + String[] strArr = str.split(split); + long[] result = new long[strArr.length]; + for (int i = 0; i < strArr.length; i++) { + try { + result[i] = Long.parseLong(strArr[i]); + } catch (NumberFormatException e) { + result[i] = defaultVal; + continue; + } + } + return result; + } + + public static long[] splitConvertToLongArray(String str, String split) { + return splitConvertToLongArray(str, split, 0L); + } + + // ===============split convert byte======================= + + public static List splitConverToByteList(String str, String split, byte defaultVal) { + if (isEmpty(str)) { + return new ArrayList(); + } + String[] strArr = str.split(split); + List list = new ArrayList(strArr.length); + for (int i = 0; i < strArr.length; i++) { + try { + byte parseByte = Byte.parseByte(strArr[i]); + list.add(parseByte); + } catch (NumberFormatException e) { + list.add(defaultVal); + continue; + } + } + return list; + } + + public static List splitConverToByteList(String str, String split) { + return splitConverToByteList(str, split, (byte) 0); + } + + public static byte[] splitConvertToByteArray(String str, String split, byte defaultVal) { + if (isEmpty(str)) { + return new byte[0]; + } + String[] strArr = str.split(split); + byte[] result = new byte[strArr.length]; + for (int i = 0; i < strArr.length; i++) { + try { + result[i] = Byte.parseByte(strArr[i]); + } catch (NumberFormatException e) { + result[i] = defaultVal; + continue; + } + } + return result; + } + + public static byte[] splitConvertToByteArray(String str, String split) { + return splitConvertToByteArray(str, split, (byte) 0); + } + + // ===============split convert double======================= + + public static List splitConverToDoubleList(String str, String split, double defaultVal) { + if (isEmpty(str)) { + return new ArrayList(); + } + String[] strArr = str.split(split); + List list = new ArrayList(strArr.length); + for (int i = 0; i < strArr.length; i++) { + try { + double parseByte = Double.parseDouble(strArr[i]); + list.add(parseByte); + } catch (NumberFormatException e) { + list.add(defaultVal); + continue; + } + } + return list; + } + + public static List splitConverToDoubleList(String str, String split) { + return splitConverToDoubleList(str, split, 0); + } + + public static double[] splitConvertToDoubleArray(String str, String split, double defaultVal) { + if (isEmpty(str)) { + return new double[0]; + } + String[] strArr = str.split(split); + double[] result = new double[strArr.length]; + for (int i = 0; i < strArr.length; i++) { + try { + result[i] = Double.parseDouble(strArr[i]); + } catch (NumberFormatException e) { + result[i] = defaultVal; + continue; + } + } + return result; + } + + public static double[] splitConvertToDoubleArray(String str, String split) { + return splitConvertToDoubleArray(str, split, 0); + } + + // ===============solit convert float======================= + + public static List splitConverToFloatList(String str, String split, float defaultVal) { + if (isEmpty(str)) { + return new ArrayList(); + } + String[] strArr = str.split(split); + List list = new ArrayList(strArr.length); + for (int i = 0; i < strArr.length; i++) { + try { + float parseByte = Float.parseFloat(strArr[i]); + list.add(parseByte); + } catch (NumberFormatException e) { + list.add(defaultVal); + continue; + } + } + return list; + } + + public static List splitConverToFloatList(String str, String split) { + return splitConverToFloatList(str, split, 0f); + } + + public static float[] splitConvertToFloatArray(String str, String split, float defaultVal) { + if (isEmpty(str)) { + return new float[0]; + } + String[] strArr = str.split(split); + float[] result = new float[strArr.length]; + for (int i = 0; i < strArr.length; i++) { + try { + result[i] = Float.parseFloat(strArr[i]); + } catch (NumberFormatException e) { + result[i] = defaultVal; + continue; + } + } + return result; + } + + public static float[] splitConvertToFloatArray(String str, String split) { + return splitConvertToFloatArray(str, split, 0f); + } + + // ===============upperCase======================= + + /** + * 将首字母大写 + * + * @param str + * @return + */ + public static String upperCaseFirstChar(String str) { + if (str == null || str.isEmpty()) { + return str; + } + char firstChar = str.charAt(0); + if (Character.isUpperCase(firstChar)) { + return str; + } + char[] values = str.toCharArray(); + values[0] = Character.toUpperCase(firstChar); + return new String(values); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartThreadFactory.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartThreadFactory.java new file mode 100644 index 00000000..367f2b17 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartThreadFactory.java @@ -0,0 +1,44 @@ +package net.lab1024.smartadmin.util; + +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * 拥有自己的thread facotry是为了jstack时候能看到是哪个线程 + * + * @author jiaozi + */ +public class SmartThreadFactory implements ThreadFactory { + + public static SmartThreadFactory create(String namePrefix) { + return new SmartThreadFactory(namePrefix); + } + + private final AtomicInteger poolNumber = new AtomicInteger(1); + + private final ThreadGroup group; + + private final AtomicInteger threadNumber = new AtomicInteger(1); + + private final String namePrefix; + + private SmartThreadFactory(String namePrefix) { + SecurityManager s = System.getSecurityManager(); + group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup(); + this.namePrefix = namePrefix + " pool " + poolNumber.getAndIncrement() + "-thread-"; + } + + @Override + public Thread newThread(Runnable r) { + Thread t = new Thread(group, r, namePrefix + threadNumber.getAndIncrement(), 0); + if (t.isDaemon()) { + t.setDaemon(false); + } + + if (t.getPriority() != Thread.NORM_PRIORITY) { + t.setPriority(Thread.NORM_PRIORITY); + } + return t; + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartVerificationUtil.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartVerificationUtil.java new file mode 100644 index 00000000..ceb349f1 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartVerificationUtil.java @@ -0,0 +1,95 @@ +package net.lab1024.smartadmin.util; + +import java.util.regex.Pattern; +/** + * 验证工具类 + * + * @author listen + * @date 2017/11/06 10:54 + */ +public class SmartVerificationUtil { + + + + /** + * 手机号码验证规则 + */ + public static final String PHONE_REGEXP = "^1[0-9]{10}"; + + /** + * 固定号码验证规则 + */ + public static final String FIXED_PHONE_REGEXP = "^0\\d{2,3}-[1-9]\\d{6,7}$"; + + /** + * 密码正则校验 + */ + public static final String PWD_REGEXP = "^[A-Za-z0-9.]{6,15}$"; + + /** + * 车牌号 + */ + public static final String CAR_NUMBER = + "([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼]{1}(([A-HJ-Z]{1}[A-HJ-NP-Z0-9]{5})|([A-HJ-Z]{1}(([DF]{1}[A-HJ-NP-Z0-9]{1}[0-9]{4})|([0-9]{5}[DF]{1})))|" + "([A-HJ-Z" + "]{1}[A-D0-9]{1}[0-9]{3}警)))|" + + "([0-9]{6}使)|((([沪粤川云桂鄂陕蒙藏黑辽渝]{1}A)|鲁B|闽D|蒙E|蒙H)[0-9]{4}领)|(WJ[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼·•]{1}[0-9]{4}[TDSHBXJ0-9]{1})|" + "([VKHBSLJNGCE]{1}[A-DJ-PR" + "-TVY]{1}[0-9]{5})"; + + /** + * 日期年月日校验 yyyy-MM-dd HH:mm:ss + */ + public static final String DATE_TIME = "^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9" + + "]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))\\s+([0-1]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$"; + + /** + * 日期校验 yyyy-MM-dd + */ + public static final String DATE = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))" + + "|(02-(0[1-9]|[1][0-9]|2[0-8])))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)" + "([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9" + + "][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|(" + "(([0-9]{2})(0[48]|[2468][048]|[13579][26])|(" + "(0[48" + "]|[2468][048]|[3579][26])00))-02-29)"; + + /** + * 年月校验 例: 2019-10 + */ + public static final String YEAR_MONTH = "^\\d{4}-((0([1-9]))|(1(0|1|2)))$"; + + + /** + * 时间区间验证 10:23-19:00 + */ + public static final String TIME_SECTION= "^(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9])-(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9])$"; + + /** + * 时间验证 10:23 + */ + public static final String TIME = "^(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9])$"; + + /** + * 身份证号 + */ + public static final String ID_CARD = "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)"; + + /** + * URL + */ + public static final String URL = "[a-zA-z]+://[^\\s]*"; + + /** + * 邮箱 + */ + public static final String EMAIL = "[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?"; + + /** + * 整数 + */ + public static final String INTEGER = "^-?[1-9]\\d*$"; + + /** + * 小数 + */ + public static final String DOUBLE = "^-?[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*$"; + + + public static void main(String[] args) { + boolean matches = Pattern.matches(INTEGER, "1"); + System.out.println(matches); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcel.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcel.java new file mode 100644 index 00000000..47f6e8cd --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcel.java @@ -0,0 +1,83 @@ +package net.lab1024.smartadmin.util.excel; + +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +/** + * zhuoda + */ +public class SmartExcel { + + List sheetList = new ArrayList();; + + public SmartExcel(String fileName) { + org.apache.poi.ss.usermodel.Workbook workbook = null; + try { + workbook = fileName.endsWith(".xls") ? new HSSFWorkbook(new FileInputStream(fileName)) : new XSSFWorkbook(new FileInputStream(fileName)); + int numberOfSheets = workbook.getNumberOfSheets(); + for (int index = 0; index < numberOfSheets; index++) { + addSheet(new SmartSheet(workbook.getSheetAt(index))); + } + } catch (Throwable t) { + throw new RuntimeException(t); + } finally { + if (workbook != null) { + try { + workbook.close(); + } catch (IOException e) { + } + workbook = null; + } + } + } + + public SmartExcel(InputStream ins, SmartExcelFileType fileType) { + org.apache.poi.ss.usermodel.Workbook workbook = null; + try { + workbook = fileType == SmartExcelFileType.XLS ? new HSSFWorkbook(ins) : new XSSFWorkbook(ins); + int numberOfSheets = workbook.getNumberOfSheets(); + for (int index = 0; index < numberOfSheets; index++) { + addSheet(new SmartSheet(workbook.getSheetAt(index))); + } + } catch (Throwable t) { + throw new RuntimeException(t); + } finally { + if (workbook != null) { + try { + workbook.close(); + } catch (IOException e) { + } + workbook = null; + } + } + } + + final protected void addSheet(SmartSheet sheet) { + this.sheetList.add(sheet); + } + + final protected void addSheetList(Collection sheets) { + this.sheetList.addAll(sheets); + } + + final public List getSheetList() { + return sheetList; + } + + final public SmartSheet getSheet(String sheetName) { + for (SmartSheet sheet : sheetList) { + if (sheet.getName().equals(sheetName)) { + return sheet; + } + } + return null; + } +} + diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelFileType.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelFileType.java new file mode 100644 index 00000000..499e43db --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelFileType.java @@ -0,0 +1,10 @@ +package net.lab1024.smartadmin.util.excel; + +/** + * @author zhuoda + */ +public enum SmartExcelFileType { + XLS, + XLSX + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelReader.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelReader.java new file mode 100644 index 00000000..e5c1ba5b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelReader.java @@ -0,0 +1,32 @@ +package net.lab1024.smartadmin.util.excel; + +/** + * @author zhuoda + * @Date 2020/8/10 + */ + +import net.lab1024.smartadmin.util.SmartFileUtil; + +import java.io.*; + +public class SmartExcelReader { + + public static SmartExcel openExcel(String filePath) throws IOException { + SmartFileUtil.isFileExistThrowException(filePath); + return new SmartExcel(new File(filePath).getCanonicalPath()); + } + + public static SmartExcel openExcel(File file) throws IOException { + return new SmartExcel(file.getCanonicalPath()); + } + + public static SmartExcel openExcel(InputStream ins, SmartExcelFileType fileType) throws IOException { + return new SmartExcel(ins, fileType); + } + + public static void main(String[] args) throws Exception { + SmartExcel smartExcel = openExcel(new FileInputStream(new File("F:/privilege.xlsx")), SmartExcelFileType.XLSX); + System.out.println(smartExcel.getSheetList()); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartSheet.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartSheet.java new file mode 100644 index 00000000..80aed760 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartSheet.java @@ -0,0 +1,113 @@ +package net.lab1024.smartadmin.util.excel; + + +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.util.CellRangeAddress; + +/** + * @author zhuoda + */ +public class SmartSheet { + final String name; + + private final int rowCount; + private final int columnCount; + private final String[][] datas; + + public SmartSheet(org.apache.poi.ss.usermodel.Sheet sheet) { + this.name = sheet.getSheetName(); + this.rowCount = sheet.getLastRowNum() + 1; + // 初始化基本数据 + int maxColumnCount = 0; + this.datas = new String[rowCount][]; + for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { + Row row = sheet.getRow(rowIndex); + if (row == null) { + continue; + } + int _columnCount = row.getLastCellNum() + 1; + this.datas[rowIndex] = new String[_columnCount]; + for (int colIndex = 0; colIndex < _columnCount; colIndex++) { + this.datas[rowIndex][colIndex] = getCellContents(row.getCell(colIndex)); + } + if (maxColumnCount < _columnCount) { + maxColumnCount = _columnCount; + } + } + this.columnCount = maxColumnCount; + // 根据单元格合并情况,填充内容 + for (int index = 0; index < sheet.getNumMergedRegions(); index++) { + CellRangeAddress mergedRegion = sheet.getMergedRegion(index); + String upperLeftData = this.datas[mergedRegion.getFirstRow()][mergedRegion.getFirstColumn()]; + for (int rowIndex = mergedRegion.getFirstRow(); rowIndex <= mergedRegion.getLastRow(); rowIndex++) { + String[] _rowDatas = this.datas[rowIndex]; + if (_rowDatas == null) { + this.datas[rowIndex] = new String[mergedRegion.getLastColumn() + 1]; + } else if (_rowDatas.length < mergedRegion.getLastColumn() + 1) { + String[] newStrArray = new String[mergedRegion.getLastColumn() + 1]; + System.arraycopy(_rowDatas, 0, newStrArray, 0, _rowDatas.length); + this.datas[rowIndex] = newStrArray; + } + for (int colIndex = mergedRegion.getFirstColumn(); colIndex <= mergedRegion.getLastColumn(); colIndex++) { + this.datas[rowIndex][colIndex] = upperLeftData; + } + } + } + } + + private String getCellContents(Cell cell) { + if (cell == null) { + return null; + } + return getCellContents(cell.getCellType(), cell); + } + + private String getCellContents(CellType type, Cell cell) { + switch (type) { + case BLANK: + return ""; + case NUMERIC: + return cell.getStringCellValue(); + case STRING: + return cell.getStringCellValue(); + case FORMULA: + return getCellContents(cell.getCachedFormulaResultType(), cell); + case BOOLEAN: + return String.valueOf(cell.getBooleanCellValue()); + case ERROR: + default: + throw new IllegalArgumentException(String.format("unsupported cell type:%d, col:%d, row:%d, sheet:%s", cell.getCellType(), cell.getColumnIndex(), + cell.getRowIndex(), getName())); + } + } + + public int getRowCount() { + return rowCount; + } + + public int getColumnCount() { + return columnCount; + } + + public String getValue(int rowIndex, int columnIndex) { + if (rowIndex < 0 || rowIndex >= datas.length) { + return ""; + } + if (columnIndex < 0 || datas[rowIndex] == null || columnIndex >= datas[rowIndex].length) { + return ""; + } + String value = datas[rowIndex][columnIndex]; + return value == null ? "": value; + } + + + public String getName() { + return name; + } + + + +} + diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/banner.txt b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/banner.txt new file mode 100644 index 00000000..d3187732 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/banner.txt @@ -0,0 +1,8 @@ + / ____| | | /\ | | (_) +| (___ _ __ ___ __ _ _ __| |_ / \ __| |_ __ ___ _ _ __ + \___ \| '_ ` _ \ / _` | '__| __| / /\ \ / _` | '_ ` _ \| | '_ \ + ____) | | | | | | (_| | | | |_ / ____ \ (_| | | | | | | | | | | +|_____/|_| |_| |_|\__,_|_| \__/_/ \_\__,_|_| |_| |_|_|_| |_| + +SmartAdmin v1.2.0 + diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/dev/application.properties b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/dev/application.properties new file mode 100644 index 00000000..b4468249 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/dev/application.properties @@ -0,0 +1,123 @@ +######################### server ################### +server.servlet.context-path=/smart-admin-api +server.port=10086 +spring.profiles.active=@profiles.active@ + +######################### tomcat ################### +server.tomcat.basedir=/home/logs/smart-admin/tomcat-logs +server.tomcat.accesslog.enabled=true +server.tomcat.accesslog.pattern=%t %{X-Forwarded-For}i %a "%r" %s %D (%D ms) + +######################### jackson ######################### +spring.jackson.serialization.write-enums-using-to-string=true +spring.jackson.deserialization.read-enums-using-to-string=true +spring.jackson.deserialization.fail-on-unknown-properties=false +spring.jackson.default-property-inclusion=always +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +spring.jackson.time-zone=GMT+8 +spring.jackson.serialization.write-dates-as-timestamps=false + +######################### http file ######################### +spring.servlet.multipart.max-file-size=30MB +spring.servlet.multipart.max-request-size=30MB +file-upload-service.path=/home/upload/ + +######################### database ######################### +spring.datasource.url=jdbc:p6spy:mysql://127.0.0.1:3306/smart-admin-dev?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC +spring.datasource.username=root +spring.datasource.password=Root.123 +spring.datasource.initial-size=2 +spring.datasource.min-idle=1 +spring.datasource.max-active=10 +spring.datasource.max-wait=60000 +spring.datasource.time-between-eviction-runs-millis=60000 +spring.datasource.min-evictable-idle-time-millis=300000 +spring.datasource.driver-class-name=com.p6spy.engine.spy.P6SpyDriver +spring.datasource.filters=stat +spring.datasource.druid.username=druid +spring.datasource.druid.password=123456 +spring.datasource.druid.login.enabled=false + +######################### redis ####################################### +spring.redis.database=0 +spring.redis.host=127.0.0.1 +spring.redis.port=6379 +spring.redis.timeout=10000ms +spring.redis.password= +spring.redis.lettuce.pool.max-active=10 +spring.redis.lettuce.pool.min-idle=5 +spring.redis.lettuce.pool.max-idle=10 +spring.redis.lettuce.pool.max-wait=30000ms + +########################## rest http pool ######################### +#\u6700\u5927\u8FDE\u63A5\u6570 +http.pool.max-total=10 +#\u5355\u8DEF\u7531\u6700\u5927\u8FDE\u63A5\u6570 +http.pool.default-max-per-route=5 +#\u670D\u52A1\u5668\u8FD4\u56DE\u6570\u636E(response)\u7684\u65F6\u95F4 +http.pool.socket-timeout=8000 +#\u8FDE\u63A5\u4E0A\u670D\u52A1\u5668(\u63E1\u624B\u6210\u529F)\u7684\u65F6\u95F4 +http.pool.connect-timeout=8000 +#\u4ECE\u8FDE\u63A5\u6C60\u4E2D\u83B7\u53D6\u8FDE\u63A5\u7684\u8D85\u65F6\u65F6\u95F4 +http.pool.connection-request-timeout=8000 + +######################### mybatis\u914D\u7F6E ######################### +mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl +# mybatis-plus \u5B57\u6BB5\u9A7C\u5CF0\u81EA\u52A8\u8F6C\u6362 +mybatis-plus.configuration.map-underscore-to-camel-case=true +mybatis-plus.mapper-locations=classpath:/mapper/**/*.xml +mybatis-plus.typeAliasesPackage=net.lab1024.smartadmin.*.*.domain.entity +mybatis-plus.global-config.refresh-mapper=true +mybatis-plus.global-config.db-column-underline=true + +######################### swagger ######################### +swagger.apiGroupName=smartAdmin +swagger.title=smartAdmin +swagger.description=smartAdmin +swagger.version=1.0 +swagger.serviceUrl=http://localhost:10086/smart-admin-api +swagger.packAge=net.lab1024.smartadmin.module + +######################### jwt ######################### +jwt.key=smart-admin-jwt-key + +########################## smart reload ######################### +smart-reload.thread-count=1 +smart-reload.time-interval=300 + +######################### cros ######################### +access-control-allow-origin=* + +######################### heart beat ######################### +heart-beat.delayHandlerTime=60000 +heart-beat.intervalTime=300000 + +######################### quartz ############################# +#\u8C03\u5EA6\u6807\u8BC6\u540D \u96C6\u7FA4\u4E2D\u6BCF\u4E00\u4E2A\u5B9E\u4F8B\u90FD\u5FC5\u987B\u4F7F\u7528\u76F8\u540C\u7684\u540D\u79F0 +spring.quartz.properties.org.quartz.scheduler.instanceName=devClusteredScheduler +spring.quartz.properties.org.quartz.scheduler.instanceId=AUTO +#\u8FDC\u7A0B\u7BA1\u7406\u76F8\u5173\u7684\u914D\u7F6E,\u5168\u90E8\u5173\u95ED +spring.quartz.properties.org.quartz.scheduler.rmi.export=false +spring.quartz.properties.org.quartz.scheduler.rmi.proxy=false +#\u8DF3\u8FC7quartz\u7248\u672C\u68C0\u67E5 +spring.quartz.properties.org.quartz.scheduler.skipUpdateCheck=true +#\u6570\u636E\u4FDD\u5B58\u65B9\u5F0F\u4E3A\u6301\u4E45\u5316 +spring.quartz.properties.org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX +spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate +spring.quartz.properties.org.quartz.jobStore.tablePrefix=QRTZ_ +spring.quartz.properties.org.quartz.jobStore.isClustered=true +#\u8C03\u5EA6\u5B9E\u4F8B\u5931\u6548\u7684\u68C0\u67E5\u65F6\u95F4\u95F4\u9694, \u5F00\u53D1\u73AF\u5883\u6539\u4E3A\u4E8660\u79D2 +spring.quartz.properties.org.quartz.jobStore.clusterCheckinInterval=60000 +spring.quartz.properties.org.quartz.jobStore.useProperties=false +#\u8C03\u5EA6\u7EBF\u7A0B +spring.quartz.properties.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool +spring.quartz.properties.org.quartz.threadPool.threadCount=2 +spring.quartz.properties.org.quartz.threadPool.threadPriority=5 +spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true +spring.quartz.properties.org.quartz.threadPool.threadNamePrefix=quartz +spring.quartz.job-store-type=jdbc +#ALWAYS,EMBEDDED,NEVER +spring.quartz.jdbc.initialize-schema=NEVER +spring.quartz.jdbc.schema=classpath:sql/quartz_mysql_2.3.0.sql +#\u81EA\u52A8\u626B\u63CF\u4EFB\u52A1\u5355\u5E76\u53D1\u73B0\u6539\u52A8\u7684\u65F6\u95F4\u95F4\u9694,\u5355\u4F4D\u4E3A\u79D2 +org.quartz.plugin.jobInitializer.scanInterval = 300 diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/dev/log4j2.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/dev/log4j2.xml new file mode 100644 index 00000000..86c514a3 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/dev/log4j2.xml @@ -0,0 +1,97 @@ + + + + + /home/logs/smart-admin/dev/logs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/dev/spy.properties b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/dev/spy.properties new file mode 100644 index 00000000..22c91d1e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/dev/spy.properties @@ -0,0 +1,20 @@ +#modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory +# \u81EA\u5B9A\u4E49\u65E5\u5FD7\u6253\u5370 +logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger +#\u65E5\u5FD7\u8F93\u51FA\u5230\u63A7\u5236\u53F0 +appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger +# \u4F7F\u7528\u65E5\u5FD7\u7CFB\u7EDF\u8BB0\u5F55 sql +#appender=com.p6spy.engine.spy.appender.Slf4JLogger +# \u8BBE\u7F6E p6spy driver \u4EE3\u7406 +deregisterdrivers=true +# \u53D6\u6D88JDBC URL\u524D\u7F00 +useprefix=true +# \u914D\u7F6E\u8BB0\u5F55 Log \u4F8B\u5916,\u53EF\u53BB\u6389\u7684\u7ED3\u679C\u96C6\u6709error,info,batch,debug,statement,commit,rollback,result,resultset. +#excludecategories=info,debug,result,commit,resultset +# \u65E5\u671F\u683C\u5F0F +dateformat=yyyy-MM-dd HH:mm:ss + +# \u662F\u5426\u5F00\u542F\u6162SQL\u8BB0\u5F55 +outagedetection=true +# \u6162SQL\u8BB0\u5F55\u6807\u51C6 2 \u79D2 +outagedetectioninterval=2 \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/email/EmailMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/email/EmailMapper.xml new file mode 100644 index 00000000..6050de51 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/email/EmailMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + delete from t_email where id = #{id} + + + + delete from t_email where id in + + #{item} + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/log/OrderOperateLogMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/log/OrderOperateLogMapper.xml new file mode 100644 index 00000000..46f92a00 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/log/OrderOperateLogMapper.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + INSERT INTO t_order_operate_log (order_id,order_type, operate_type, operate_content, operate_remark, employee_id, employee_name,ext_data,update_time,create_time) VALUES + + (#{item.orderId}, + #{item.orderType}, + #{item.operateType}, + #{item.operateContent}, + #{item.operateRemark}, + #{item.employeeId}, + #{item.employeeName}, + #{item.extData}, + #{item.updateTime} + #{item.createTime} + ) + + + + + diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/log/UserLoginLogMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/log/UserLoginLogMapper.xml new file mode 100644 index 00000000..87b0df3b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/log/UserLoginLogMapper.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + delete from t_user_login_log where id = #{id} + + + + delete from t_user_login_log where id in + + #{item} + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/log/UserOperateLogMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/log/UserOperateLogMapper.xml new file mode 100644 index 00000000..7088f2c4 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/log/UserOperateLogMapper.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + delete from t_user_operate_log where id = #{id} + + + + delete from t_user_operate_log where id in + + #{item} + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/notice/NoticeMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/notice/NoticeMapper.xml new file mode 100644 index 00000000..d94c0ab7 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/notice/NoticeMapper.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE t_notice + set deleted = #{deletedFlag} + WHERE id =#{id} + + + + + UPDATE t_notice set deleted = #{deletedFlag} where id in + + #{item} + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/notice/NoticeReceiveRecordMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/notice/NoticeReceiveRecordMapper.xml new file mode 100644 index 00000000..66168c57 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/notice/NoticeReceiveRecordMapper.xml @@ -0,0 +1,39 @@ + + + + + + + + + delete from t_notice_receive_record where notice_id = #{noticeId} + + + + INSERT INTO t_notice_receive_record (notice_id, employee_id, update_time, create_time) VALUES + + ( + #{item.noticeId}, + #{item.employeeId}, + now(), + now() + ) + + + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/peony/PeonyMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/peony/PeonyMapper.xml new file mode 100644 index 00000000..4be1a0f5 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/business/peony/PeonyMapper.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + delete from t_peony where id = #{id} + + + + delete from t_peony where id in + + #{item} + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/codegenerator/TableMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/codegenerator/TableMapper.xml new file mode 100644 index 00000000..4af675b6 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/codegenerator/TableMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/file/FileMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/file/FileMapper.xml new file mode 100644 index 00000000..04abb76d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/file/FileMapper.xml @@ -0,0 +1,100 @@ + + + + + + + + + + INSERT INTO t_file ( + module_id, + module_type, + file_name, + file_size, + file_type, + file_path, + creater_user, + file_location_type + ) + VALUES + + (#{item.moduleId},#{item.moduleType},#{item.fileName},#{item.fileSize},#{item.fileType},#{item.filePath},#{item.createrUser},#{item.createrUserType},#{item.fileLocationType}) + + + + + INSERT INTO t_file ( + module_id, + module_type, + file_name, + file_size, + file_type, + file_path, + creater_user, + file_location_type + ) + VALUES + + (#{item.moduleId},#{item.moduleType},#{item.fileName},#{item.fileSize},#{item.fileType},#{item.filePath},#{item.createrUser},#{item.createrUserType},#{item.fileLocationType}) + + + + + DELETE FROM t_file WHERE module_id =#{moduleId} + + + + DELETE FROM t_file WHERE module_id =#{moduleId} and module_type=#{moduleType} + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/heartbeat/HeartBeatRecordMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/heartbeat/HeartBeatRecordMapper.xml new file mode 100644 index 00000000..27ce75e6 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/heartbeat/HeartBeatRecordMapper.xml @@ -0,0 +1,41 @@ + + + + + + + INSERT INTO t_heart_beat_record ( + project_path, + server_ip, + process_no, + process_start_time, + heart_beat_time + ) + VALUES + (#{projectPath}, + #{serverIp}, + #{processNo}, + #{processStartTime}, + #{heartBeatTime}) + + + + update t_heart_beat_record + set heart_beat_time = #{heartBeatTime} + + id = #{id} + + + + + + + diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/idgenerator/IdGeneratorMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/idgenerator/IdGeneratorMapper.xml new file mode 100644 index 00000000..df3b86c5 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/idgenerator/IdGeneratorMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + update t_id_generator set last_number = #{lastNumber}, update_time = now() where id = #{generatorId} + + + + replace into `t_id_generator_record` (`generator_id`, `year`, `month`, `day`, `last_number`) values (#{generatorId}, #{year}, #{month}, #{day}, #{lastNumber}) + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/quartz/QuartzTaskLogMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/quartz/QuartzTaskLogMapper.xml new file mode 100644 index 00000000..43f25e05 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/quartz/QuartzTaskLogMapper.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + tl.id, + tl.task_id, + tl.task_name, + tl.task_params, + tl.process_status, + tl.process_duration, + tl.process_log, + tl.ip_address, + tl.update_time, + tl.create_time + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/quartz/QuartzTaskMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/quartz/QuartzTaskMapper.xml new file mode 100644 index 00000000..0bb88311 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/quartz/QuartzTaskMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + t.id, + t.task_name, + t.task_bean, + t.task_params, + t.task_cron, + t.task_status, + t.remark, + t.update_time, + t.create_time + + + + + + + + UPDATE t_quartz_task t + set t.task_status = #{taskStatus} + WHERE t.id = #{taskId} + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/smartreload/ReloadItemMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/smartreload/ReloadItemMapper.xml new file mode 100644 index 00000000..03c1f67f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/smartreload/ReloadItemMapper.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/smartreload/ReloadResultMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/smartreload/ReloadResultMapper.xml new file mode 100644 index 00000000..6c0caba1 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/support/smartreload/ReloadResultMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/datascope/DataScopeRoleMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/datascope/DataScopeRoleMapper.xml new file mode 100644 index 00000000..88bd6a9d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/datascope/DataScopeRoleMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + DELETE FROM t_role_data_scope + WHERE role_id = #{roleId} + + + + INSERT INTO t_role_data_scope (data_scope_type,view_type,role_id,update_time,create_time) VALUES + + ( + #{item.dataScopeType}, + #{item.viewType}, + #{item.roleId}, + now(), + now() + ) + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/department/DepartmentMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/department/DepartmentMapper.xml new file mode 100644 index 00000000..837a287c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/department/DepartmentMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + + d.id, + d.name, + d.short_name, + d.manager_id, + d.parent_id, + d.sort, + d.update_time, + d.create_time + + + + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/employee/EmployeeMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/employee/EmployeeMapper.xml new file mode 100644 index 00000000..2b13a478 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/employee/EmployeeMapper.xml @@ -0,0 +1,186 @@ + + + + + + + + + + + e.id, + e.login_name, + e.login_pwd, + e.actual_name, + e.nick_name, + e.phone, + e.id_card, + e.birthday, + e.email, + e.department_id, + e.is_leave, + e.is_disabled, + e.remark, + e.is_delete, + e.update_time, + e.create_time + + + + + + + UPDATE t_employee e + set e.is_disabled = #{isDisabled} + WHERE id in + + #{item} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE t_employee + SET login_pwd = #{password} + WHERE id = #{employeeId} + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/position/PositionMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/position/PositionMapper.xml new file mode 100644 index 00000000..a7ef4cce --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/position/PositionMapper.xml @@ -0,0 +1,77 @@ + + + + + + + id, + position_name, + remark, + update_time, + create_time + + + + + + + + + + INSERT INTO t_position_relation (position_id,employee_id) VALUES + + (#{item},#{batchDTO.employeeId}) + + + + + + DELETE FROM t_position_relation WHERE employee_id = #{employeeId} + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/privilege/PrivilegeMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/privilege/PrivilegeMapper.xml new file mode 100644 index 00000000..7d224b22 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/privilege/PrivilegeMapper.xml @@ -0,0 +1,124 @@ + + + + + + + + p.id, + p.type, + p.name, + p.key, + p.url, + p.sort, + p.parent_key, + p.update_time, + p.create_time + + + + + + + + + + DELETE FROM t_privilege + WHERE `key` IN + + #{item} + + + + + DELETE FROM t_privilege + WHERE parent_key IN + + #{item} + + + + + INSERT INTO t_privilege (`type`, `name`, `key`,url,sort,parent_key,create_time,update_time) VALUES + + ( + #{item.type}, + #{item.name}, + #{item.key}, + #{item.url}, + #{item.sort}, + #{item.parentKey}, + now(), + now() + ) + + + + + + UPDATE t_privilege + SET `type`=#{item.type},`name`=#{item.name},url=#{item.url},sort=#{item.sort},parent_key=#{item.parentKey},update_time=now() + WHERE `key` = #{item.key} + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/role/RoleEmployeeMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/role/RoleEmployeeMapper.xml new file mode 100644 index 00000000..5984cb7d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/role/RoleEmployeeMapper.xml @@ -0,0 +1,124 @@ + + + + + + + + + + er.id, + er.role_id, + er.employee_id, + er.update_time, + er.create_time + + + + + + + + + + + + + DELETE FROM t_role_employee + WHERE employee_id = #{employeeId} + + + + + DELETE FROM t_role_employee + WHERE role_id = #{roleId} + + + + DELETE FROM t_role_employee + WHERE role_id = #{roleId} and employee_id = #{employeeId} + + + + + DELETE FROM t_role_employee + WHERE role_id = #{roleId} and employee_id in + + #{item} + + + + + INSERT INTO t_role_employee (role_id, employee_id, update_time, create_time) VALUES + + ( + #{item.roleId}, + #{item.employeeId}, + now(), + now() + ) + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/role/RoleMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/role/RoleMapper.xml new file mode 100644 index 00000000..5b7177dd --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/role/RoleMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + r.id, + r.role_name, + r.remark, + r.update_time, + r.create_time + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/role/RolePrivilegeMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/role/RolePrivilegeMapper.xml new file mode 100644 index 00000000..cb44911b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/role/RolePrivilegeMapper.xml @@ -0,0 +1,72 @@ + + + + + + + + + + rp.id, + rp.role_id, + rp.privilege_key, + rp.update_time, + rp.create_time + + + + + DELETE FROM t_role_privilege + WHERE role_id = #{roleId} + + + + DELETE FROM t_role_privilege + WHERE privilege_key in + + #{item} + + + + + + INSERT INTO t_role_privilege (role_id, privilege_key, update_time, create_time) VALUES + + ( + #{item.roleId}, + #{item.privilegeKey}, + now(), + now() + ) + + + + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/systemconfig/SystemConfigMapper.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/systemconfig/SystemConfigMapper.xml new file mode 100644 index 00000000..1cebf85b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/systemconfig/SystemConfigMapper.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/pre/application.properties b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/pre/application.properties new file mode 100644 index 00000000..fb3de5e5 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/pre/application.properties @@ -0,0 +1,121 @@ +######################### server ################### +server.servlet.context-path=/smart-admin-api +server.port=10086 +spring.profiles.active=@profiles.active@ + +######################### tomcat ################### +server.tomcat.basedir=/home/logs/smart-admin/tomcat-logs +server.tomcat.accesslog.enabled=true +server.tomcat.accesslog.pattern=%t %{X-Forwarded-For}i %a "%r" %s %D (%D ms) + +######################### jackson ######################### +spring.jackson.serialization.write-enums-using-to-string=true +spring.jackson.deserialization.read-enums-using-to-string=true +spring.jackson.deserialization.fail-on-unknown-properties=false +spring.jackson.default-property-inclusion=always +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +spring.jackson.time-zone=GMT+8 +spring.jackson.serialization.write-dates-as-timestamps=false + +######################### http file ######################### +spring.servlet.multipart.max-file-size=30MB +spring.servlet.multipart.max-request-size=30MB +file-upload-service.path=/home/upload/ + +######################### database ######################### +spring.datasource.url=jdbc:mysql://127.0.0.1:3306/smart-admin-dev?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC +spring.datasource.username=root +spring.datasource.password=root +spring.datasource.initial-size=2 +spring.datasource.min-idle=1 +spring.datasource.max-active=10 +spring.datasource.max-wait=60000 +spring.datasource.time-between-eviction-runs-millis=60000 +spring.datasource.min-evictable-idle-time-millis=300000 +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +spring.datasource.filters=stat +spring.datasource.druid.username=druid +spring.datasource.druid.password=123456 +spring.datasource.druid.login.enabled=false + +######################### redis ####################################### +spring.redis.database=0 +spring.redis.host=127.0.0.1 +spring.redis.port=6379 +spring.redis.timeout=10000ms +spring.redis.password= +spring.redis.lettuce.pool.max-active=10 +spring.redis.lettuce.pool.min-idle=5 +spring.redis.lettuce.pool.max-idle=10 +spring.redis.lettuce.pool.max-wait=30000ms + +########################## rest http pool ######################### +#\u6700\u5927\u8FDE\u63A5\u6570 +http.pool.max-total=10 +#\u5355\u8DEF\u7531\u6700\u5927\u8FDE\u63A5\u6570 +http.pool.default-max-per-route=5 +#\u670D\u52A1\u5668\u8FD4\u56DE\u6570\u636E(response)\u7684\u65F6\u95F4 +http.pool.socket-timeout=8000 +#\u8FDE\u63A5\u4E0A\u670D\u52A1\u5668(\u63E1\u624B\u6210\u529F)\u7684\u65F6\u95F4 +http.pool.connect-timeout=8000 +#\u4ECE\u8FDE\u63A5\u6C60\u4E2D\u83B7\u53D6\u8FDE\u63A5\u7684\u8D85\u65F6\u65F6\u95F4 +http.pool.connection-request-timeout=8000 + +######################### mybatis\u914D\u7F6E ######################### +mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl +# mybatis-plus \u5B57\u6BB5\u9A7C\u5CF0\u81EA\u52A8\u8F6C\u6362 +mybatis-plus.configuration.map-underscore-to-camel-case=true +mybatis-plus.mapper-locations=classpath:/mapper/**/*.xml +mybatis-plus.typeAliasesPackage=net.lab1024.smartadmin.*.*.domain.entity +mybatis-plus.global-config.refresh-mapper=true +mybatis-plus.global-config.db-column-underline=true + +######################### swagger ######################### +swagger.apiGroupName=smartAdmin +swagger.title=smartAdmin +swagger.description=smartAdmin +swagger.version=1.0 +swagger.serviceUrl=http://localhost:10086/smart-admin-api +swagger.packAge=net.lab1024.smartadmin.module + +######################### jwt ######################### +jwt.key=smart-admin-jwt-key + +########################## smart reload ######################### +smart-reload.thread-count=1 +smart-reload.time-interval=30 + +######################### cros ######################### +access-control-allow-origin=* + +######################### heart beat ######################### +heart-beat.delayHandlerTime=60000 +heart-beat.intervalTime=60000 + +######################### quartz ############################# +#\u8C03\u5EA6\u6807\u8BC6\u540D \u96C6\u7FA4\u4E2D\u6BCF\u4E00\u4E2A\u5B9E\u4F8B\u90FD\u5FC5\u987B\u4F7F\u7528\u76F8\u540C\u7684\u540D\u79F0 +spring.quartz.properties.org.quartz.scheduler.instanceName=devClusteredScheduler +spring.quartz.properties.org.quartz.scheduler.instanceId=AUTO +#\u8FDC\u7A0B\u7BA1\u7406\u76F8\u5173\u7684\u914D\u7F6E,\u5168\u90E8\u5173\u95ED +spring.quartz.properties.org.quartz.scheduler.rmi.export=false +spring.quartz.properties.org.quartz.scheduler.rmi.proxy=false +#\u8DF3\u8FC7quartz\u7248\u672C\u68C0\u67E5 +spring.quartz.properties.org.quartz.scheduler.skipUpdateCheck=true +#\u6570\u636E\u4FDD\u5B58\u65B9\u5F0F\u4E3A\u6301\u4E45\u5316 +spring.quartz.properties.org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX +spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate +spring.quartz.properties.org.quartz.jobStore.tablePrefix=QRTZ_ +spring.quartz.properties.org.quartz.jobStore.isClustered=true +#\u8C03\u5EA6\u5B9E\u4F8B\u5931\u6548\u7684\u68C0\u67E5\u65F6\u95F4\u95F4\u9694 +spring.quartz.properties.org.quartz.jobStore.clusterCheckinInterval=10000 +spring.quartz.properties.org.quartz.jobStore.useProperties=false +#\u8C03\u5EA6\u7EBF\u7A0B +spring.quartz.properties.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool +spring.quartz.properties.org.quartz.threadPool.threadCount=2 +spring.quartz.properties.org.quartz.threadPool.threadPriority=5 +spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true +spring.quartz.properties.org.quartz.threadPool.threadNamePrefix=quartz +spring.quartz.job-store-type=jdbc +#ALWAYS,EMBEDDED,NEVER +spring.quartz.jdbc.initialize-schema=NEVER +spring.quartz.jdbc.schema=classpath:sql/quartz_mysql_2.3.0.sql diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/pre/log4j2.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/pre/log4j2.xml new file mode 100644 index 00000000..f1942baf --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/pre/log4j2.xml @@ -0,0 +1,97 @@ + + + + + /home/logs/smart-admin/dev/logs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/prod/application.properties b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/prod/application.properties new file mode 100644 index 00000000..94f75be2 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/prod/application.properties @@ -0,0 +1,120 @@ +######################### server ################### +server.servlet.context-path=/smart-admin-api +server.port=10088 +spring.profiles.active=@profiles.active@ + +######################### tomcat ################### +server.tomcat.basedir=/home/logs/smart-admin/tomcat-logs +server.tomcat.accesslog.enabled=true +server.tomcat.accesslog.pattern=%t %{X-Forwarded-For}i %a "%r" %s %D (%D ms) + +######################### jackson ######################### +spring.jackson.serialization.write-enums-using-to-string=true +spring.jackson.deserialization.read-enums-using-to-string=true +spring.jackson.deserialization.fail-on-unknown-properties=false +spring.jackson.default-property-inclusion=always +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +spring.jackson.time-zone=GMT+8 +spring.jackson.serialization.write-dates-as-timestamps=false + +######################### http file ######################### +spring.servlet.multipart.max-file-size=30MB +spring.servlet.multipart.max-request-size=30MB +file-upload-service.path=/home/upload/smart-admin-file + +######################### database ######################### +spring.datasource.url=jdbc:mysql://172.16.0.201:3306/smart-admin-prod?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true +spring.datasource.username=smart-admin +spring.datasource.password=Admin@123457 +spring.datasource.initial-size=2 +spring.datasource.min-idle=1 +spring.datasource.max-active=100 +spring.datasource.max-wait=60000 +spring.datasource.time-between-eviction-runs-millis=60000 +spring.datasource.min-evictable-idle-time-millis=300000 +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +spring.datasource.filters=stat +spring.datasource.druid.username=druid +spring.datasource.druid.password=druid +spring.datasource.druid.login.enabled=false + +######################### redis ####################################### +spring.redis.database=13 +spring.redis.host=127.0.0.1 +spring.redis.port=6379 +spring.redis.timeout=10000ms +spring.redis.password=Gq123456@ +spring.redis.lettuce.pool.max-active=10 +spring.redis.lettuce.pool.min-idle=5 +spring.redis.lettuce.pool.max-idle=10 +spring.redis.lettuce.pool.max-wait=30000ms + +########################## rest http pool ######################### +#\u6700\u5927\u8FDE\u63A5\u6570 +http.pool.max-total=10 +#\u5355\u8DEF\u7531\u6700\u5927\u8FDE\u63A5\u6570 +http.pool.default-max-per-route=5 +#\u670D\u52A1\u5668\u8FD4\u56DE\u6570\u636E(response)\u7684\u65F6\u95F4 +http.pool.socket-timeout=8000 +#\u8FDE\u63A5\u4E0A\u670D\u52A1\u5668(\u63E1\u624B\u6210\u529F)\u7684\u65F6\u95F4 +http.pool.connect-timeout=8000 +#\u4ECE\u8FDE\u63A5\u6C60\u4E2D\u83B7\u53D6\u8FDE\u63A5\u7684\u8D85\u65F6\u65F6\u95F4 +http.pool.connection-request-timeout=8000 + +######################### mybatis\u914D\u7F6E ######################### +mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl +# mybatis-plus \u5B57\u6BB5\u9A7C\u5CF0\u81EA\u52A8\u8F6C\u6362 +mybatis-plus.configuration.map-underscore-to-camel-case=true +mybatis-plus.mapper-locations=classpath:/mapper/**/*.xml +mybatis-plus.typeAliasesPackage=net.lab1024.smartadmin.*.*.domain.entity +mybatis-plus.global-config.refresh-mapper=true +mybatis-plus.global-config.db-column-underline=true + +######################### swagger ######################### +swagger.apiGroupName=smartAdmin +swagger.title=smartAdmin +swagger.description=smartAdmin +swagger.version=1.0 +swagger.serviceUrl=http://localhost:10086/smart-admin-api +swagger.packAge=net.lab1024.smartadmin.module + +######################### jwt ######################### +jwt.key=smart-admin-jwt-key + +########################## smart reload ######################### +smart-reload.thread-count=2 +smart-reload.time-interval=30 +######################### cros ######################### +access-control-allow-origin=preview.smartadmin.1024lab.net +######################### heart beat ######################### +heart-beat.delayHandlerTime=60000 +heart-beat.intervalTime=60000 + +######################### quartz ############################# +#\u8C03\u5EA6\u6807\u8BC6\u540D \u96C6\u7FA4\u4E2D\u6BCF\u4E00\u4E2A\u5B9E\u4F8B\u90FD\u5FC5\u987B\u4F7F\u7528\u76F8\u540C\u7684\u540D\u79F0 +spring.quartz.properties.org.quartz.scheduler.instanceName=prodClusteredScheduler +spring.quartz.properties.org.quartz.scheduler.instanceId=AUTO +#\u8FDC\u7A0B\u7BA1\u7406\u76F8\u5173\u7684\u914D\u7F6E,\u5168\u90E8\u5173\u95ED +spring.quartz.properties.org.quartz.scheduler.rmi.export=false +spring.quartz.properties.org.quartz.scheduler.rmi.proxy=false +#\u8DF3\u8FC7quartz\u7248\u672C\u68C0\u67E5 +spring.quartz.properties.org.quartz.scheduler.skipUpdateCheck=true +#\u6570\u636E\u4FDD\u5B58\u65B9\u5F0F\u4E3A\u6301\u4E45\u5316 +spring.quartz.properties.org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX +spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate +spring.quartz.properties.org.quartz.jobStore.tablePrefix=QRTZ_ +spring.quartz.properties.org.quartz.jobStore.isClustered=true +#\u8C03\u5EA6\u5B9E\u4F8B\u5931\u6548\u7684\u68C0\u67E5\u65F6\u95F4\u95F4\u9694 +spring.quartz.properties.org.quartz.jobStore.clusterCheckinInterval=10000 +spring.quartz.properties.org.quartz.jobStore.useProperties=false +#\u8C03\u5EA6\u7EBF\u7A0B +spring.quartz.properties.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool +spring.quartz.properties.org.quartz.threadPool.threadCount=2 +spring.quartz.properties.org.quartz.threadPool.threadPriority=5 +spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true +spring.quartz.properties.org.quartz.threadPool.threadNamePrefix=quartz + +spring.quartz.job-store-type=jdbc +#ALWAYS,EMBEDDED,NEVER +spring.quartz.jdbc.initialize-schema=NEVER +spring.quartz.jdbc.schema=classpath:sql/quartz_mysql_2.3.0.sql diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/prod/log4j2.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/prod/log4j2.xml new file mode 100644 index 00000000..4991f76e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/prod/log4j2.xml @@ -0,0 +1,97 @@ + + + + + /home/logs/smart-admin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sit/application.properties b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sit/application.properties new file mode 100644 index 00000000..c7c426cf --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sit/application.properties @@ -0,0 +1,121 @@ +######################### server ################### +server.servlet.context-path=/smart-admin-api +server.port=10086 +spring.profiles.active=@profiles.active@ + +######################### tomcat ################### +server.tomcat.basedir=/home/logs/smart-admin/tomcat-logs +server.tomcat.accesslog.enabled=true +server.tomcat.accesslog.pattern=%t %{X-Forwarded-For}i %a "%r" %s %D (%D ms) + +######################### jackson ######################### +spring.jackson.serialization.write-enums-using-to-string=true +spring.jackson.deserialization.read-enums-using-to-string=true +spring.jackson.deserialization.fail-on-unknown-properties=false +spring.jackson.default-property-inclusion=always +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +spring.jackson.time-zone=GMT+8 +spring.jackson.serialization.write-dates-as-timestamps=false + +######################### http file ######################### +spring.servlet.multipart.max-file-size=30MB +spring.servlet.multipart.max-request-size=30MB +file-upload-service.path=/home/upload/ + +######################### database ######################### +spring.datasource.url=jdbc:p6spy:mysql://127.0.0.1:3306/smart-admin-sit?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC +spring.datasource.username=root +spring.datasource.password=root +spring.datasource.initial-size=2 +spring.datasource.min-idle=1 +spring.datasource.max-active=10 +spring.datasource.max-wait=60000 +spring.datasource.time-between-eviction-runs-millis=60000 +spring.datasource.min-evictable-idle-time-millis=300000 +spring.datasource.driver-class-name=com.p6spy.engine.spy.P6SpyDriver +spring.datasource.filters=stat +spring.datasource.druid.username=druid +spring.datasource.druid.password=123456 +spring.datasource.druid.login.enabled=false + +######################### redis ####################################### +spring.redis.database=0 +spring.redis.host=127.0.0.1 +spring.redis.port=6379 +spring.redis.timeout=10000ms +spring.redis.password= +spring.redis.lettuce.pool.max-active=10 +spring.redis.lettuce.pool.min-idle=5 +spring.redis.lettuce.pool.max-idle=10 +spring.redis.lettuce.pool.max-wait=30000ms + +########################## rest http pool ######################### +#\u6700\u5927\u8FDE\u63A5\u6570 +http.pool.max-total=10 +#\u5355\u8DEF\u7531\u6700\u5927\u8FDE\u63A5\u6570 +http.pool.default-max-per-route=5 +#\u670D\u52A1\u5668\u8FD4\u56DE\u6570\u636E(response)\u7684\u65F6\u95F4 +http.pool.socket-timeout=8000 +#\u8FDE\u63A5\u4E0A\u670D\u52A1\u5668(\u63E1\u624B\u6210\u529F)\u7684\u65F6\u95F4 +http.pool.connect-timeout=8000 +#\u4ECE\u8FDE\u63A5\u6C60\u4E2D\u83B7\u53D6\u8FDE\u63A5\u7684\u8D85\u65F6\u65F6\u95F4 +http.pool.connection-request-timeout=8000 + +######################### mybatis\u914D\u7F6E ######################### +mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl +# mybatis-plus \u5B57\u6BB5\u9A7C\u5CF0\u81EA\u52A8\u8F6C\u6362 +mybatis-plus.configuration.map-underscore-to-camel-case=true +mybatis-plus.mapper-locations=classpath:/mapper/**/*.xml +mybatis-plus.typeAliasesPackage=net.lab1024.smartadmin.*.*.domain.entity +mybatis-plus.global-config.refresh-mapper=true +mybatis-plus.global-config.db-column-underline=true + +######################### swagger ######################### +swagger.apiGroupName=smartAdmin +swagger.title=smartAdmin +swagger.description=smartAdmin +swagger.version=1.0 +swagger.serviceUrl=http://localhost:10086/smart-admin-api +swagger.packAge=net.lab1024.smartadmin.module + +######################### jwt ######################### +jwt.key=smart-admin-jwt-key + +########################## smart reload ######################### +smart-reload.thread-count=1 +smart-reload.time-interval=120 + +######################### cros ######################### +access-control-allow-origin=* + +######################### heart beat ######################### +heart-beat.delayHandlerTime=60000 +heart-beat.intervalTime=300000 + +######################### quartz ############################# +#\u8C03\u5EA6\u6807\u8BC6\u540D \u96C6\u7FA4\u4E2D\u6BCF\u4E00\u4E2A\u5B9E\u4F8B\u90FD\u5FC5\u987B\u4F7F\u7528\u76F8\u540C\u7684\u540D\u79F0 +spring.quartz.properties.org.quartz.scheduler.instanceName=devClusteredScheduler +spring.quartz.properties.org.quartz.scheduler.instanceId=AUTO +#\u8FDC\u7A0B\u7BA1\u7406\u76F8\u5173\u7684\u914D\u7F6E,\u5168\u90E8\u5173\u95ED +spring.quartz.properties.org.quartz.scheduler.rmi.export=false +spring.quartz.properties.org.quartz.scheduler.rmi.proxy=false +#\u8DF3\u8FC7quartz\u7248\u672C\u68C0\u67E5 +spring.quartz.properties.org.quartz.scheduler.skipUpdateCheck=true +#\u6570\u636E\u4FDD\u5B58\u65B9\u5F0F\u4E3A\u6301\u4E45\u5316 +spring.quartz.properties.org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX +spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate +spring.quartz.properties.org.quartz.jobStore.tablePrefix=QRTZ_ +spring.quartz.properties.org.quartz.jobStore.isClustered=true +#\u8C03\u5EA6\u5B9E\u4F8B\u5931\u6548\u7684\u68C0\u67E5\u65F6\u95F4\u95F4\u9694 +spring.quartz.properties.org.quartz.jobStore.clusterCheckinInterval=10000 +spring.quartz.properties.org.quartz.jobStore.useProperties=false +#\u8C03\u5EA6\u7EBF\u7A0B +spring.quartz.properties.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool +spring.quartz.properties.org.quartz.threadPool.threadCount=2 +spring.quartz.properties.org.quartz.threadPool.threadPriority=5 +spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true +spring.quartz.properties.org.quartz.threadPool.threadNamePrefix=quartz +spring.quartz.job-store-type=jdbc +#ALWAYS,EMBEDDED,NEVER +spring.quartz.jdbc.initialize-schema=NEVER +spring.quartz.jdbc.schema=classpath:sql/quartz_mysql_2.3.0.sql diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sit/log4j2.xml b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sit/log4j2.xml new file mode 100644 index 00000000..ac533c99 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sit/log4j2.xml @@ -0,0 +1,97 @@ + + + + + /home/logs/smart-admin/dev/logs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sit/spy.properties b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sit/spy.properties new file mode 100644 index 00000000..22c91d1e --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sit/spy.properties @@ -0,0 +1,20 @@ +#modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory +# \u81EA\u5B9A\u4E49\u65E5\u5FD7\u6253\u5370 +logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger +#\u65E5\u5FD7\u8F93\u51FA\u5230\u63A7\u5236\u53F0 +appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger +# \u4F7F\u7528\u65E5\u5FD7\u7CFB\u7EDF\u8BB0\u5F55 sql +#appender=com.p6spy.engine.spy.appender.Slf4JLogger +# \u8BBE\u7F6E p6spy driver \u4EE3\u7406 +deregisterdrivers=true +# \u53D6\u6D88JDBC URL\u524D\u7F00 +useprefix=true +# \u914D\u7F6E\u8BB0\u5F55 Log \u4F8B\u5916,\u53EF\u53BB\u6389\u7684\u7ED3\u679C\u96C6\u6709error,info,batch,debug,statement,commit,rollback,result,resultset. +#excludecategories=info,debug,result,commit,resultset +# \u65E5\u671F\u683C\u5F0F +dateformat=yyyy-MM-dd HH:mm:ss + +# \u662F\u5426\u5F00\u542F\u6162SQL\u8BB0\u5F55 +outagedetection=true +# \u6162SQL\u8BB0\u5F55\u6807\u51C6 2 \u79D2 +outagedetectioninterval=2 \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sql/quartz_mysql_2.3.0.sql b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sql/quartz_mysql_2.3.0.sql new file mode 100644 index 00000000..8968c23f --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sql/quartz_mysql_2.3.0.sql @@ -0,0 +1,179 @@ +# +# In your Quartz properties file, you'll need to set +# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate +# +# +# By: Ron Cordell - roncordell +# I didn't see this anywhere, so I thought I'd post it here. This is the script from Quartz to create the tables in a MySQL database, modified to use INNODB instead of MYISAM. + +DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; +DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE; +DROP TABLE IF EXISTS QRTZ_LOCKS; +DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_JOB_DETAILS; +DROP TABLE IF EXISTS QRTZ_CALENDARS; + +CREATE TABLE QRTZ_JOB_DETAILS( +SCHED_NAME VARCHAR(120) NOT NULL, +JOB_NAME VARCHAR(190) NOT NULL, +JOB_GROUP VARCHAR(190) NOT NULL, +DESCRIPTION VARCHAR(250) NULL, +JOB_CLASS_NAME VARCHAR(250) NOT NULL, +IS_DURABLE VARCHAR(1) NOT NULL, +IS_NONCONCURRENT VARCHAR(1) NOT NULL, +IS_UPDATE_DATA VARCHAR(1) NOT NULL, +REQUESTS_RECOVERY VARCHAR(1) NOT NULL, +JOB_DATA BLOB NULL, +PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_TRIGGERS ( +SCHED_NAME VARCHAR(120) NOT NULL, +TRIGGER_NAME VARCHAR(190) NOT NULL, +TRIGGER_GROUP VARCHAR(190) NOT NULL, +JOB_NAME VARCHAR(190) NOT NULL, +JOB_GROUP VARCHAR(190) NOT NULL, +DESCRIPTION VARCHAR(250) NULL, +NEXT_FIRE_TIME BIGINT(13) NULL, +PREV_FIRE_TIME BIGINT(13) NULL, +PRIORITY INTEGER NULL, +TRIGGER_STATE VARCHAR(16) NOT NULL, +TRIGGER_TYPE VARCHAR(8) NOT NULL, +START_TIME BIGINT(13) NOT NULL, +END_TIME BIGINT(13) NULL, +CALENDAR_NAME VARCHAR(190) NULL, +MISFIRE_INSTR SMALLINT(2) NULL, +JOB_DATA BLOB NULL, +PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), +FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) +REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_SIMPLE_TRIGGERS ( +SCHED_NAME VARCHAR(120) NOT NULL, +TRIGGER_NAME VARCHAR(190) NOT NULL, +TRIGGER_GROUP VARCHAR(190) NOT NULL, +REPEAT_COUNT BIGINT(7) NOT NULL, +REPEAT_INTERVAL BIGINT(12) NOT NULL, +TIMES_TRIGGERED BIGINT(10) NOT NULL, +PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), +FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) +REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_CRON_TRIGGERS ( +SCHED_NAME VARCHAR(120) NOT NULL, +TRIGGER_NAME VARCHAR(190) NOT NULL, +TRIGGER_GROUP VARCHAR(190) NOT NULL, +CRON_EXPRESSION VARCHAR(120) NOT NULL, +TIME_ZONE_ID VARCHAR(80), +PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), +FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) +REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_SIMPROP_TRIGGERS + ( + SCHED_NAME VARCHAR(120) NOT NULL, + TRIGGER_NAME VARCHAR(190) NOT NULL, + TRIGGER_GROUP VARCHAR(190) NOT NULL, + STR_PROP_1 VARCHAR(512) NULL, + STR_PROP_2 VARCHAR(512) NULL, + STR_PROP_3 VARCHAR(512) NULL, + INT_PROP_1 INT NULL, + INT_PROP_2 INT NULL, + LONG_PROP_1 BIGINT NULL, + LONG_PROP_2 BIGINT NULL, + DEC_PROP_1 NUMERIC(13,4) NULL, + DEC_PROP_2 NUMERIC(13,4) NULL, + BOOL_PROP_1 VARCHAR(1) NULL, + BOOL_PROP_2 VARCHAR(1) NULL, + PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), + FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) + REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_BLOB_TRIGGERS ( +SCHED_NAME VARCHAR(120) NOT NULL, +TRIGGER_NAME VARCHAR(190) NOT NULL, +TRIGGER_GROUP VARCHAR(190) NOT NULL, +BLOB_DATA BLOB NULL, +PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), +INDEX (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP), +FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) +REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_CALENDARS ( +SCHED_NAME VARCHAR(120) NOT NULL, +CALENDAR_NAME VARCHAR(190) NOT NULL, +CALENDAR BLOB NOT NULL, +PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS ( +SCHED_NAME VARCHAR(120) NOT NULL, +TRIGGER_GROUP VARCHAR(190) NOT NULL, +PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_FIRED_TRIGGERS ( +SCHED_NAME VARCHAR(120) NOT NULL, +ENTRY_ID VARCHAR(95) NOT NULL, +TRIGGER_NAME VARCHAR(190) NOT NULL, +TRIGGER_GROUP VARCHAR(190) NOT NULL, +INSTANCE_NAME VARCHAR(190) NOT NULL, +FIRED_TIME BIGINT(13) NOT NULL, +SCHED_TIME BIGINT(13) NOT NULL, +PRIORITY INTEGER NOT NULL, +STATE VARCHAR(16) NOT NULL, +JOB_NAME VARCHAR(190) NULL, +JOB_GROUP VARCHAR(190) NULL, +IS_NONCONCURRENT VARCHAR(1) NULL, +REQUESTS_RECOVERY VARCHAR(1) NULL, +PRIMARY KEY (SCHED_NAME,ENTRY_ID)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_SCHEDULER_STATE ( +SCHED_NAME VARCHAR(120) NOT NULL, +INSTANCE_NAME VARCHAR(190) NOT NULL, +LAST_CHECKIN_TIME BIGINT(13) NOT NULL, +CHECKIN_INTERVAL BIGINT(13) NOT NULL, +PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_LOCKS ( +SCHED_NAME VARCHAR(120) NOT NULL, +LOCK_NAME VARCHAR(40) NOT NULL, +PRIMARY KEY (SCHED_NAME,LOCK_NAME)) +ENGINE=InnoDB; + +CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY); +CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP); + +CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP); +CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP); +CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME); +CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); +CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE); +CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE); +CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE); +CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME); +CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME); +CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME); +CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE); +CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE); + +CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME); +CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY); +CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP); +CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP); +CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); +CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); + +commit; diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sql/smart-admin.sql b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sql/smart-admin.sql new file mode 100644 index 00000000..dfd8e8c1 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/sql/smart-admin.sql @@ -0,0 +1,1588 @@ +-- -------------------------------------------------------- +-- 主机: 127.0.0.1 +-- 服务器版本: 8.0.20 - MySQL Community Server - GPL +-- 服务器操作系统: Win64 +-- HeidiSQL 版本: 11.0.0.5919 +-- -------------------------------------------------------- + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET NAMES utf8 */; +/*!50503 SET NAMES utf8mb4 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; + + +-- 导出 smart-admin-dev 的数据库结构 +DROP DATABASE IF EXISTS `smart-admin-dev`; +CREATE DATABASE IF NOT EXISTS `smart-admin-dev` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ /*!80016 DEFAULT ENCRYPTION='N' */; +USE `smart-admin-dev`; + +-- 导出 表 smart-admin-dev.t_department 结构 +DROP TABLE IF EXISTS `t_department`; +CREATE TABLE IF NOT EXISTS `t_department` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '部门主键id', + `name` varchar(50) NOT NULL COMMENT '部门名称', + `short_name` varchar(50) DEFAULT NULL COMMENT '部门简称', + `manager_id` int unsigned DEFAULT NULL COMMENT '部门负责人id', + `parent_id` int unsigned DEFAULT NULL COMMENT '部门的父级id', + `sort` int NOT NULL COMMENT '部门排序', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`), + KEY `parent_id` (`parent_id`) +) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='部门表'; + +-- 正在导出表 smart-admin-dev.t_department 的数据:~4 rows (大约) +DELETE FROM `t_department`; +/*!40000 ALTER TABLE `t_department` DISABLE KEYS */; +INSERT INTO `t_department` (`id`, `name`, `short_name`, `manager_id`, `parent_id`, `sort`, `update_time`, `create_time`) VALUES + (1, '1024创新实验室', 'ZWGWL', 16, 0, 1, '2019-04-03 10:41:25', '2019-04-03 10:41:25'), + (2, '二级部门-2', NULL, 15, 1, 17, '2019-04-15 16:45:10', '2019-04-15 16:45:10'), + (4, '二级部门-1', '管理', 14, 1, 20, '2019-04-17 16:14:55', '2019-04-17 16:14:55'), + (8, '三级部门-1', NULL, NULL, 4, 8, '2019-04-25 12:25:52', '2019-04-25 12:25:52'), + (9, '四级部门-1', NULL, NULL, 8, 9, '2019-04-25 12:26:36', '2019-04-25 12:26:36'), + (10, '五级部门-1', NULL, NULL, 9, 10, '2019-04-25 12:26:49', '2019-04-25 12:26:49'), + (11, '六级部门-1', NULL, NULL, 10, 11, '2019-04-25 12:26:59', '2019-04-25 12:26:59'), + (12, '七级部门-1', NULL, NULL, 11, 12, '2019-04-25 12:27:18', '2019-04-25 12:27:18'), + (13, '八级部门-1', NULL, NULL, 12, 13, '2019-04-25 12:27:34', '2019-04-25 12:27:34'), + (14, '九级部门-1', NULL, NULL, 13, 14, '2019-04-25 12:27:47', '2019-04-25 12:27:47'), + (15, '十级部门-1', NULL, NULL, 14, 15, '2019-04-25 12:28:16', '2019-04-25 12:28:16'), + (16, '十一级部门部门部部门门嘻嘻哈哈-1', NULL, 13, 15, 16, '2019-04-25 14:56:40', '2019-04-25 14:56:40'), + (17, '信息中心', NULL, 16, 1, 4, '2019-04-26 11:53:50', '2019-04-26 11:53:50'), + (18, '测试部门', NULL, 16, 17, 18, '2019-04-26 11:54:06', '2019-04-26 11:54:06'), + (19, '张娇测试', NULL, NULL, 2, 22, '2019-04-26 14:36:18', '2019-04-26 14:36:18'), + (20, '子部门', NULL, NULL, 2, 23, '2019-04-26 14:36:28', '2019-04-26 14:36:28'), + (22, '张静如', NULL, 16, 1, 2, '2019-04-28 14:21:44', '2019-04-28 14:21:44'), + (23, '张静如2', NULL, 22, 4, 19, '2019-04-28 14:22:48', '2019-04-28 14:22:48'), + (24, '测试', NULL, 18, 23, 24, '2019-04-29 10:12:42', '2019-04-29 10:12:42'), + (25, '测试', NULL, 18, 23, 25, '2019-04-29 10:12:42', '2019-04-29 10:12:42'); +/*!40000 ALTER TABLE `t_department` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_email 结构 +DROP TABLE IF EXISTS `t_email`; +CREATE TABLE IF NOT EXISTS `t_email` ( + `id` int NOT NULL AUTO_INCREMENT, + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题', + `to_emails` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '收件人', + `send_status` tinyint NOT NULL DEFAULT '0' COMMENT '发送状态 0未发送 1已发送', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮件内容', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=87 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- 正在导出表 smart-admin-dev.t_email 的数据:~56 rows (大约) +DELETE FROM `t_email`; +/*!40000 ALTER TABLE `t_email` DISABLE KEYS */; +INSERT INTO `t_email` (`id`, `title`, `to_emails`, `send_status`, `content`, `create_time`, `update_time`) VALUES + (20, '新增测试12345', '新增测试@11.com', 1, '

这是内容

', '2019-08-30 15:35:12', '2019-08-30 15:35:12'), + (21, 'b', 'asdf@33.com', 1, '

c

', '2019-09-06 14:25:33', '2019-09-06 14:25:33'), + (23, 'string', 'string', 0, 'string', '2019-09-06 06:55:01', '2019-09-06 06:55:01'), + (24, 'string', 'string', 0, 'string', '2019-09-06 06:55:01', '2019-09-06 06:55:01'), + (26, 'string', 'string', 0, 'string', '2019-09-06 07:01:32', '2019-09-06 07:01:32'), + (27, 'string', 'string', 0, 'string', '2019-09-06 07:01:32', '2019-09-06 07:01:32'), + (37, 'ewqwe', '适者生存@22.cc', 1, '

qweqwe

', '2019-11-09 10:00:46', '2019-11-09 10:00:46'), + (38, 'ewqwe', '适者生存@22.cc', 1, '

qweqwe

', '2019-11-09 10:00:49', '2019-11-09 10:00:49'), + (39, 'dsfds', 'dsfsd@qq.ccc', 1, '

fsdfs

', '2019-11-09 10:04:54', '2019-11-09 10:04:54'), + (40, 'dsfds', 'dsfsd@qq.ccc', 1, '

fsdfs

', '2019-11-09 10:04:57', '2019-11-09 10:04:57'), + (41, 'dsfds', 'dsfsd@qq.ccc', 1, '

fsdfs

', '2019-11-09 10:04:57', '2019-11-09 10:04:57'), + (42, 'dsfds', 'dsfsd@qq.ccc', 1, '

fsdfs

', '2019-11-09 10:04:58', '2019-11-09 10:04:58'), + (43, 'dsfds', 'dsfsd@qq.ccc', 1, '

fsdfs

', '2019-11-09 10:04:59', '2019-11-09 10:04:59'), + (44, 'dsfds', 'dsfsd@qq.ccc', 1, '

fsdfs

', '2019-11-09 10:04:59', '2019-11-09 10:04:59'), + (45, 'dsfds', 'dsfsd@qq.ccc', 1, '

fsdfs

', '2019-11-09 10:05:16', '2019-11-09 10:05:16'), + (46, 'dsfds', 'dsfsd@qq.ccc', 1, '

fsdfs

', '2019-11-09 10:06:29', '2019-11-09 10:06:29'), + (47, 'dsfds', 'dsfsd@qq.ccc', 1, '

fsdfs

', '2019-11-09 10:07:02', '2019-11-09 10:07:02'), + (48, 'dsfds', 'dsfsd@qq.ccc', 1, '

fsdfs

', '2019-11-09 10:07:16', '2019-11-09 10:07:16'), + (49, '2342', '11@ss.cc', 1, '

234234

', '2019-11-09 10:08:13', '2019-11-09 10:08:13'), + (50, '2342', '11@ss.cc', 1, '

234234

', '2019-11-09 10:08:30', '2019-11-09 10:08:30'), + (51, '2342', '11@ss.cc', 1, '

234234

', '2019-11-09 10:08:50', '2019-11-09 10:08:50'), + (52, '2342', '11@ss.cc', 1, '

234234

', '2019-11-09 10:09:09', '2019-11-09 10:09:09'), + (53, '2342', '11@ss.cc', 1, '

234234

', '2019-11-09 10:09:31', '2019-11-09 10:09:31'), + (54, '2342', '11@ss.cc', 1, '

234234

', '2019-11-09 10:12:24', '2019-11-09 10:12:24'), + (55, '2342', '11@ss.cc', 1, '

234234

', '2019-11-09 10:13:13', '2019-11-09 10:13:13'), + (56, 'asdasd', '3423@aqq.cc', 0, '

asdasd

', '2019-11-09 10:20:42', '2019-11-09 10:20:42'), + (57, 'asdasd', '3423@aqq.cc', 0, '

asdasd

', '2019-11-09 10:20:52', '2019-11-09 10:20:52'), + (58, 'asdasd', '3423@aqq.cc', 0, '

asdasd

', '2019-11-09 10:21:16', '2019-11-09 10:21:16'), + (59, 'asdasd', '3423@aqq.cc', 0, '

asdasd

', '2019-11-09 10:21:24', '2019-11-09 10:21:24'), + (60, 'asdasd', '3423@aqq.cc', 0, '

asdasd

', '2019-11-09 10:21:30', '2019-11-09 10:21:30'), + (61, 'asdasd', '3423@aqq.cc', 0, '

asdasd

', '2019-11-09 10:21:53', '2019-11-09 10:21:53'), + (62, 'a21312', '23423@qq.cc', 0, '

asdasdas

', '2019-11-09 10:23:40', '2019-11-09 10:23:40'), + (63, '11', '1234@qq.com', 0, '

23

', '2019-11-15 15:35:12', '2019-11-15 15:35:12'), + (64, '11', '1234@qq.com', 0, '

23

', '2019-11-15 15:35:15', '2019-11-15 15:35:15'), + (65, '11', '1234@qq.com', 0, '

23

', '2019-11-15 15:35:16', '2019-11-15 15:35:16'), + (66, 'eeee', '1234@qq.com', 0, '

    eee2233

', '2019-11-15 17:00:00', '2019-11-15 17:00:00'), + (67, 'eeee', '1234@qq.com', 0, '

    eee2233

', '2019-11-15 17:00:03', '2019-11-15 17:00:03'), + (68, 'eeee', '1234@qq.com', 0, '

    eee2233

', '2019-11-15 17:00:04', '2019-11-15 17:00:04'), + (69, '22223', '1017146812@qq.com', 0, '

    e34233

', '2019-11-15 17:00:33', '2019-11-15 17:00:33'), + (70, '22223', '1017146812@qq.com', 0, '

    e34233

', '2019-11-15 17:00:34', '2019-11-15 17:00:34'), + (71, '22223', '1017146812@qq.com', 0, '

    e34233

', '2019-11-15 17:00:34', '2019-11-15 17:00:34'), + (72, '22223', '12232', 0, '

    e34233

', '2019-11-15 17:00:49', '2019-11-15 17:00:49'), + (73, '22223', '12232@qq.com', 0, '

    e34233

', '2019-11-15 17:00:56', '2019-11-15 17:00:56'), + (74, 'dsasdasd', 'asdas@qq.com', 0, '

asdasd

', '2019-11-16 08:51:44', '2019-11-16 08:51:44'), + (75, 'dsasdasd', 'asdas@qq.com', 0, '

asdasd

', '2019-11-16 09:05:10', '2019-11-16 09:05:10'), + (76, 'dsasdasd', 'asdas@qq.com', 0, '

asdasd

', '2019-11-16 09:05:14', '2019-11-16 09:05:14'), + (77, 'dsasdasd', 'asdas@qq.com', 0, '

asdasd

', '2019-11-16 09:06:34', '2019-11-16 09:06:34'), + (78, 'dsasdasd', 'asdas@qq.com', 0, '

asdasd

', '2019-11-16 09:07:09', '2019-11-16 09:07:09'), + (79, 'dsasdasd', 'asdas@qq.com', 0, '

asdasd

', '2019-11-16 09:07:30', '2019-11-16 09:07:30'), + (80, 'dsasdasd', 'asdas@qq.com', 0, '

asdasd

', '2019-11-16 09:07:32', '2019-11-16 09:07:32'), + (81, 'dsasdasd', 'asdas@qq.com', 0, '

asdasd

', '2019-11-16 09:08:29', '2019-11-16 09:08:29'), + (82, 'sdfs', 'ss@ss.cc', 0, '

dsdsf

', '2019-11-16 09:08:46', '2019-11-16 09:08:46'), + (83, 'asdasd', 'asd@qq.vv', 0, '

asdas

', '2019-11-16 09:09:18', '2019-11-16 09:09:18'), + (84, 'asdasd', 'asd@qq.vv', 0, '

asdas

', '2019-11-16 09:09:42', '2019-11-16 09:09:42'), + (85, 'asdasd', 'asd@qq.vv', 0, '

asdas

', '2019-11-16 09:09:46', '2019-11-16 09:09:46'), + (86, 'dasdad', 'dasda@ss.cc', 1, '

dasasdas

', '2019-11-16 09:10:05', '2019-11-16 09:10:05'); +/*!40000 ALTER TABLE `t_email` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_employee 结构 +DROP TABLE IF EXISTS `t_employee`; +CREATE TABLE IF NOT EXISTS `t_employee` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `login_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '登录帐号', + `login_pwd` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '登录密码', + `actual_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '员工名称', + `nick_name` varchar(30) DEFAULT '' COMMENT '别名', + `phone` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '手机号码', + `id_card` varchar(18) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '身份证', + `birthday` date DEFAULT NULL COMMENT '出生日期', + `email` varchar(50) DEFAULT NULL COMMENT '邮箱', + `department_id` int unsigned NOT NULL COMMENT '部门id', + `is_leave` int NOT NULL DEFAULT '0' COMMENT '是否离职1是', + `is_disabled` int NOT NULL DEFAULT '0' COMMENT '是否被禁用 0否1是', + `remark` varchar(200) DEFAULT NULL COMMENT '备注', + `create_user` int unsigned NOT NULL COMMENT '创建者id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `is_delete` int NOT NULL DEFAULT '0' COMMENT '是否删除0否 1是', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='员工表'; + +-- 正在导出表 smart-admin-dev.t_employee 的数据:~28 rows (大约) +DELETE FROM `t_employee`; +/*!40000 ALTER TABLE `t_employee` DISABLE KEYS */; +INSERT INTO `t_employee` (`id`, `login_name`, `login_pwd`, `actual_name`, `nick_name`, `phone`, `id_card`, `birthday`, `email`, `department_id`, `is_leave`, `is_disabled`, `remark`, `create_user`, `update_time`, `create_time`, `is_delete`) VALUES + (1, 'sa', 'c655798e4648c540812a1b8f48759af7', '管理员', '15515515515', '13112312131', '410306199202020020', '1992-02-02', NULL, 1, 0, 0, NULL, 0, '2019-04-27 09:56:17', '2018-05-11 09:38:54', 0), + (11, 'role1', 'c655798e4648c540812a1b8f48759af7', '角色测试1', '', '18123245230', '', '1970-01-01', '', 4, 0, 0, NULL, 1, '2019-04-27 09:56:17', '2019-04-25 12:30:22', 0), + (12, 'role2', 'c655798e4648c540812a1b8f48759af7', '角色测试2', '', '18121451241', '', NULL, '', 4, 0, 0, NULL, 1, '2019-08-01 10:04:38', '2019-04-25 12:31:11', 0), + (13, 'lihaifan', 'c655798e4648c540812a1b8f48759af7', 'lihaifan', '', '18399485774', '', NULL, '', 1, 0, 0, NULL, 1, '2019-04-27 09:56:17', '2019-04-25 13:50:44', 0), + (14, 'lipeng', 'c655798e4648c540812a1b8f48759af7', '李鹏1', '', '13937988294', '', NULL, '', 2, 0, 0, NULL, 1, '2019-04-27 09:56:17', '2019-04-25 14:34:47', 0), + (15, 'huangwenli', 'c655798e4648c540812a1b8f48759af7', '黄文丽', '', '15515515515', '', NULL, '', 16, 0, 0, NULL, 1, '2019-04-27 09:56:17', '2019-04-26 10:05:05', 0), + (16, 'huangwenli1', 'c655798e4648c540812a1b8f48759af7', '黄文丽', '', '15515515515', '', NULL, '', 15, 0, 0, NULL, 1, '2019-04-27 14:04:19', '2019-04-26 10:25:04', 0), + (17, 'zhangjiao', 'c655798e4648c540812a1b8f48759af7', '张娇', '阿娇', '15670390391', '410305199102020020', '1991-02-02', '86484@qq.com', 19, 0, 0, NULL, 1, '2019-08-05 16:33:57', '2019-04-26 14:37:23', 0), + (18, 'zhangjiao1', 'c655798e4648c540812a1b8f48759af7', '张娇1', '', '15670390391', '', '2019-04-18', '6666@qq.com', 20, 0, 0, NULL, 1, '2019-08-05 16:33:57', '2019-04-26 14:45:55', 0), + (19, 'zhenxiaocang', 'c655798e4648c540812a1b8f48759af7', '珍小藏', '', '15670390391', '', NULL, '', 19, 0, 1, NULL, 1, '2019-09-09 08:34:35', '2019-04-26 14:46:57', 0), + (20, 'matengfei', 'c655798e4648c540812a1b8f48759af7', '马腾飞', '', '15670390393', '', NULL, '', 19, 0, 0, NULL, 1, '2019-08-05 16:33:57', '2019-04-26 14:47:24', 0), + (21, 'ceshi123', 'c655798e4648c540812a1b8f48759af7', '测试人员', '', '18829938477', '', NULL, '', 1, 0, 1, NULL, 13, '2019-04-27 09:56:17', '2019-04-27 09:38:07', 1), + (22, 'zhangjingru', 'c655798e4648c540812a1b8f48759af7', '张静如', '', '15600000000', '', NULL, '', 1, 0, 0, NULL, 1, '2019-09-04 09:06:47', '2019-04-28 14:05:03', 0), + (23, 'sdfsdfdsfsdfdsfdsf', 'c655798e4648c540812a1b8f48759af7', 'werewr', '', '15698585858', '', NULL, '', 19, 0, 0, NULL, 1, '2019-09-05 16:13:03', '2019-04-28 16:26:27', 0), + (25, 'shq2019', 'c655798e4648c540812a1b8f48759af7', 'shq', 'shq', '18798801298', '410281199309024040', '1993-09-02', '', 17, 0, 0, NULL, 1, '2019-08-05 16:33:57', '2019-05-05 09:13:41', 0), + (26, 'zhangjiao666', 'c655798e4648c540812a1b8f48759af7', 'tom我是五个字12', '', '15612345678', '', NULL, '', 18, 0, 0, NULL, 1, '2019-08-05 16:33:57', '2019-05-05 15:34:10', 0), + (28, 'dfsfgds', 'c655798e4648c540812a1b8f48759af7', 'fds', '', '15854127845', '', NULL, '', 22, 0, 1, NULL, 1, '2019-09-06 08:58:40', '2019-05-06 10:36:57', 0), + (29, 'abcabc', 'c655798e4648c540812a1b8f48759af7', 'abccba', 'aaabac', '13311112222', '', NULL, '', 17, 0, 0, NULL, 1, '2019-08-05 16:33:57', '2019-07-10 17:00:58', 0), + (30, 'gengweigang', 'c655798e4648c540812a1b8f48759af7', '耿为刚', 'geng', '15038588418', '', NULL, '', 17, 0, 0, NULL, 1, '2019-08-08 14:35:51', '2019-08-08 14:35:51', 0), + (31, 'gengweigang1', 'c655798e4648c540812a1b8f48759af7', '耿为刚1', '这是别名', '15038588418', '410322193312123232', '1933-12-12', '32@qq.com', 18, 0, 0, NULL, 30, '2019-08-23 09:27:22', '2019-08-23 09:25:50', 0), + (32, 'ceshi123', 'c655798e4648c540812a1b8f48759af7', '测试', '测试', '15670702651', '', NULL, '', 17, 0, 0, NULL, 1, '2019-09-04 09:05:48', '2019-09-03 11:48:04', 0), + (33, 'ceshi321', 'c655798e4648c540812a1b8f48759af7', '测试', '测试', '15670702651', '', NULL, '', 17, 0, 1, NULL, 1, '2019-09-03 15:51:16', '2019-09-03 11:49:17', 0), + (34, 'ceshi123321', 'c655798e4648c540812a1b8f48759af7', '123', '', '15600000000', '', NULL, '', 22, 0, 1, NULL, 1, '2019-09-06 08:58:37', '2019-09-04 09:13:54', 0), + (35, 'guoqingfeng', 'c655798e4648c540812a1b8f48759af7', '郭青枫', '', '15670702651', '', NULL, '', 18, 0, 0, NULL, 1, '2019-09-04 15:09:00', '2019-09-04 15:09:00', 0), + (36, 'li327263458', 'c655798e4648c540812a1b8f48759af7', 'lipeng', '', '13937988294', '', NULL, '', 17, 0, 0, NULL, 1, '2019-09-09 17:01:39', '2019-09-09 17:01:39', 0), + (37, 'test123', 'c655798e4648c540812a1b8f48759af7', 'test', '', '13211110201', '', NULL, '', 18, 0, 1, NULL, 1, '2019-11-14 16:08:08', '2019-11-08 09:32:39', 0), + (38, 'tiantian', 'c655798e4648c540812a1b8f48759af7', '天天管理员', '', '13574502368', '', NULL, '', 17, 0, 0, NULL, 1, '2019-11-14 02:08:08', '2019-11-08 11:09:46', 0), + (39, 'wang13211111', 'c655798e4648c540812a1b8f48759af7', 'ceshi111', 'dddd', '13244553212', '', NULL, '', 25, 0, 0, NULL, 38, '2019-11-15 17:14:34', '2019-11-15 17:03:04', 0); +/*!40000 ALTER TABLE `t_employee` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_file 结构 +DROP TABLE IF EXISTS `t_file`; +CREATE TABLE IF NOT EXISTS `t_file` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `module_id` varchar(50) NOT NULL COMMENT '相关业务id', + `module_type` varchar(50) NOT NULL COMMENT '相关业务类型', + `file_name` varchar(255) DEFAULT NULL COMMENT '文件名称', + `file_size` varchar(255) DEFAULT NULL COMMENT '文件大小', + `file_type` varchar(50) DEFAULT NULL COMMENT '文件类型,程序中枚举控制,文件类型:如身份证正面,三证合一等等', + `file_path` varchar(255) NOT NULL COMMENT '文件key,用于文件下载', + `file_location_type` int NOT NULL COMMENT '文件位置类型', + `creater_user` int NOT NULL COMMENT '创建人,即上传人', + `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '上次更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `module_id_module_type` (`module_id`,`module_type`) USING BTREE, + KEY `module_type` (`module_type`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; + +-- 正在导出表 smart-admin-dev.t_file 的数据:~23 rows (大约) +DELETE FROM `t_file`; +/*!40000 ALTER TABLE `t_file` DISABLE KEYS */; +INSERT INTO `t_file` (`id`, `module_id`, `module_type`, `file_name`, `file_size`, `file_type`, `file_path`, `file_location_type`, `creater_user`, `update_time`, `create_time`) VALUES + (1, '1', '1', '阿里云1.jpg', NULL, NULL, 'backUser/config/d1788b717be24f14ba526f25397b936f', 2, 1, NULL, '2019-07-05 10:38:15'), + (2, '2', '1', '1.jpg', NULL, NULL, 'backUser/config/8895ec770c4e4e558c6d9b54eb00dffc', 2, 1, '2019-07-18 09:20:59', '2019-07-18 09:20:25'), + (3, '3', '1', '随笔.txt', NULL, NULL, 'backUser/config/f5cbc4c9a56f4fa7ad0ba58b0aa5d169', 2, 1, NULL, '2019-07-18 09:22:47'), + (4, '3', '1', '1.jpg', NULL, NULL, 'backUser/config/2019071809245603e0a4e449a4bf3aa28ee731c309040.jpg', 1, 1, NULL, '2019-07-18 09:24:51'), + (6, '4', '1', '1.jpg', NULL, NULL, 'backUser/config/ddcb8214ba274dec9bb2c33e0e246391', 3, 1, NULL, '2019-07-19 16:19:43'), + (7, '5', '1', 'sql.txt', NULL, NULL, 'backUser/config/cfbdf9562c894405b5b6f64f71fa812a', 3, 1, NULL, '2019-07-19 17:41:55'), + (9, '1', '1', '20190912023241a6132f5713b54e1fb490f4ea88115747.md', NULL, NULL, 'backUser/config/20190912023241a6132f5713b54e1fb490f4ea88115747.md', 1, 1, '2019-09-12 15:25:35', '2019-09-12 14:32:42'), + (10, '1', '1', '201909120232499804998573f643ff8e58189d23485629.mjs', NULL, NULL, 'backUser/config/201909120232499804998573f643ff8e58189d23485629.mjs', 1, 1, '2019-09-12 15:25:19', '2019-09-12 14:32:50'), + (11, '1', '1', '201909120326564cdc8df7b8cc49cfb273926877f047f5.json', NULL, NULL, 'backUser/config/201909120326564cdc8df7b8cc49cfb273926877f047f5.json', 1, 1, NULL, '2019-09-12 15:26:56'), + (12, '1', '1', '201909120343357104b7f1cc684f5797ada35c06aba770.json', NULL, NULL, 'backUser/config/201909120343357104b7f1cc684f5797ada35c06aba770.json', 1, 1, NULL, '2019-09-12 15:43:36'), + (13, '1', '1', '201909120343427e408141a0ea467ea2e012f7086a6265.json', NULL, NULL, 'backUser/config/201909120343427e408141a0ea467ea2e012f7086a6265.json', 1, 1, NULL, '2019-09-12 15:43:42'), + (14, '1', '1', '20190912034543b4d3a061fb2e416c899fe2ff6b9327e0.ts', NULL, NULL, 'backUser/config/20190912034543b4d3a061fb2e416c899fe2ff6b9327e0.ts', 1, 1, NULL, '2019-09-12 15:45:43'), + (15, '1', '1', '20190912034550a5dc04ce79b14a1cb2bb76545c909aa8.md', NULL, NULL, 'backUser/config/20190912034550a5dc04ce79b14a1cb2bb76545c909aa8.md', 1, 1, NULL, '2019-09-12 15:45:51'), + (16, '1', '1', 'LICENCE', NULL, NULL, 'backUser/config/cc02b99c0ec548f1a2231b70b7d569b8', 2, 1, NULL, '2019-09-12 15:47:22'), + (17, '1', '1', 'bignumber.min.js', NULL, NULL, 'backUser/config/bda49e8ad6d242fe8735b2023dfbf125', 2, 1, NULL, '2019-09-12 15:47:29'), + (18, '1', '1', '20190912034880a881fa8fbc841bfb7194ff312bd1058.json', NULL, NULL, 'backUser/config/20190912034880a881fa8fbc841bfb7194ff312bd1058.json', 1, 1, NULL, '2019-09-12 15:48:08'), + (19, '1', '1', '20190912034816ece14084acf345a79396a0f4347c4e44.md', NULL, NULL, 'backUser/config/20190912034816ece14084acf345a79396a0f4347c4e44.md', 1, 1, NULL, '2019-09-12 15:48:16'), + (20, '1', '1', '20191024054412fac4b4e04c574c6eab71f91e13a8a0b6.jpg', NULL, NULL, 'backUser/config/20191024054412fac4b4e04c574c6eab71f91e13a8a0b6.jpg', 1, 1, NULL, '2019-10-24 17:44:13'), + (21, '1', '1', '20191106042073f7ef01bde3046bd8e01928f397230bd.jpg', NULL, NULL, 'backUser/config/20191106042073f7ef01bde3046bd8e01928f397230bd.jpg', 1, 1, NULL, '2019-11-06 02:20:13'), + (22, '1', '1', '201911130802024b8a2ebf80543a98241bb464682650d.jpg', NULL, NULL, 'backUser/config/201911130802024b8a2ebf80543a98241bb464682650d.jpg', 1, 1, NULL, '2019-11-13 06:02:01'), + (23, '1', '1', '20191113080210d1d98eea46364d268b2a03fa03f7a446.jpg', NULL, NULL, 'backUser/config/20191113080210d1d98eea46364d268b2a03fa03f7a446.jpg', 1, 1, NULL, '2019-11-13 06:02:14'), + (24, '1', '1', '20191115043844e92b25e70fb140a1885614b978469ca9.jpg', NULL, NULL, 'backUser/config/20191115043844e92b25e70fb140a1885614b978469ca9.jpg', 1, 38, NULL, '2019-11-15 02:38:45'), + (25, '1', '1', '20191116060546d3a2c703cb5546b3851612907cc3786f.png', NULL, NULL, 'backUser/config/20191116060546d3a2c703cb5546b3851612907cc3786f.png', 1, 1, NULL, '2019-11-16 10:05:47'); +/*!40000 ALTER TABLE `t_file` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_heart_beat_record 结构 +DROP TABLE IF EXISTS `t_heart_beat_record`; +CREATE TABLE IF NOT EXISTS `t_heart_beat_record` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '自增id', + `project_path` varchar(100) DEFAULT NULL COMMENT '项目名称', + `server_ip` varchar(200) DEFAULT NULL COMMENT '服务器ip', + `process_no` int DEFAULT NULL COMMENT '进程号', + `process_start_time` datetime DEFAULT NULL COMMENT '进程开启时间', + `heart_beat_time` datetime DEFAULT NULL COMMENT '心跳时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; + +-- 正在导出表 smart-admin-dev.t_heart_beat_record 的数据:~2 rows (大约) +DELETE FROM `t_heart_beat_record`; +/*!40000 ALTER TABLE `t_heart_beat_record` DISABLE KEYS */; +INSERT INTO `t_heart_beat_record` (`id`, `project_path`, `server_ip`, `process_no`, `process_start_time`, `heart_beat_time`) VALUES + (1, '/home/server/smart-admin/dev', '192.168.122.1;172.16.0.145', 14843, '2019-11-16 03:11:50', '2019-11-16 03:58:01'), + (2, 'F:\\codespace\\idea\\gangquan360\\foundation', '172.16.1.188;192.168.56.1', 227992, '2019-11-16 10:02:39', '2019-11-16 10:06:50'), + (3, 'E:\\codespace\\zhuoda', '192.168.8.188', 17564, '2020-12-14 07:11:12', '2020-12-14 07:13:34'), + (4, 'E:\\codespace\\zhuoda', '192.168.8.188', 15568, '2020-12-14 07:13:53', '2020-12-14 07:15:00'), + (5, 'E:\\codespace\\zhuoda', '192.168.8.188', 16548, '2020-12-14 07:16:07', '2020-12-14 07:17:14'); +/*!40000 ALTER TABLE `t_heart_beat_record` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_id_generator 结构 +DROP TABLE IF EXISTS `t_id_generator`; +CREATE TABLE IF NOT EXISTS `t_id_generator` ( + `id` int DEFAULT NULL, + `key_name` varchar(50) NOT NULL COMMENT '英文key', + `rule_format` varchar(500) NOT NULL COMMENT '规则格式。no_cycle没有周期, year_cycle 年周期, month_cycle月周期, day_cycle 日周期', + `rule_type` varchar(50) NOT NULL COMMENT '格式[yyyy]表示年,[mm]标识月,[dd]表示日,[nnn]表示三位数字', + `init_number` int NOT NULL DEFAULT '1' COMMENT '初始值', + `last_number` int DEFAULT NULL COMMENT '上次产生的id, 默认为空', + `remark` varchar(1000) NOT NULL COMMENT '备注', + `update_time` datetime DEFAULT NULL, + `create_time` datetime NOT NULL, + UNIQUE KEY `key_name` (`key_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='id生成器定义表'; + +-- 正在导出表 smart-admin-dev.t_id_generator 的数据:~2 rows (大约) +DELETE FROM `t_id_generator`; +/*!40000 ALTER TABLE `t_id_generator` DISABLE KEYS */; +INSERT INTO `t_id_generator` (`id`, `key_name`, `rule_format`, `rule_type`, `init_number`, `last_number`, `remark`, `update_time`, `create_time`) VALUES + (2, 'goods_num', '[nnnnnnn]', 'NO_CYCLE', 1, NULL, '商品编号', '2019-04-09 09:48:04', '2019-03-29 14:14:12'), + (1, 'order', '[yyyy][mm][dd][nnnnn]', 'DAY_CYCLE', 1, 1, '订单编号', '2019-03-30 11:25:42', '2019-03-29 14:14:12'); +/*!40000 ALTER TABLE `t_id_generator` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_id_generator_record 结构 +DROP TABLE IF EXISTS `t_id_generator_record`; +CREATE TABLE IF NOT EXISTS `t_id_generator_record` ( + `generator_id` int NOT NULL, + `year` int NOT NULL, + `month` int NOT NULL, + `day` int NOT NULL, + `last_number` int NOT NULL, + PRIMARY KEY (`generator_id`,`year`,`month`,`day`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='id_generator记录表'; + +-- 正在导出表 smart-admin-dev.t_id_generator_record 的数据:~5 rows (大约) +DELETE FROM `t_id_generator_record`; +/*!40000 ALTER TABLE `t_id_generator_record` DISABLE KEYS */; +INSERT INTO `t_id_generator_record` (`generator_id`, `year`, `month`, `day`, `last_number`) VALUES + (1, 2019, 3, 30, 1), + (2, 2019, 3, 30, 1), + (2, 2019, 4, 3, 2), + (2, 2019, 4, 8, 2), + (2, 2019, 4, 9, 1); +/*!40000 ALTER TABLE `t_id_generator_record` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_notice 结构 +DROP TABLE IF EXISTS `t_notice`; +CREATE TABLE IF NOT EXISTS `t_notice` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '消息标题', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '消息内容', + `deleted` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '删除状态:0未删除 0删除 ', + `send_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '发送状态 0未发送 1发送', + `create_user` bigint NOT NULL COMMENT '消息创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=108 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- 正在导出表 smart-admin-dev.t_notice 的数据:~14 rows (大约) +DELETE FROM `t_notice`; +/*!40000 ALTER TABLE `t_notice` DISABLE KEYS */; +INSERT INTO `t_notice` (`id`, `title`, `content`, `deleted`, `send_status`, `create_user`, `create_time`, `update_time`) VALUES + (93, '大扫把', '晓冬吃大便', 1, 1, 1, '2019-07-13 17:54:13', '2019-07-13 17:54:21'), + (95, '4444444', '444444444444', 1, 1, 1, '2019-07-13 17:54:53', '2019-09-04 09:42:02'), + (96, '3434', '444444', 1, 1, 1, '2019-07-13 17:58:42', '2019-11-08 09:05:24'), + (97, '44444', '555555555555', 1, 1, 1, '2019-07-13 17:58:54', '2019-09-03 16:19:50'), + (98, '《青花瓷》', '素胚勾勒出青花笔锋浓转淡\n瓶身描绘的牡丹一如你初妆\n冉冉檀香透过窗心事我了然\n周杰伦 青花瓷\n周杰伦 青花瓷\n宣纸上走笔至此搁一半\n釉色渲染仕女图韵味被私藏\n而你嫣然的一笑如含苞待放\n你的美一缕飘散\n去到我去不了的地方\n天青色等烟雨 而我在等你\n炊烟袅袅升起 隔江千万里\n在瓶底书刻隶仿前朝的飘逸\n就当我为遇见你伏笔\n天青色等烟雨 而我在等你\n月色被打捞起 晕开了结局\n如传世的青花瓷自顾自美丽\n你眼带笑意\n色白花青的锦鲤跃然于碗底\n临摹宋体落款时却惦记着你\n你隐藏在窑烧里千年的秘密\n极细腻犹如绣花针落地\n篱外芭蕉惹骤雨门环惹铜绿\n而我路过那江南小镇惹了你\n在泼墨山水画里\n你从墨色深处被隐去\n天青色等烟雨 而我在等你\n炊烟袅袅升起 隔江千万里\n在瓶底书刻隶仿前朝的飘逸\n就当我为遇见你伏笔\n天青色等烟雨 而我在等你\n月色被打捞起 晕开了结局\n如传世的青花瓷自顾自美丽\n你眼带笑意\n天青色等烟雨 而我在等你\n炊烟袅袅升起 隔江千万里\n在瓶底书刻隶仿前朝的飘逸\n就当我为遇见你伏笔\n天青色等烟雨 而我在等你\n月色被打捞起 晕开了结局\n如传世的青花瓷自顾自美丽\n你眼带笑意 ', 1, 1, 1, '2019-08-05 16:36:44', '2019-09-02 17:53:12'), + (99, '1', '2', 1, 1, 30, '2019-08-08 14:53:58', '2019-08-08 14:54:07'), + (100, '呵呵', '呵呵', 1, 1, 1, '2019-08-20 16:52:53', '2019-09-02 17:46:59'), + (101, 'aa', 'bbcc', 1, 1, 30, '2019-08-23 09:51:01', '2019-08-23 09:51:28'), + (102, '1', '2', 0, 1, 1, '2019-09-05 14:28:10', '2019-09-05 14:28:10'), + (103, '12', '22', 0, 1, 1, '2019-09-05 14:29:30', '2019-09-05 14:29:30'), + (104, 'a', 'b', 1, 1, 30, '2019-09-06 14:21:18', '2019-09-06 14:24:07'), + (105, '22222222222', '1111', 0, 0, 1, '2019-11-07 19:05:56', '2019-11-07 19:05:56'), + (106, '423', '234', 0, 0, 37, '2019-11-08 21:48:19', '2019-11-08 21:48:19'), + (107, 'AAS', 's\'da\'ssdas', 1, 1, 1, '2019-11-13 19:06:55', '2019-11-14 09:07:06'); +/*!40000 ALTER TABLE `t_notice` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_notice_receive_record 结构 +DROP TABLE IF EXISTS `t_notice_receive_record`; +CREATE TABLE IF NOT EXISTS `t_notice_receive_record` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `notice_id` bigint NOT NULL COMMENT '消息id', + `employee_id` bigint NOT NULL COMMENT '用户id', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=141 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- 正在导出表 smart-admin-dev.t_notice_receive_record 的数据:~27 rows (大约) +DELETE FROM `t_notice_receive_record`; +/*!40000 ALTER TABLE `t_notice_receive_record` DISABLE KEYS */; +INSERT INTO `t_notice_receive_record` (`id`, `notice_id`, `employee_id`, `create_time`, `update_time`) VALUES + (114, 93, 1, '2019-07-13 17:54:16', '2019-07-13 17:54:16'), + (115, 95, 1, '2019-07-13 17:54:55', '2019-07-13 17:54:55'), + (116, 95, 22, '2019-07-13 17:58:03', '2019-07-13 17:58:03'), + (117, 93, 22, '2019-07-13 17:58:05', '2019-07-13 17:58:05'), + (118, 96, 1, '2019-07-13 17:58:44', '2019-07-13 17:58:44'), + (119, 97, 1, '2019-07-13 17:58:58', '2019-07-13 17:58:58'), + (120, 98, 1, '2019-08-05 16:37:01', '2019-08-05 16:37:01'), + (121, 99, 30, '2019-08-08 14:54:05', '2019-08-08 14:54:05'), + (122, 99, 1, '2019-08-08 15:15:44', '2019-08-08 15:15:44'), + (123, 100, 1, '2019-08-20 16:53:29', '2019-08-20 16:53:29'), + (124, 101, 30, '2019-08-23 09:51:11', '2019-08-23 09:51:11'), + (125, 101, 1, '2019-08-23 12:46:27', '2019-08-23 12:46:27'), + (126, 102, 1, '2019-09-05 14:28:32', '2019-09-05 14:28:32'), + (127, 104, 30, '2019-09-06 14:23:58', '2019-09-06 14:23:58'), + (128, 104, 1, '2019-09-06 15:25:13', '2019-09-06 15:25:13'), + (129, 101, 14, '2019-11-02 21:46:13', '2019-11-02 21:46:13'), + (130, 102, 14, '2019-11-02 21:46:14', '2019-11-02 21:46:14'), + (131, 104, 14, '2019-11-02 21:46:15', '2019-11-02 21:46:15'), + (132, 98, 14, '2019-11-02 21:46:18', '2019-11-02 21:46:18'), + (133, 103, 37, '2019-11-07 19:58:06', '2019-11-07 19:58:06'), + (134, 103, 1, '2019-11-07 20:03:54', '2019-11-07 20:03:54'), + (135, 107, 1, '2019-11-13 19:07:02', '2019-11-13 19:07:02'), + (136, 107, 38, '2019-11-15 02:11:04', '2019-11-15 02:11:04'), + (137, 104, 38, '2019-11-15 02:11:17', '2019-11-15 02:11:17'), + (138, 101, 38, '2019-11-15 02:26:33', '2019-11-15 02:26:33'), + (139, 98, 38, '2019-11-15 02:29:32', '2019-11-15 02:29:32'), + (140, 100, 38, '2019-11-15 03:19:18', '2019-11-15 03:19:18'); +/*!40000 ALTER TABLE `t_notice_receive_record` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_order_operate_log 结构 +DROP TABLE IF EXISTS `t_order_operate_log`; +CREATE TABLE IF NOT EXISTS `t_order_operate_log` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `order_id` int NOT NULL COMMENT '各种单据的id', + `order_type` int NOT NULL COMMENT '单据类型', + `operate_type` int NOT NULL COMMENT '操作类型', + `operate_content` text NOT NULL COMMENT '操作类型 对应的中文', + `operate_remark` text COMMENT '操作备注', + `employee_id` int NOT NULL COMMENT '员工id', + `employee_name` varchar(1000) NOT NULL COMMENT '员工名称', + `ext_data` text COMMENT '额外信息', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `order_id_order_type` (`order_id`,`order_type`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='各种单据操作记录\r\n'; + +-- 正在导出表 smart-admin-dev.t_order_operate_log 的数据:~0 rows (大约) +DELETE FROM `t_order_operate_log`; +/*!40000 ALTER TABLE `t_order_operate_log` DISABLE KEYS */; +/*!40000 ALTER TABLE `t_order_operate_log` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_peony 结构 +DROP TABLE IF EXISTS `t_peony`; +CREATE TABLE IF NOT EXISTS `t_peony` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `kind` varchar(500) DEFAULT NULL COMMENT '品种', + `name` varchar(500) DEFAULT NULL COMMENT '名字', + `color` varchar(500) DEFAULT NULL COMMENT '颜色', + `image_url` text COMMENT '图片链接', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COMMENT='牡丹花'; + +-- 正在导出表 smart-admin-dev.t_peony 的数据:~3 rows (大约) +DELETE FROM `t_peony`; +/*!40000 ALTER TABLE `t_peony` DISABLE KEYS */; +INSERT INTO `t_peony` (`id`, `kind`, `name`, `color`, `image_url`, `create_time`, `update_time`) VALUES + (5, '复色类', '什样锦', '红色', 'https://bkimg.cdn.bcebos.com/pic/3c6d55fbb2fb43160ee185da2aa4462308f7d390?x-bce-process=image/watermark,g_7,image_d2F0ZXIvYmFpa2UxNTA=,xp_5,yp_5', '2020-04-06 22:02:32', '2020-04-06 22:03:30'), + (6, '绿色', '绿香球', '绿色', '11', '2020-04-06 22:14:35', '2020-04-06 22:17:51'), + (7, '墨紫色类', '冠世墨玉', '紫色', '34534534534', '2020-04-06 22:15:19', '2020-04-06 22:18:21'); +/*!40000 ALTER TABLE `t_peony` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_position 结构 +DROP TABLE IF EXISTS `t_position`; +CREATE TABLE IF NOT EXISTS `t_position` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `position_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '岗位名称', + `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '岗位描述', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='岗位表'; + +-- 正在导出表 smart-admin-dev.t_position 的数据:~13 rows (大约) +DELETE FROM `t_position`; +/*!40000 ALTER TABLE `t_position` DISABLE KEYS */; +INSERT INTO `t_position` (`id`, `position_name`, `remark`, `update_time`, `create_time`) VALUES + (1, 'java develop', 'java develop is good job', '2019-07-03 15:18:45', '2019-07-03 15:18:45'), + (2, 'android develop', 'android develop is good job', '2019-07-04 16:11:11', '2019-07-04 16:11:00'), + (3, '测试岗位1', '这是内容11', '2019-09-02 16:39:33', '2019-07-10 14:03:50'), + (8, '测试岗位2', '测试岗位2.。', '2019-09-04 10:19:40', '2019-09-04 10:19:32'), + (9, '测试岗位3', '测试岗位3', '2019-09-05 14:39:43', '2019-09-05 14:39:43'), + (10, '测试岗位4', '测试岗位4', '2019-09-05 14:39:48', '2019-09-05 14:39:48'), + (11, '测试岗位5', '测试岗位5', '2019-09-05 14:39:53', '2019-09-05 14:39:53'), + (12, '测试岗位6', '测试岗位6', '2019-09-05 14:39:58', '2019-09-05 14:39:58'), + (13, '测试岗位7', '测试岗位7', '2019-09-05 14:40:03', '2019-09-05 14:40:03'), + (14, '测试岗位8', '测试岗位8', '2019-09-05 14:40:09', '2019-09-05 14:40:09'), + (15, '测试岗位9', '测试岗位9', '2019-09-05 14:40:19', '2019-09-05 14:40:19'), + (16, 'aaa22222', 'ddddddddddd', '2019-11-15 17:04:29', '2019-11-06 15:58:37'), + (17, 'ddd', 'fsdef', '2019-11-15 17:04:40', '2019-11-15 17:04:40'); +/*!40000 ALTER TABLE `t_position` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_position_relation 结构 +DROP TABLE IF EXISTS `t_position_relation`; +CREATE TABLE IF NOT EXISTS `t_position_relation` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `position_id` int DEFAULT NULL COMMENT '岗位ID', + `employee_id` int DEFAULT NULL COMMENT '员工ID', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`), + KEY `job_id` (`position_id`) USING BTREE, + KEY `employee_id` (`employee_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='岗位关联表'; + +-- 正在导出表 smart-admin-dev.t_position_relation 的数据:~27 rows (大约) +DELETE FROM `t_position_relation`; +/*!40000 ALTER TABLE `t_position_relation` DISABLE KEYS */; +INSERT INTO `t_position_relation` (`id`, `position_id`, `employee_id`, `update_time`, `create_time`) VALUES + (14, 1, 28, '2019-07-10 16:40:14', '2019-07-10 16:40:14'), + (18, 1, 29, '2019-07-11 10:18:22', '2019-07-11 10:18:22'), + (19, 3, 29, '2019-07-11 10:18:22', '2019-07-11 10:18:22'), + (20, 2, 29, '2019-07-11 10:18:22', '2019-07-11 10:18:22'), + (21, 1, 30, '2019-08-08 14:35:51', '2019-08-08 14:35:51'), + (22, 2, 30, '2019-08-08 14:35:51', '2019-08-08 14:35:51'), + (23, 3, 30, '2019-08-08 14:35:51', '2019-08-08 14:35:51'), + (26, 2, 31, '2019-08-23 09:26:44', '2019-08-23 09:26:44'), + (27, 3, 31, '2019-08-23 09:26:44', '2019-08-23 09:26:44'), + (28, 3, 32, '2019-09-04 09:05:47', '2019-09-04 09:05:47'), + (29, 2, 32, '2019-09-04 09:05:47', '2019-09-04 09:05:47'), + (30, 3, 22, '2019-09-04 09:06:46', '2019-09-04 09:06:46'), + (31, 2, 22, '2019-09-04 09:06:46', '2019-09-04 09:06:46'), + (35, 8, 35, '2019-09-04 15:09:00', '2019-09-04 15:09:00'), + (36, 3, 35, '2019-09-04 15:09:00', '2019-09-04 15:09:00'), + (37, 15, 23, '2019-09-05 16:13:02', '2019-09-05 16:13:02'), + (38, 14, 23, '2019-09-05 16:13:02', '2019-09-05 16:13:02'), + (39, 13, 23, '2019-09-05 16:13:02', '2019-09-05 16:13:02'), + (40, 3, 34, '2019-09-06 08:55:18', '2019-09-06 08:55:18'), + (41, 2, 34, '2019-09-06 08:55:18', '2019-09-06 08:55:18'), + (42, 1, 34, '2019-09-06 08:55:18', '2019-09-06 08:55:18'), + (43, 14, 36, '2019-09-09 17:01:39', '2019-09-09 17:01:39'), + (44, 3, 37, '2019-11-08 09:32:39', '2019-11-08 09:32:39'), + (46, 8, 38, '2019-11-14 16:08:05', '2019-11-14 16:08:05'), + (50, 16, 39, '2019-11-15 17:07:04', '2019-11-15 17:07:04'), + (51, 13, 39, '2019-11-15 17:07:04', '2019-11-15 17:07:04'), + (52, 14, 39, '2019-11-15 17:07:04', '2019-11-15 17:07:04'); +/*!40000 ALTER TABLE `t_position_relation` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_privilege 结构 +DROP TABLE IF EXISTS `t_privilege`; +CREATE TABLE IF NOT EXISTS `t_privilege` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '功能权限表主键id', + `type` tinyint NOT NULL COMMENT '1.菜单 2.功能点', + `name` varchar(50) NOT NULL COMMENT '菜单名称', + `key` varchar(1000) NOT NULL COMMENT '路由name 英文关键字', + `url` text COMMENT '路由path/type=3为API接口', + `sort` int NOT NULL DEFAULT '0' COMMENT '排序', + `parent_key` varchar(1000) DEFAULT NULL COMMENT '父级key', + `update_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`), + UNIQUE KEY `key` (`key`) USING BTREE, + KEY `type` (`type`) USING BTREE, + KEY `parent_key` (`parent_key`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=127 DEFAULT CHARSET=utf8 COMMENT='权限功能表'; + +-- 正在导出表 smart-admin-dev.t_privilege 的数据:~103 rows (大约) +DELETE FROM `t_privilege`; +/*!40000 ALTER TABLE `t_privilege` DISABLE KEYS */; +INSERT INTO `t_privilege` (`id`, `type`, `name`, `key`, `url`, `sort`, `parent_key`, `update_time`, `create_time`) VALUES + (1, 1, '人员管理', 'Employee', '/employee', 20, 'System', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (2, 1, '角色管理', 'RoleManage', '/employee/role', 21, 'Employee', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (3, 1, '岗位管理', 'PositionList', '/employee/position', 22, 'Employee', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (4, 1, '员工管理', 'RoleEmployeeManage', '/employee/role-employee-manage', 23, 'Employee', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (5, 1, '系统设置', 'SystemSetting', '/system-setting', 29, 'System', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (6, 1, '系统参数', 'SystemConfig', '/system-setting/system-config', 30, 'SystemSetting', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (8, 1, '菜单设置', 'SystemPrivilege', '/system-setting/system-privilege', 31, 'SystemSetting', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (9, 1, '消息管理', 'Notice', '/notice', 10, 'Business', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (10, 1, '通知管理', 'NoticeList', '/notice/notice-list', 11, 'Notice', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (11, 1, '个人消息', 'PersonNotice', '/notice/person-notice', 12, 'Notice', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (12, 1, '邮件管理', 'Email', '/email', 4, 'Business', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (13, 1, '邮件管理', 'EmailList', '/email/email-list', 5, 'Email', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (14, 1, '发送邮件', 'SendMail', '/email/send-mail', 6, 'Email', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (15, 1, '用户日志', 'UserLog', '/user-log', 26, 'System', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (16, 1, '用户操作日志', 'UserOperateLog', '/user-log/user-operate-log', 27, 'UserLog', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (17, 1, '用户登录日志', 'UserLoginLog', '/user-log/user-login-log', 28, 'UserLog', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (18, 1, '系统监控', 'Monitor', '/monitor', 37, 'Support', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (19, 1, '在线人数', 'OnlineUser', '/monitor/online-user', 38, 'Monitor', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (20, 1, 'SQL监控', 'Sql', '/monitor/sql', 39, 'Monitor', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (21, 1, '定时任务', 'Task', '/task', 42, 'Support', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (22, 1, '任务管理', 'TaskList', '/system-setting/task-list', 43, 'Task', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (23, 1, '动态加载', 'Reload', '/reload', 40, 'Support', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (24, 1, 'SmartReload', 'SmartReloadList', '/reload/smart-reload-list', 41, 'Reload', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (25, 1, '接口文档', 'ApiDoc', '/api-doc', 33, 'Support', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (26, 1, 'Swagger接口文档', 'Swagger', '/api-doc/swagger', 34, 'ApiDoc', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (27, 1, '三级路由', 'ThreeRouter', '/three-router', 14, 'Business', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (28, 1, '三级菜单', 'LevelTwo', '/three-router/level-two', 15, 'ThreeRouter', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (30, 1, '三级菜单子哈', 'RoleTwoTwo', '/three-router/level-two/level-three2', 17, 'LevelTwo', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (31, 1, '二级菜单', 'RoleOneOne', '/three-router/level-two2', 18, 'ThreeRouter', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (32, 1, 'KeepAlive', 'KeepAlive', '/keep-alive', 7, 'Business', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (33, 1, 'KeepAlive列表', 'KeepAliveContentList', '/keep-alive/content-list', 8, 'KeepAlive', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (34, 1, 'KeepAlive表单', 'KeepAliveAddContent', '/keep-alive/add-content', 9, 'KeepAlive', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (35, 1, '心跳服务', 'HeartBeat', '/heart-beat', 35, 'Support', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (36, 1, '心跳服务', 'HeartBeatList', '/heart-beat/heart-beat-list', 36, 'HeartBeat', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (37, 1, '文件服务', 'File', '/file', 24, 'System', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (38, 1, '文件列表', 'FileList', '/file/file-list', 25, 'File', '2020-12-14 15:16:26', '2019-11-01 11:28:07'), + (39, 2, '添加角色', 'add-role', 'roleController.addRole', 0, 'RoleManage', '2019-11-01 11:47:29', '2019-11-01 11:47:29'), + (40, 2, '删除角色', 'delete-role', 'roleController.deleteRole', 1, 'RoleManage', '2019-11-01 11:47:43', '2019-11-01 11:47:43'), + (41, 2, '编辑角色', 'update-role', 'roleController.updateRole', 2, 'RoleManage', '2019-11-01 11:47:55', '2019-11-01 11:47:55'), + (42, 2, '修改角色权限', 'update-role-privilege', 'rolePrivilegeController.updateRolePrivilege', 3, 'RoleManage', '2019-11-01 11:48:09', '2019-11-01 11:48:09'), + (43, 2, '添加成员', 'add-employee-role', 'roleEmployeeController.addEmployeeList', 4, 'RoleManage', '2019-11-05 10:38:11', '2019-11-05 10:38:11'), + (44, 2, '查询成员', 'search-employee-list', 'roleEmployeeController.listAllEmployeeRoleId,roleEmployeeController.listEmployeeByName,roleController.getAllRole,rolePrivilegeController.listPrivilegeByRoleId', 7, 'RoleManage', '2019-11-05 10:39:04', '2019-11-05 10:39:04'), + (45, 2, '移除成员', 'delete-employee-role', 'roleEmployeeController.removeEmployee', 5, 'RoleManage', '2019-11-05 10:40:09', '2019-11-05 10:40:09'), + (46, 2, '批量移除', 'delete-employee-role-batch', 'roleEmployeeController.removeEmployeeList', 6, 'RoleManage', '2019-11-05 10:40:27', '2019-11-05 10:40:27'), + (47, 2, '查询数据范围', 'query-data-scope', 'dataScopeController.dataScopeList,dataScopeController.dataScopeListByRole,rolePrivilegeController.listPrivilegeByRoleId,privilegeController.queryAll,privilegeController.getAllUrl', 8, 'RoleManage', '2019-11-05 10:40:57', '2019-11-05 10:40:57'), + (48, 2, '更新数据范围', 'update-data-scope', 'dataScopeController.dataScopeBatchSet', 9, 'RoleManage', '2019-11-05 10:41:03', '2019-11-05 10:41:03'), + (49, 2, '查询', 'search-position', 'positionController.queryJobById,positionController.getJobPage', 0, 'PositionList', '2019-11-05 10:41:30', '2019-11-05 10:41:30'), + (50, 2, '添加', 'add-position', 'positionController.addJob', 1, 'PositionList', '2019-11-05 10:41:40', '2019-11-05 10:41:40'), + (51, 2, '修改', 'update-position', 'positionController.updateJob', 2, 'PositionList', '2019-11-05 10:41:49', '2019-11-05 10:41:49'), + (52, 2, '删除', 'delete-position', 'positionController.removeJob', 3, 'PositionList', '2019-11-05 10:41:57', '2019-11-05 10:41:57'), + (53, 2, '添加部门', 'add-department', 'departmentController.addDepartment', 0, 'RoleEmployeeManage', '2019-11-05 11:11:18', '2019-11-05 11:11:18'), + (54, 2, '编辑部门', 'update-department', 'departmentController.updateDepartment', 1, 'RoleEmployeeManage', '2019-11-05 11:11:29', '2019-11-05 11:11:29'), + (55, 2, '删除部门', 'delete-department', 'departmentController.delDepartment', 2, 'RoleEmployeeManage', '2019-11-05 11:11:48', '2019-11-05 11:11:48'), + (56, 2, '查询', 'search-department', 'departmentController.listAll,departmentController.getDepartment,departmentController.listDepartmentEmployee,departmentController.listDepartment,employeeController.query', 3, 'RoleEmployeeManage', '2019-11-05 11:12:09', '2019-11-05 11:12:09'), + (57, 2, '添加成员', 'add-employee', 'employeeController.addEmployee', 4, 'RoleEmployeeManage', '2019-11-05 17:06:23', '2019-11-05 17:06:23'), + (58, 2, '编辑成员', 'update-employee', 'employeeController.updateEmployee', 5, 'RoleEmployeeManage', '2019-11-05 17:06:57', '2019-11-05 17:06:57'), + (59, 2, '禁用', 'disabled-employee', 'employeeController.updateStatus', 6, 'RoleEmployeeManage', '2019-11-05 17:14:35', '2019-11-05 17:14:35'), + (60, 2, '批量操作', 'disabled-employee-batch', 'employeeController.batchUpdateStatus', 7, 'RoleEmployeeManage', '2019-11-05 17:19:23', '2019-11-05 17:19:23'), + (61, 2, '员工角色编辑', 'update-employee-role', 'employeeController.updateRoles', 8, 'RoleEmployeeManage', '2019-11-05 17:21:15', '2019-11-05 17:21:15'), + (62, 2, '重置密码', 'reset-employee-password', 'employeeController.resetPasswd', 10, 'RoleEmployeeManage', '2019-11-05 17:22:13', '2019-11-05 17:22:13'), + (63, 2, '删除员工', 'delete-employee', 'employeeController.deleteEmployeeById', 9, 'RoleEmployeeManage', '2019-11-05 17:22:27', '2019-11-05 17:22:27'), + (64, 2, '查询系统参数', 'system-params-search', 'systemConfigController.selectByKey,systemConfigController.getListByGroup,systemConfigController.getSystemConfigPage', 0, 'SystemConfig', '2019-11-05 17:23:41', '2019-11-05 17:23:41'), + (65, 2, '添加系统参数', 'system-params-add', 'systemConfigController.addSystemConfig', 1, 'SystemConfig', '2019-11-05 17:26:00', '2019-11-05 17:26:00'), + (66, 2, '修改系统参数', 'system-config-update', 'systemConfigController.updateSystemConfig', 2, 'SystemConfig', '2019-11-05 17:26:07', '2019-11-05 17:26:07'), + (67, 2, '搜索系统参数', 'system-config-search', 'systemConfigController.selectByKey,systemConfigController.getListByGroup,systemConfigController.getSystemConfigPage', 3, 'SystemConfig', '2019-11-05 17:26:44', '2019-11-05 17:26:44'), + (69, 2, '编辑', 'privilege-main-update', 'privilegeController.menuBatchSave,privilegeController.functionSaveOrUpdate', 1, 'SystemPrivilege', '2020-12-14 15:17:11', '2019-11-05 17:27:28'), + (70, 2, '查询', 'privilege-main-search', 'privilegeController.queryAll,privilegeController.getAllUrl,privilegeController.functionQuery', 3, 'SystemPrivilege', '2020-12-14 15:17:11', '2019-11-05 17:28:45'), + (71, 2, '查询', 'notice-query', 'noticeController.queryReceiveByPage,noticeController.queryUnreadByPage,noticeController.queryByPage,noticeController.detail', 0, 'NoticeList', '2019-11-05 17:30:16', '2019-11-05 17:30:16'), + (72, 2, '添加', 'notice-add', 'noticeController.add', 1, 'NoticeList', '2019-11-05 17:30:28', '2019-11-05 17:30:28'), + (73, 2, '修改', 'notice-edit', 'noticeController.update', 2, 'NoticeList', '2019-11-05 17:31:24', '2019-11-05 17:31:24'), + (74, 2, '删除', 'notice-delete', 'noticeController.delete', 3, 'NoticeList', '2019-11-06 11:12:32', '2019-11-06 11:12:32'), + (75, 2, '详情', 'notice-detail', 'noticeController.detail', 4, 'NoticeList', '2019-11-06 11:12:44', '2019-11-06 11:12:44'), + (76, 2, '发送', 'notice-send', 'noticeController.send', 5, 'NoticeList', '2019-11-06 11:12:51', '2019-11-06 11:12:51'), + (77, 2, '查询', 'person-notice-query', 'noticeController.queryReceiveByPage,noticeController.queryUnreadByPage,noticeController.queryByPage', 0, 'PersonNotice', '2019-11-06 11:13:27', '2019-11-06 11:13:27'), + (78, 2, '详情', 'person-notice-detail', 'noticeController.detail', 1, 'PersonNotice', '2019-11-06 11:13:35', '2019-11-06 11:13:35'), + (79, 2, '查询', 'email-query', 'emailController.queryByPage,emailController.detail', 0, 'EmailList', '2019-11-06 11:13:49', '2019-11-06 11:13:49'), + (80, 2, '新增', 'email-add', 'emailController.add', 1, 'EmailList', '2019-11-06 11:14:02', '2019-11-06 11:14:02'), + (81, 2, '编辑', 'email-update', 'emailController.update', 2, 'EmailList', '2019-11-06 11:14:08', '2019-11-06 11:14:08'), + (82, 2, '删除', 'email-delete', 'emailController.delete', 3, 'EmailList', '2019-11-06 11:14:16', '2019-11-06 11:14:16'), + (83, 2, '发送', 'email-send', 'emailController.send', 0, 'SendMail', '2019-11-06 11:14:40', '2019-11-06 11:14:40'), + (84, 2, '查询', 'user-operate-log-search', 'userOperateLogController.queryByPage', 0, 'UserOperateLog', '2019-11-06 11:15:04', '2019-11-06 11:15:04'), + (85, 2, '详情', 'user-operate-log-detail', 'userOperateLogController.detail', 1, 'UserOperateLog', '2019-11-06 11:15:16', '2019-11-06 11:15:16'), + (86, 2, '删除', 'user-operate-log-delete', 'userOperateLogController.delete', 2, 'UserOperateLog', '2019-11-06 11:15:25', '2019-11-06 11:15:25'), + (87, 2, '查询', 'user-login-log-search', 'userLoginLogController.queryByPage', 0, 'UserLoginLog', '2019-11-06 11:15:43', '2019-11-06 11:15:43'), + (88, 2, '删除', 'user-login-log-delete', 'userLoginLogController.delete', 1, 'UserLoginLog', '2019-11-06 11:15:49', '2019-11-06 11:15:49'), + (89, 2, '查询', 'online-user-search', 'userLoginLogController.queryUserOnLine', 0, 'OnlineUser', '2019-11-06 11:16:05', '2019-11-06 11:16:05'), + (90, 2, '查询任务', 'task-search', 'quartzController.query', 0, 'TaskList', '2019-11-06 11:16:24', '2019-11-06 11:16:24'), + (91, 2, '刷新任务', 'task-refresh', 'quartzController.query', 1, 'TaskList', '2019-11-06 11:16:50', '2019-11-06 11:16:50'), + (92, 2, '添加任务', 'task-add', 'quartzController.saveOrUpdateTask', 2, 'TaskList', '2019-11-06 11:17:04', '2019-11-06 11:17:04'), + (93, 2, '编辑任务', 'task-update', 'quartzController.saveOrUpdateTask', 3, 'TaskList', '2019-11-06 11:17:17', '2019-11-06 11:17:17'), + (94, 2, '暂停任务', 'task-pause', 'quartzController.pauseTask', 4, 'TaskList', '2019-11-06 11:17:25', '2019-11-06 11:17:25'), + (95, 2, '恢复任务', 'task-resume', 'quartzController.resumeTask', 5, 'TaskList', '2019-11-06 11:17:31', '2019-11-06 11:17:31'), + (96, 2, '立即运行任务', 'task-run', 'quartzController.runTask', 6, 'TaskList', '2019-11-06 11:17:38', '2019-11-06 11:17:38'), + (97, 2, '查看任务日志', 'task-query-log', 'quartzController.queryLog', 7, 'TaskList', '2019-11-06 11:17:47', '2019-11-06 11:17:47'), + (98, 2, '删除任务', 'task-delete', 'quartzController.deleteTask', 8, 'TaskList', '2019-11-06 11:17:53', '2019-11-06 11:17:53'), + (99, 2, '查询', 'smart-reload-search', 'smartReloadController.listAllReloadItem', 0, 'SmartReloadList', '2019-11-06 11:18:06', '2019-11-06 11:18:06'), + (100, 2, '执行reload', 'smart-reload-update', 'smartReloadController.updateByTag', 1, 'SmartReloadList', '2019-11-06 11:18:14', '2019-11-06 11:18:14'), + (101, 2, '查看执行结果', 'smart-reload-result', 'smartReloadController.queryReloadResult', 2, 'SmartReloadList', '2019-11-06 11:18:19', '2019-11-06 11:18:19'), + (102, 2, '查询任务', 'heart-beat-query', 'heartBeatController.query', 0, 'HeartBeatList', '2019-11-06 11:18:38', '2019-11-06 11:18:38'), + (103, 2, '查询', 'file-filePage-query', 'fileController.queryListByPage,fileController.localGetFile,fileController.downLoadById', 0, 'FileList', '2019-11-06 11:19:06', '2019-11-06 11:19:06'), + (104, 2, '上传', 'file-filePage-upload', 'fileController.qiNiuUpload,fileController.localUpload,fileController.aliYunUpload,fileController.saveFile', 1, 'FileList', '2019-11-06 11:19:36', '2019-11-06 11:19:36'), + (105, 2, '下载', 'file-filePage-download', 'fileController.downLoadById', 2, 'FileList', '2019-11-16 10:05:02', '2019-11-16 10:05:02'), + (106, 1, '业务功能', 'Business', '/business', 0, NULL, '2020-12-14 15:16:26', '2020-12-14 15:16:26'), + (107, 1, '牡丹管理', 'Peony', '/peony', 1, 'Business', '2020-12-14 15:16:26', '2020-12-14 15:16:26'), + (108, 1, '牡丹花列表', 'PeonyList', '/peony/peony-list', 2, 'Peony', '2020-12-14 15:16:26', '2020-12-14 15:16:26'), + (109, 1, '牡丹花列表1', 'PeonyList1', '/peony/peony-list1', 3, 'Peony', '2020-12-14 15:16:26', '2020-12-14 15:16:26'), + (110, 1, '消息详情', 'NoticeDetail', '/notice/notice-detail', 13, 'Notice', '2020-12-14 15:16:26', '2020-12-14 15:16:26'), + (111, 1, '三级菜单子颗粒', 'ThreeLevelRouterView', '/three-router/level-two/level-three1', 16, 'LevelTwo', '2020-12-14 15:16:26', '2020-12-14 15:16:26'), + (112, 1, '系统设置', 'System', '/system', 19, NULL, '2020-12-14 15:16:26', '2020-12-14 15:16:26'), + (113, 1, '开发专用', 'Support', '/support', 32, NULL, '2020-12-14 15:16:26', '2020-12-14 15:16:26'), + (114, 2, '查询', 'peony-list-query', '', 1, 'PeonyList', '2020-12-14 15:16:30', '2020-12-14 15:16:30'), + (115, 2, '新增', 'peony-list-add', '', 2, 'PeonyList', '2020-12-14 15:16:30', '2020-12-14 15:16:30'), + (116, 2, '编辑', 'peony-list-update', '', 3, 'PeonyList', '2020-12-14 15:16:30', '2020-12-14 15:16:30'), + (117, 2, '批量删除', 'peony-list-batch-delete', '', 4, 'PeonyList', '2020-12-14 15:16:30', '2020-12-14 15:16:30'), + (118, 2, '批量导出', 'peony-list-batch-export', '', 5, 'PeonyList', '2020-12-14 15:16:30', '2020-12-14 15:16:30'), + (119, 2, '导出全部', 'peony-list-export-all', '', 6, 'PeonyList', '2020-12-14 15:16:30', '2020-12-14 15:16:30'), + (120, 2, '查询', 'peony1-list-query', '', 1, 'PeonyList1', '2020-12-14 15:16:33', '2020-12-14 15:16:33'), + (121, 2, '新增', 'peony1-list-add', '', 2, 'PeonyList1', '2020-12-14 15:16:33', '2020-12-14 15:16:33'), + (122, 2, '编辑', 'peony1-list-update', '', 3, 'PeonyList1', '2020-12-14 15:16:33', '2020-12-14 15:16:33'), + (123, 2, '批量删除', 'peony1-list-batch-delete', '', 4, 'PeonyList1', '2020-12-14 15:16:33', '2020-12-14 15:16:33'), + (124, 2, '批量导出', 'peony1-list-batch-export', '', 5, 'PeonyList1', '2020-12-14 15:16:33', '2020-12-14 15:16:33'), + (125, 2, '导出全部', 'peony1-list-export-all', '', 6, 'PeonyList1', '2020-12-14 15:16:33', '2020-12-14 15:16:33'), + (126, 2, '批量保存功能点', 'privilege-batch-save-points', 'privilegeController.functionSaveOrUpdate', 1, 'SystemPrivilege', '2020-12-14 15:17:11', '2020-12-14 15:17:11'); +/*!40000 ALTER TABLE `t_privilege` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_quartz_task 结构 +DROP TABLE IF EXISTS `t_quartz_task`; +CREATE TABLE IF NOT EXISTS `t_quartz_task` ( + `id` int NOT NULL AUTO_INCREMENT, + `task_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '任务名称', + `task_bean` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'spring bean名称', + `task_params` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '任务参数', + `task_cron` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '运行cron表达式', + `task_status` tinyint NOT NULL DEFAULT '0' COMMENT '任务状态0:正常,1:暂停', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- 正在导出表 smart-admin-dev.t_quartz_task 的数据:~5 rows (大约) +DELETE FROM `t_quartz_task`; +/*!40000 ALTER TABLE `t_quartz_task` DISABLE KEYS */; +INSERT INTO `t_quartz_task` (`id`, `task_name`, `task_bean`, `task_params`, `task_cron`, `task_status`, `remark`, `update_time`, `create_time`) VALUES + (9, '2312332', 'exampleTask', '21314', '*/5 * * * * ?', 1, NULL, '2019-09-06 14:41:55', '2019-04-19 15:24:26'), + (13, '567', 'exampleTask', 'ads', '*/5 * * * * ?', 1, NULL, '2019-09-04 16:37:25', '2019-04-23 15:32:17'), + (21, '11', 'exampleTask', '11', '*/5 * * * * ?', 1, NULL, '2019-09-04 16:37:30', '2019-04-26 17:29:21'), + (22, '33', 'exampleTask', '333', '*/5 * * * * ?', 1, NULL, '2019-04-26 17:29:36', '2019-04-26 17:29:36'), + (23, '1', 'exampleTask', '3', '*/5 * * * * ?', 0, NULL, '2019-09-05 17:21:12', '2019-04-26 17:29:50'); +/*!40000 ALTER TABLE `t_quartz_task` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_quartz_task_log 结构 +DROP TABLE IF EXISTS `t_quartz_task_log`; +CREATE TABLE IF NOT EXISTS `t_quartz_task_log` ( + `id` int NOT NULL AUTO_INCREMENT, + `task_id` int NOT NULL COMMENT '任务id', + `task_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '任务名称', + `task_params` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '任务参数', + `process_status` tinyint NOT NULL COMMENT '任务处理状态0:成功,1:失败', + `process_duration` bigint NOT NULL DEFAULT '0' COMMENT '运行时长', + `process_log` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '日志', + `ip_address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '运行主机ip', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=732881 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- 正在导出表 smart-admin-dev.t_quartz_task_log 的数据:~11 rows (大约) +DELETE FROM `t_quartz_task_log`; +/*!40000 ALTER TABLE `t_quartz_task_log` DISABLE KEYS */; +INSERT INTO `t_quartz_task_log` (`id`, `task_id`, `task_name`, `task_params`, `process_status`, `process_duration`, `process_log`, `ip_address`, `update_time`, `create_time`) VALUES + (732870, 9, '231233', '2131', 0, 5, NULL, '127.0.0.1', '2019-05-05 15:28:01', '2019-05-05 15:28:01'), + (732871, 9, '231233', '2131', 0, 32, NULL, '172.16.0.145', '2019-05-05 15:54:40', '2019-05-05 15:54:40'), + (732872, 22, '33', '333', 0, 31, NULL, '172.16.0.145', '2019-05-07 16:20:31', '2019-05-07 16:20:31'), + (732873, 9, '231233', '2131', 0, 304, NULL, '172.16.0.145', '2019-08-02 09:29:36', '2019-08-02 09:29:36'), + (732874, 9, '231233', '2131', 0, 24, NULL, '172.16.0.145', '2019-08-08 16:48:49', '2019-08-08 16:48:49'), + (732875, 9, '231233', '2131', 0, 147, NULL, '172.16.0.145', '2019-08-23 09:41:08', '2019-08-23 09:41:08'), + (732876, 9, '231233', '2131', 0, 610, NULL, '172.16.0.145', '2019-08-26 16:16:34', '2019-08-26 16:16:34'), + (732877, 9, '2312332', '2131', 0, 27, NULL, '172.16.0.145', '2019-09-05 14:34:51', '2019-09-05 14:34:51'), + (732878, 9, '2312332', '2131', 0, 5, NULL, '172.16.0.145', '2019-09-05 17:18:17', '2019-09-05 17:18:17'), + (732879, 9, '2312332', '2131', 0, 1, NULL, '172.16.0.145', '2019-09-05 17:20:15', '2019-09-05 17:20:15'), + (732880, 9, '2312332', '2131', 0, 5, NULL, '172.16.0.145', '2019-09-06 14:42:04', '2019-09-06 14:42:04'); +/*!40000 ALTER TABLE `t_quartz_task_log` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_reload_item 结构 +DROP TABLE IF EXISTS `t_reload_item`; +CREATE TABLE IF NOT EXISTS `t_reload_item` ( + `tag` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '项名称', + `args` varchar(255) DEFAULT NULL COMMENT '参数 可选', + `identification` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '运行标识', + `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`tag`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- 正在导出表 smart-admin-dev.t_reload_item 的数据:~0 rows (大约) +DELETE FROM `t_reload_item`; +/*!40000 ALTER TABLE `t_reload_item` DISABLE KEYS */; +INSERT INTO `t_reload_item` (`tag`, `args`, `identification`, `update_time`, `create_time`) VALUES + ('system_config', '234', 'xxxx', '2019-11-14 16:46:21', '2019-04-18 11:48:27'); +/*!40000 ALTER TABLE `t_reload_item` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_reload_result 结构 +DROP TABLE IF EXISTS `t_reload_result`; +CREATE TABLE IF NOT EXISTS `t_reload_result` ( + `tag` varchar(255) NOT NULL, + `identification` varchar(255) NOT NULL COMMENT '运行标识', + `args` varchar(255) DEFAULT NULL, + `result` tinyint unsigned NOT NULL COMMENT '是否成功 ', + `exception` text, + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- 正在导出表 smart-admin-dev.t_reload_result 的数据:~127 rows (大约) +DELETE FROM `t_reload_result`; +/*!40000 ALTER TABLE `t_reload_result` DISABLE KEYS */; +INSERT INTO `t_reload_result` (`tag`, `identification`, `args`, `result`, `exception`, `create_time`) VALUES + ('system_config', '23', '', 1, NULL, '2019-09-07 17:26:04'), + ('system_config', '23', '', 1, NULL, '2019-09-07 17:28:16'), + ('system_config', '23', '', 1, NULL, '2019-09-07 17:35:39'), + ('system_config', '23', '', 1, NULL, '2019-09-07 17:42:58'), + ('system_config', '23', '', 1, NULL, '2019-09-09 08:30:13'), + ('system_config', '23', '', 1, NULL, '2019-09-11 10:38:19'), + ('system_config', '23', '', 1, NULL, '2019-09-11 10:42:46'), + ('system_config', '23', '', 1, NULL, '2019-09-11 10:49:27'), + ('system_config', '23', '', 1, NULL, '2019-09-11 11:09:10'), + ('system_config', '23', '', 1, NULL, '2019-09-11 11:10:06'), + ('system_config', '23', '', 1, NULL, '2019-09-11 11:18:17'), + ('system_config', '23', '', 1, NULL, '2019-09-11 11:41:18'), + ('system_config', '23', '', 1, NULL, '2019-09-11 11:45:41'), + ('system_config', '23', '', 1, NULL, '2019-09-11 11:46:37'), + ('system_config', '23', '', 1, NULL, '2019-09-11 11:50:35'), + ('system_config', '23', '', 1, NULL, '2019-09-11 14:55:00'), + ('system_config', '23', '', 1, NULL, '2019-09-11 15:26:19'), + ('system_config', '23', '', 1, NULL, '2019-09-11 15:35:51'), + ('system_config', '23', '', 1, NULL, '2019-09-11 15:36:19'), + ('system_config', '23', '', 1, NULL, '2019-09-11 15:36:53'), + ('system_config', '23', '', 1, NULL, '2019-09-11 15:37:58'), + ('system_config', '23', '', 1, NULL, '2019-09-11 15:41:37'), + ('system_config', '23', '', 1, NULL, '2019-09-16 10:12:29'), + ('system_config', '23', '', 1, NULL, '2019-09-20 17:14:08'), + ('system_config', '23', '', 1, NULL, '2019-09-20 17:18:24'), + ('system_config', '23', '', 1, NULL, '2019-09-20 17:23:07'), + ('system_config', '23', '', 1, NULL, '2019-09-20 17:24:17'), + ('system_config', '23', '', 1, NULL, '2019-09-20 17:30:17'), + ('system_config', '23', '', 1, NULL, '2019-09-20 17:31:40'), + ('system_config', '23', '', 1, NULL, '2019-09-20 17:32:34'), + ('system_config', '23', '', 1, NULL, '2019-09-20 17:52:31'), + ('system_config', '23', '', 1, NULL, '2019-09-20 17:55:10'), + ('system_config', '23', '', 1, NULL, '2019-09-20 17:55:47'), + ('system_config', '23', '', 1, NULL, '2019-09-20 17:58:49'), + ('system_config', '23', '', 1, NULL, '2019-09-21 10:53:47'), + ('system_config', '23', '', 1, NULL, '2019-09-22 18:24:21'), + ('system_config', '23', '', 1, NULL, '2019-09-24 09:04:42'), + ('system_config', '23', '', 1, NULL, '2019-10-15 11:06:12'), + ('system_config', '23', '', 1, NULL, '2019-10-15 11:22:10'), + ('system_config', '23', '', 1, NULL, '2019-10-15 16:42:16'), + ('system_config', '23', '', 1, NULL, '2019-10-19 15:18:54'), + ('system_config', '23', '', 1, NULL, '2019-10-19 16:50:10'), + ('system_config', '23', '', 1, NULL, '2019-10-21 15:52:25'), + ('system_config', '23', '', 1, NULL, '2019-10-23 10:24:38'), + ('system_config', '23', '', 1, NULL, '2019-10-23 10:28:45'), + ('system_config', '23', '', 1, NULL, '2019-10-23 16:35:45'), + ('system_config', '23', '', 1, NULL, '2019-10-23 16:38:48'), + ('system_config', '23', '', 1, NULL, '2019-10-25 08:52:22'), + ('system_config', '23', '', 1, NULL, '2019-10-28 16:04:30'), + ('system_config', '23', '', 1, NULL, '2019-10-30 19:59:24'), + ('system_config', '23', '', 1, NULL, '2019-10-31 14:29:26'), + ('system_config', '23', '', 1, NULL, '2019-10-31 14:35:38'), + ('system_config', '23', '', 1, NULL, '2019-10-31 15:58:39'), + ('system_config', '23', '', 1, NULL, '2019-10-31 17:34:48'), + ('system_config', '23', '', 1, NULL, '2019-11-01 11:23:26'), + ('system_config', '23', '', 1, NULL, '2019-11-01 14:55:34'), + ('system_config', '23', '', 1, NULL, '2019-11-02 08:49:44'), + ('system_config', '23', '', 1, NULL, '2019-11-02 09:40:52'), + ('system_config', '23', '', 1, NULL, '2019-11-02 09:42:48'), + ('system_config', '23', '', 1, NULL, '2019-11-02 09:47:38'), + ('system_config', '23', '', 1, NULL, '2019-11-02 09:50:57'), + ('system_config', '23', '', 1, NULL, '2019-11-02 09:51:32'), + ('system_config', '23', '', 1, NULL, '2019-11-02 09:51:48'), + ('system_config', '23', '', 1, NULL, '2019-11-02 15:48:21'), + ('system_config', '23', '', 1, NULL, '2019-11-02 20:48:44'), + ('system_config', '23', '', 1, NULL, '2019-11-02 21:27:50'), + ('system_config', '23', '', 1, NULL, '2019-11-03 22:10:32'), + ('system_config', '23', '', 1, NULL, '2019-11-03 22:10:32'), + ('system_config', '23', '', 1, NULL, '2019-11-04 09:10:24'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-05 10:24:51'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 11:22:42'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 11:25:54'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 11:27:04'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 11:28:00'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 11:34:06'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 11:34:43'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 11:53:11'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 11:56:05'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 13:52:39'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 15:29:29'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 16:05:36'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 16:06:13'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 16:13:22'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 16:19:38'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 16:21:37'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-06 16:22:23'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-08 08:50:08'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-08 13:37:34'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-09 08:35:08'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-09 08:54:38'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-09 09:00:32'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-09 09:01:24'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-09 09:24:16'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-09 09:26:46'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-09 09:43:13'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-09 09:44:48'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-09 10:28:30'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-09 11:24:19'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-11 09:40:42'), + ('system_config', '23', '4234234', 1, NULL, '2019-11-13 17:25:42'), + ('system_config', '23343', '2423', 1, NULL, '2019-11-13 20:29:19'), + ('system_config', '23343', '2423', 1, NULL, '2019-11-13 20:29:23'), + ('system_config', '23343', '234', 1, NULL, '2019-11-14 11:43:57'), + ('system_config', '23343', '234', 1, NULL, '2019-11-14 11:50:18'), + ('system_config', '23343', '234', 1, NULL, '2019-11-14 11:51:13'), + ('system_config', '23343', '234', 1, NULL, '2019-11-14 11:52:03'), + ('system_config', '23343', '234', 1, NULL, '2019-11-14 11:53:02'), + ('system_config', '23343', '234', 1, NULL, '2019-11-14 13:49:11'), + ('system_config', '23343', '234', 1, NULL, '2019-11-14 13:51:05'), + ('system_config', '23343', '234', 1, NULL, '2019-11-14 13:53:53'), + ('system_config', '23343', '234', 1, NULL, '2019-11-14 13:55:57'), + ('system_config', '23343', '234', 1, NULL, '2019-11-14 16:15:44'), + ('system_config', '23343', '234', 1, NULL, '2019-11-14 16:39:36'), + ('system_config', '23343234234', '234', 1, NULL, '2019-11-14 16:41:05'), + ('system_config', '23343234234', '234', 1, NULL, '2019-11-14 16:41:05'), + ('system_config', 'aaaa', '234', 1, NULL, '2019-11-14 16:41:20'), + ('system_config', 'aaaa', '234', 1, NULL, '2019-11-14 16:41:25'), + ('system_config', '111', '234', 1, NULL, '2019-11-14 16:43:20'), + ('system_config', '111', '234', 1, NULL, '2019-11-14 16:44:13'), + ('system_config', 'xxxx', '234', 1, NULL, '2019-11-14 16:46:26'), + ('system_config', 'xxxx', '234', 1, NULL, '2019-11-14 16:46:39'), + ('system_config', 'xxxx', '234', 1, NULL, '2019-11-14 16:48:47'), + ('system_config', 'xxxx', '234', 1, NULL, '2019-11-15 14:39:55'), + ('system_config', 'xxxx', '234', 1, NULL, '2019-11-16 08:47:43'), + ('system_config', 'xxxx', '234', 1, NULL, '2019-11-16 17:12:10'), + ('system_config', 'xxxx', '234', 1, NULL, '2019-11-16 18:02:57'), + ('system_config', 'xxxx', '234', 1, NULL, '2020-12-14 15:09:53'), + ('system_config', 'xxxx', '234', 1, NULL, '2020-12-14 15:13:33'), + ('system_config', 'xxxx', '234', 1, NULL, '2020-12-14 15:14:09'), + ('system_config', 'xxxx', '234', 1, NULL, '2020-12-14 15:16:23'); +/*!40000 ALTER TABLE `t_reload_result` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_role 结构 +DROP TABLE IF EXISTS `t_role`; +CREATE TABLE IF NOT EXISTS `t_role` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `role_name` varchar(20) NOT NULL COMMENT '角色名称', + `remark` varchar(255) DEFAULT NULL COMMENT '角色描述', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8 COMMENT='角色表'; + +-- 正在导出表 smart-admin-dev.t_role 的数据:~14 rows (大约) +DELETE FROM `t_role`; +/*!40000 ALTER TABLE `t_role` DISABLE KEYS */; +INSERT INTO `t_role` (`id`, `role_name`, `remark`, `update_time`, `create_time`) VALUES + (1, '管理员', '', '2019-06-21 12:09:34', '2019-06-21 12:09:34'), + (34, '销售', '', '2019-08-30 09:30:50', '2019-08-30 09:30:50'), + (35, '总经理', '', '2019-08-30 09:31:05', '2019-08-30 09:31:05'), + (36, '董事长', '', '2019-08-30 09:31:11', '2019-08-30 09:31:11'), + (37, '财务', '', '2019-08-30 09:31:16', '2019-08-30 09:31:16'), + (38, '运营', '', '2019-08-30 09:31:22', '2019-08-30 09:31:22'), + (40, '测试角色1', '测试角色1', '2019-09-05 15:05:38', '2019-09-05 15:05:38'), + (41, '测试角色2', '测试角色2', '2019-09-05 15:05:43', '2019-09-05 15:05:43'), + (42, '测试角色3', '测试角色3', '2019-09-05 15:05:49', '2019-09-05 15:05:49'), + (43, '测试角色4', '测试角色4', '2019-09-05 15:05:56', '2019-09-05 15:05:56'), + (45, '测试角色6', '测试角色6', '2019-09-05 15:06:06', '2019-09-05 15:06:06'), + (46, '测试角色7', '测试角色7', '2019-09-05 15:06:18', '2019-09-05 15:06:18'), + (47, '测试角色8', '测试角色8', '2019-09-05 15:06:25', '2019-09-05 15:06:25'), + (48, '测试角色9', '测试角色9', '2019-11-15 17:06:11', '2019-09-05 15:06:30'); +/*!40000 ALTER TABLE `t_role` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_role_data_scope 结构 +DROP TABLE IF EXISTS `t_role_data_scope`; +CREATE TABLE IF NOT EXISTS `t_role_data_scope` ( + `id` int NOT NULL AUTO_INCREMENT, + `data_scope_type` int NOT NULL COMMENT '数据范围id', + `view_type` int NOT NULL COMMENT '数据范围类型', + `role_id` int NOT NULL COMMENT '角色id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- 正在导出表 smart-admin-dev.t_role_data_scope 的数据:~4 rows (大约) +DELETE FROM `t_role_data_scope`; +/*!40000 ALTER TABLE `t_role_data_scope` DISABLE KEYS */; +INSERT INTO `t_role_data_scope` (`id`, `data_scope_type`, `view_type`, `role_id`, `update_time`, `create_time`) VALUES + (5, 0, 2, 9, '2019-04-29 15:01:04', '2019-04-29 15:01:04'), + (14, 0, 2, 40, '2019-09-05 15:25:37', '2019-09-05 15:25:37'), + (15, 0, 0, 1, '2019-09-06 08:35:45', '2019-09-06 08:35:45'), + (16, 0, 3, 34, '2019-11-06 16:08:02', '2019-11-06 16:08:02'); +/*!40000 ALTER TABLE `t_role_data_scope` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_role_employee 结构 +DROP TABLE IF EXISTS `t_role_employee`; +CREATE TABLE IF NOT EXISTS `t_role_employee` ( + `id` int NOT NULL AUTO_INCREMENT, + `role_id` int NOT NULL COMMENT '角色id', + `employee_id` int NOT NULL COMMENT '员工id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=214 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色员工功能表'; + +-- 正在导出表 smart-admin-dev.t_role_employee 的数据:~25 rows (大约) +DELETE FROM `t_role_employee`; +/*!40000 ALTER TABLE `t_role_employee` DISABLE KEYS */; +INSERT INTO `t_role_employee` (`id`, `role_id`, `employee_id`, `update_time`, `create_time`) VALUES + (121, 38, 22, '2019-09-04 09:23:09', '2019-09-04 09:23:09'), + (130, 1, 30, '2019-09-05 15:32:40', '2019-09-05 15:32:40'), + (131, 1, 17, '2019-09-05 15:32:40', '2019-09-05 15:32:40'), + (132, 1, 26, '2019-09-05 15:32:40', '2019-09-05 15:32:40'), + (135, 1, 12, '2019-09-05 15:32:40', '2019-09-05 15:32:40'), + (136, 1, 11, '2019-09-05 15:32:40', '2019-09-05 15:32:40'), + (137, 1, 16, '2019-09-05 15:32:40', '2019-09-05 15:32:40'), + (138, 1, 18, '2019-09-05 15:32:40', '2019-09-05 15:32:40'), + (139, 1, 19, '2019-09-05 15:32:40', '2019-09-05 15:32:40'), + (140, 1, 20, '2019-09-05 15:32:40', '2019-09-05 15:32:40'), + (141, 1, 23, '2019-09-05 15:32:40', '2019-09-05 15:32:40'), + (147, 1, 35, '2019-09-06 09:00:27', '2019-09-06 09:00:27'), + (148, 40, 35, '2019-09-06 09:00:27', '2019-09-06 09:00:27'), + (165, 40, 32, '2019-11-08 10:39:35', '2019-11-08 10:39:35'), + (166, 34, 32, '2019-11-08 10:39:35', '2019-11-08 10:39:35'), + (167, 38, 32, '2019-11-08 10:39:35', '2019-11-08 10:39:35'), + (168, 38, 36, '2019-11-08 10:40:16', '2019-11-08 10:40:16'), + (169, 40, 36, '2019-11-08 10:40:16', '2019-11-08 10:40:16'), + (170, 37, 36, '2019-11-08 10:40:16', '2019-11-08 10:40:16'), + (174, 38, 37, '2019-11-08 11:05:39', '2019-11-08 11:05:39'), + (175, 42, 37, '2019-11-08 11:05:39', '2019-11-08 11:05:39'), + (188, 1, 1, '2019-11-15 16:05:33', '2019-11-15 16:05:33'), + (211, 40, 38, '2019-11-15 16:54:54', '2019-11-15 16:54:54'), + (212, 34, 29, '2019-11-16 18:04:04', '2019-11-16 18:04:04'), + (213, 45, 29, '2019-11-16 18:04:04', '2019-11-16 18:04:04'); +/*!40000 ALTER TABLE `t_role_employee` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_role_privilege 结构 +DROP TABLE IF EXISTS `t_role_privilege`; +CREATE TABLE IF NOT EXISTS `t_role_privilege` ( + `id` int NOT NULL AUTO_INCREMENT, + `role_id` int NOT NULL COMMENT '角色id', + `privilege_key` varchar(1000) NOT NULL COMMENT '权限key', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=10835 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色权限功能表'; + +-- 正在导出表 smart-admin-dev.t_role_privilege 的数据:~322 rows (大约) +DELETE FROM `t_role_privilege`; +/*!40000 ALTER TABLE `t_role_privilege` DISABLE KEYS */; +INSERT INTO `t_role_privilege` (`id`, `role_id`, `privilege_key`, `update_time`, `create_time`) VALUES + (3506, 48, 'search-position', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3507, 48, 'add-position', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3508, 48, 'update-position', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3509, 48, 'delete-position', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3510, 48, 'add-role', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3511, 48, 'delete-role', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3512, 48, 'update-role', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3513, 48, 'update-role-privilege', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3514, 48, 'add-employee-role', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3515, 48, 'delete-employee-role', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3516, 48, 'delete-employee-role-batch', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3517, 48, 'search-employee-list', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3518, 48, 'query-data-scope', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3519, 48, 'update-data-scope', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3520, 48, 'add-department', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3521, 48, 'update-department', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3522, 48, 'delete-department', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3523, 48, 'search-department', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3524, 48, 'add-employee', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3525, 48, 'update-employee', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3526, 48, 'delete-employee', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3527, 48, 'disabled-employee', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3528, 48, 'reset-employee-password', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3529, 48, 'set-employee-role', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3530, 48, 'disabled-employee-batch', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3531, 48, 'update-employee-role', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3533, 48, 'system-params-search', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3534, 48, 'system-params-add', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3535, 48, 'system-config-update', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3536, 48, 'system-config-search', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3537, 48, 'privilegeMainSearch', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3538, 48, 'privilegeMainUpdate', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3539, 48, 'task-search', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3540, 48, 'task-refresh', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3541, 48, 'task-add', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3542, 48, 'task-update', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3543, 48, 'task-pause', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3544, 48, 'task-resume', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3545, 48, 'task-run', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3546, 48, 'task-query-log', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3547, 48, 'task-delete', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3548, 48, 'systemCodeVersionsQuery', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3552, 48, 'roleOneTwo-add', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3555, 48, 'apiDocument', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3557, 48, 'reload', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3559, 48, 'smart-reload-search', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3560, 48, 'smart-reload-update', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3561, 48, 'smart-reload-result', '2019-09-06 15:28:07', '2019-09-06 15:28:07'), + (3575, 45, 'task-search', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3576, 45, 'task-refresh', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3577, 45, 'task-add', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3578, 45, 'task-update', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3579, 45, 'task-pause', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3580, 45, 'task-resume', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3581, 45, 'task-run', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3582, 45, 'task-query-log', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3583, 45, 'task-delete', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3586, 45, 'add-role', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3587, 45, 'delete-role', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3588, 45, 'update-role', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3589, 45, 'update-role-privilege', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3590, 45, 'add-employee-role', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3591, 45, 'delete-employee-role', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3592, 45, 'delete-employee-role-batch', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3593, 45, 'search-employee-list', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3594, 45, 'query-data-scope', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3595, 45, 'update-data-scope', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3597, 45, 'search-position', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3598, 45, 'add-position', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3599, 45, 'update-position', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3600, 45, 'delete-position', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3602, 45, 'add-department', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3603, 45, 'set-employee-role', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3604, 45, 'update-department', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3605, 45, 'delete-department', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3606, 45, 'search-department', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3607, 45, 'add-employee', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3608, 45, 'update-employee', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3609, 45, 'disabled-employee', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3610, 45, 'disabled-employee-batch', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3611, 45, 'update-employee-role', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3612, 45, 'delete-employee', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (3613, 45, 'reset-employee-password', '2019-09-06 15:28:17', '2019-09-06 15:28:17'), + (8112, 41, 'SystemSetting', '2019-11-08 11:21:22', '2019-11-08 11:21:22'), + (8113, 41, 'SystemPrivilege', '2019-11-08 11:21:22', '2019-11-08 11:21:22'), + (8114, 41, 'privilege-main-update', '2019-11-08 11:21:22', '2019-11-08 11:21:22'), + (8115, 41, 'privilege-main-search', '2019-11-08 11:21:22', '2019-11-08 11:21:22'), + (8549, 35, 'SystemSetting', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8550, 35, 'SystemConfig', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8551, 35, 'SystemPrivilege', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8552, 35, 'Notice', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8553, 35, 'NoticeList', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8554, 35, 'PersonNotice', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8555, 35, 'Email', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8556, 35, 'EmailList', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8557, 35, 'UserLog', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8558, 35, 'UserOperateLog', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8559, 35, 'UserLoginLog', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8560, 35, 'system-config-search', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8561, 35, 'privilege-main-update', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8562, 35, 'privilege-main-search', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8563, 35, 'notice-query', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8564, 35, 'notice-add', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8565, 35, 'notice-edit', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8566, 35, 'notice-delete', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8567, 35, 'person-notice-query', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8568, 35, 'person-notice-detail', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8569, 35, 'email-query', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8570, 35, 'email-add', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8571, 35, 'email-update', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8572, 35, 'user-operate-log-search', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8573, 35, 'user-login-log-search', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (8574, 35, 'system-config-update', '2019-11-15 15:47:52', '2019-11-15 15:47:52'), + (9005, 37, 'SystemSetting', '2019-11-15 16:33:09', '2019-11-15 16:33:09'), + (9006, 37, 'SystemConfig', '2019-11-15 16:33:09', '2019-11-15 16:33:09'), + (9007, 37, 'system-params-search', '2019-11-15 16:33:09', '2019-11-15 16:33:09'), + (9008, 37, 'system-params-add', '2019-11-15 16:33:09', '2019-11-15 16:33:09'), + (9009, 37, 'system-config-update', '2019-11-15 16:33:09', '2019-11-15 16:33:09'), + (9368, 34, 'SystemSetting', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9369, 34, 'SystemConfig', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9370, 34, 'SystemPrivilege', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9371, 34, 'system-params-search', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9372, 34, 'system-params-add', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9373, 34, 'privilege-main-search', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9374, 34, 'Task', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9375, 34, 'TaskList', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9376, 34, 'task-search', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9377, 34, 'task-refresh', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9378, 34, 'task-add', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9379, 34, 'task-update', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9380, 34, 'task-pause', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9381, 34, 'task-resume', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9382, 34, 'task-run', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9383, 34, 'task-query-log', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9384, 34, 'task-delete', '2019-11-15 16:45:39', '2019-11-15 16:45:39'), + (9536, 42, 'Task', '2019-11-15 16:50:40', '2019-11-15 16:50:40'), + (9537, 42, 'TaskList', '2019-11-15 16:50:40', '2019-11-15 16:50:40'), + (9538, 42, 'task-search', '2019-11-15 16:50:40', '2019-11-15 16:50:40'), + (9539, 42, 'task-add', '2019-11-15 16:50:40', '2019-11-15 16:50:40'), + (9540, 42, 'task-update', '2019-11-15 16:50:40', '2019-11-15 16:50:40'), + (9541, 42, 'task-query-log', '2019-11-15 16:50:40', '2019-11-15 16:50:40'), + (9674, 38, 'Employee', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9675, 38, 'PositionList', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9676, 38, 'SystemSetting', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9677, 38, 'SystemConfig', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9678, 38, 'Notice', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9679, 38, 'PersonNotice', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9680, 38, 'Email', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9681, 38, 'EmailList', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9682, 38, 'SendMail', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9683, 38, 'Monitor', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9684, 38, 'OnlineUser', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9685, 38, 'Task', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9686, 38, 'TaskList', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9687, 38, 'KeepAlive', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9688, 38, 'KeepAliveContentList', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9689, 38, 'HeartBeat', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9690, 38, 'HeartBeatList', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9691, 38, 'File', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9692, 38, 'FileList', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9693, 38, 'search-position', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9694, 38, 'system-params-search', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9695, 38, 'system-config-update', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9696, 38, 'system-config-search', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9697, 38, 'person-notice-query', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9698, 38, 'person-notice-detail', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9699, 38, 'email-query', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9700, 38, 'email-send', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9701, 38, 'online-user-search', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9702, 38, 'task-search', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9703, 38, 'heart-beat-query', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9704, 38, 'file-filePage-query', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9705, 38, 'file-filePage-upload', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (9706, 38, 'task-refresh', '2019-11-15 16:53:47', '2019-11-15 16:53:47'), + (10585, 40, 'Employee', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10586, 40, 'RoleManage', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10587, 40, 'PositionList', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10588, 40, 'RoleEmployeeManage', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10589, 40, 'SystemSetting', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10590, 40, 'SystemConfig', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10591, 40, 'SystemPrivilege', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10592, 40, 'Notice', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10593, 40, 'NoticeList', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10594, 40, 'PersonNotice', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10595, 40, 'Email', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10596, 40, 'SendMail', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10597, 40, 'Task', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10598, 40, 'TaskList', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10599, 40, 'add-role', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10600, 40, 'delete-role', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10601, 40, 'update-role', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10602, 40, 'update-role-privilege', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10603, 40, 'add-employee-role', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10604, 40, 'search-employee-list', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10605, 40, 'delete-employee-role', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10606, 40, 'delete-employee-role-batch', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10607, 40, 'query-data-scope', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10608, 40, 'update-data-scope', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10609, 40, 'search-position', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10610, 40, 'add-position', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10611, 40, 'update-position', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10612, 40, 'search-department', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10613, 40, 'system-params-add', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10614, 40, 'system-config-search', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10615, 40, 'privilege-main-search', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10616, 40, 'notice-query', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10617, 40, 'notice-add', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10618, 40, 'notice-edit', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10619, 40, 'notice-delete', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10620, 40, 'notice-detail', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10621, 40, 'notice-send', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10622, 40, 'person-notice-query', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10623, 40, 'email-send', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10624, 40, 'task-search', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10625, 40, 'task-refresh', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10626, 40, 'task-add', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10627, 40, 'task-update', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10628, 40, 'task-query-log', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10629, 40, 'task-delete', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10630, 40, 'delete-department', '2019-11-15 17:19:42', '2019-11-15 17:19:42'), + (10733, 1, 'Employee', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10734, 1, 'RoleManage', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10735, 1, 'PositionList', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10736, 1, 'RoleEmployeeManage', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10737, 1, 'SystemSetting', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10738, 1, 'SystemConfig', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10739, 1, 'SystemPrivilege', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10740, 1, 'Notice', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10741, 1, 'NoticeList', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10742, 1, 'PersonNotice', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10743, 1, 'Email', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10744, 1, 'EmailList', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10745, 1, 'SendMail', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10746, 1, 'UserLog', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10747, 1, 'UserOperateLog', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10748, 1, 'UserLoginLog', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10749, 1, 'Monitor', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10750, 1, 'OnlineUser', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10751, 1, 'Sql', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10752, 1, 'Task', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10753, 1, 'TaskList', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10754, 1, 'Reload', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10755, 1, 'SmartReloadList', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10756, 1, 'ApiDoc', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10757, 1, 'Swagger', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10758, 1, 'ThreeRouter', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10759, 1, 'LevelTwo', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10761, 1, 'RoleTwoTwo', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10762, 1, 'RoleOneOne', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10763, 1, 'KeepAlive', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10764, 1, 'KeepAliveContentList', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10765, 1, 'KeepAliveAddContent', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10766, 1, 'HeartBeat', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10767, 1, 'HeartBeatList', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10768, 1, 'File', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10769, 1, 'FileList', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10770, 1, 'add-role', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10771, 1, 'delete-role', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10772, 1, 'update-role', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10773, 1, 'update-role-privilege', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10774, 1, 'add-employee-role', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10775, 1, 'search-employee-list', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10776, 1, 'delete-employee-role', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10777, 1, 'delete-employee-role-batch', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10778, 1, 'query-data-scope', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10779, 1, 'update-data-scope', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10780, 1, 'search-position', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10781, 1, 'add-position', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10782, 1, 'update-position', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10783, 1, 'delete-position', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10784, 1, 'add-department', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10785, 1, 'update-department', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10786, 1, 'delete-department', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10787, 1, 'search-department', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10788, 1, 'add-employee', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10789, 1, 'update-employee', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10790, 1, 'disabled-employee', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10791, 1, 'disabled-employee-batch', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10792, 1, 'update-employee-role', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10793, 1, 'reset-employee-password', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10794, 1, 'delete-employee', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10795, 1, 'system-params-search', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10796, 1, 'system-params-add', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10797, 1, 'system-config-update', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10798, 1, 'system-config-search', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10799, 1, 'privilege-main-update', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10800, 1, 'privilege-main-search', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10801, 1, 'notice-query', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10802, 1, 'notice-add', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10803, 1, 'notice-edit', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10804, 1, 'notice-delete', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10805, 1, 'notice-detail', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10806, 1, 'notice-send', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10807, 1, 'person-notice-query', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10808, 1, 'person-notice-detail', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10809, 1, 'email-query', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10810, 1, 'email-add', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10811, 1, 'email-update', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10812, 1, 'email-delete', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10813, 1, 'email-send', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10814, 1, 'user-operate-log-search', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10815, 1, 'user-operate-log-detail', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10816, 1, 'user-operate-log-delete', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10817, 1, 'user-login-log-search', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10818, 1, 'user-login-log-delete', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10819, 1, 'online-user-search', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10820, 1, 'task-search', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10821, 1, 'task-refresh', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10822, 1, 'task-add', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10823, 1, 'task-update', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10824, 1, 'task-pause', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10825, 1, 'task-resume', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10826, 1, 'task-run', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10827, 1, 'task-query-log', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10828, 1, 'task-delete', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10829, 1, 'smart-reload-search', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10830, 1, 'smart-reload-update', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10831, 1, 'smart-reload-result', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10832, 1, 'heart-beat-query', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10833, 1, 'file-filePage-query', '2019-11-16 18:04:10', '2019-11-16 18:04:10'), + (10834, 1, 'file-filePage-upload', '2019-11-16 18:04:10', '2019-11-16 18:04:10'); +/*!40000 ALTER TABLE `t_role_privilege` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_system_config 结构 +DROP TABLE IF EXISTS `t_system_config`; +CREATE TABLE IF NOT EXISTS `t_system_config` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `config_name` varchar(255) NOT NULL COMMENT '参数名字', + `config_key` varchar(255) NOT NULL COMMENT '参数key', + `config_value` text NOT NULL, + `config_group` varchar(255) NOT NULL COMMENT '参数类别', + `is_using` int NOT NULL COMMENT '是否使用0 否 1 是', + `remark` varchar(255) DEFAULT NULL, + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '上次修改时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; + +-- 正在导出表 smart-admin-dev.t_system_config 的数据:~8 rows (大约) +DELETE FROM `t_system_config`; +/*!40000 ALTER TABLE `t_system_config` DISABLE KEYS */; +INSERT INTO `t_system_config` (`id`, `config_name`, `config_key`, `config_value`, `config_group`, `is_using`, `remark`, `update_time`, `create_time`) VALUES + (1, '超级管理员', 'employee_superman', '12,13,1', 'employee', 1, '123r8566456', '2019-11-14 16:40:48', '2018-08-18 16:28:03'), + (13, '本地上传URL前缀', 'local_upload_url_prefix', 'http://172.16.0.145/smartAdmin/file/', 'upload', 1, '', '2019-09-04 16:23:49', '2019-04-26 17:06:53'), + (14, '阿里云上传配置', 'ali_oss', '{"accessKeyId":"","accessKeySecret":"","bucketName":"sit","endpoint":"http://oss-cn-beijing.aliyuncs.com"}', 'upload', 1, 'eefwfwfds', '2019-11-16 18:04:30', '2019-05-11 18:00:06'), + (15, '邮件发配置', 'email_config', '{"password":"smartadmin","smtpHost":"smtp.163.com","username":"smartadmin1024@163.com"}', 'email', 1, NULL, '2019-09-04 16:42:17', '2019-05-13 16:57:48'), + (16, '七牛云上传配置', 'qi_niu_oss', '{"accessKeyId":"rX7HgY1ZLpUD25JrA-uwMM_jj-","accessKeySecret":"","bucketName":"sun-smart-admin","endpoint":"http://puvpyay08.bkt.clouddn.com"}', 'upload', 1, NULL, '2019-11-16 18:04:42', '2019-07-19 16:05:56'), + (17, 'test', 'ww_1', 'ewr', '3', 1, 'testoo', '2019-11-08 09:43:36', '2019-11-08 09:27:19'), + (18, '4234', '42342', '423423', '23423', 1, '423423111111111111111111111111111111111111423423111111111111111111111111111111111111423423111111111111111111111111111111111111423423111111111111111111111111111111111111423423111111111111111111111111111111111111', '2019-11-14 14:58:39', '2019-11-14 11:22:49'), + (19, 'test323@', 'test', '123456', '11_', 1, 'gggggg', '2019-11-15 16:24:52', '2019-11-15 16:24:52'); +/*!40000 ALTER TABLE `t_system_config` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_user_login_log 结构 +DROP TABLE IF EXISTS `t_user_login_log`; +CREATE TABLE IF NOT EXISTS `t_user_login_log` ( + `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` int NOT NULL COMMENT '员工id', + `user_name` varchar(50) NOT NULL COMMENT '用户名', + `remote_ip` varchar(50) DEFAULT NULL COMMENT '用户ip', + `remote_port` int DEFAULT NULL COMMENT '用户端口', + `remote_browser` varchar(100) DEFAULT NULL COMMENT '浏览器', + `remote_os` varchar(50) DEFAULT NULL COMMENT '操作系统', + `login_status` tinyint NOT NULL COMMENT '登录状态 0 失败 1成功', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`), + KEY `customer_id` (`user_id`) USING BTREE, + KEY `auditor_id` (`remote_browser`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=1743 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户登录日志'; + +-- 正在导出表 smart-admin-dev.t_user_login_log 的数据:~122 rows (大约) +DELETE FROM `t_user_login_log`; +/*!40000 ALTER TABLE `t_user_login_log` DISABLE KEYS */; +INSERT INTO `t_user_login_log` (`id`, `user_id`, `user_name`, `remote_ip`, `remote_port`, `remote_browser`, `remote_os`, `login_status`, `update_time`, `create_time`) VALUES + (1501, 30, '耿为刚', '172.16.1.234', 61406, 'Chrome', 'Windows 10', 1, '2019-09-06 14:19:47', '2019-09-06 14:19:47'), + (1502, 30, '耿为刚', '172.16.1.234', 61405, 'Chrome', 'Windows 10', 1, '2019-09-06 14:20:46', '2019-09-06 14:20:46'), + (1503, 30, '耿为刚', '172.16.1.234', 62213, 'Chrome', 'Windows 10', 1, '2019-09-06 14:28:50', '2019-09-06 14:28:50'), + (1505, 30, '耿为刚', '172.16.1.234', 62478, 'Chrome', 'Windows 10', 1, '2019-09-06 14:32:57', '2019-09-06 14:32:57'), + (1506, 1, '管理员', '127.0.0.1', 55613, 'Chrome', 'Windows 10', 1, '2019-09-06 14:35:48', '2019-09-06 14:35:48'), + (1507, 1, '管理员', '172.16.1.234', 63132, 'Chrome', 'Windows 10', 1, '2019-09-06 14:38:43', '2019-09-06 14:38:43'), + (1508, 30, '耿为刚', '172.16.1.234', 63132, 'Chrome', 'Windows 10', 1, '2019-09-06 14:41:36', '2019-09-06 14:41:36'), + (1509, 1, '管理员', '172.16.1.234', 63332, 'Chrome', 'Windows 10', 1, '2019-09-06 14:42:37', '2019-09-06 14:42:37'), + (1511, 1, '管理员', '172.16.1.166', 29923, 'Chrome', 'Windows 10', 1, '2019-09-06 15:09:22', '2019-09-06 15:09:22'), + (1512, 1, '管理员', '172.16.1.113', 58150, 'Chrome', 'Windows 7', 1, '2019-09-06 15:23:31', '2019-09-06 15:23:31'), + (1513, 1, '管理员', '172.16.1.166', 31226, 'Chrome', 'Windows 10', 1, '2019-09-06 15:24:51', '2019-09-06 15:24:51'), + (1514, 1, '管理员', '172.16.1.113', 58300, 'Chrome', 'Windows 7', 1, '2019-09-06 15:25:04', '2019-09-06 15:25:04'), + (1515, 1, '管理员', '172.16.1.113', 58300, 'Chrome', 'Windows 7', 1, '2019-09-06 15:25:26', '2019-09-06 15:25:26'), + (1516, 1, '管理员', '172.16.1.166', 31243, 'Chrome', 'Windows 10', 1, '2019-09-06 15:25:29', '2019-09-06 15:25:29'), + (1517, 1, '管理员', '172.16.1.221', 61458, 'Chrome', 'Windows 10', 1, '2019-09-06 15:27:07', '2019-09-06 15:27:07'), + (1518, 1, '管理员', '172.16.1.166', 31243, 'Chrome', 'Windows 10', 1, '2019-09-06 15:27:09', '2019-09-06 15:27:09'), + (1519, 1, '管理员', '172.16.1.113', 58300, 'Chrome', 'Windows 7', 1, '2019-09-06 15:27:10', '2019-09-06 15:27:10'), + (1520, 1, '管理员', '172.16.1.166', 31551, 'Chrome', 'Windows 10', 1, '2019-09-06 15:30:01', '2019-09-06 15:30:01'), + (1521, 1, '管理员', '172.16.4.160', 50527, 'Chrome', 'Windows 10', 1, '2019-09-06 15:50:20', '2019-09-06 15:50:20'), + (1522, 1, '管理员', '172.16.1.166', 36381, 'Chrome', 'Windows 10', 1, '2019-09-06 16:20:46', '2019-09-06 16:20:46'), + (1523, 1, '管理员', '172.16.1.166', 40039, 'Chrome', 'Windows 10', 1, '2019-09-06 17:02:33', '2019-09-06 17:02:33'), + (1524, 1, '管理员', '172.16.1.166', 41014, 'Chrome', 'Windows 10', 1, '2019-09-06 17:16:09', '2019-09-06 17:16:09'), + (1525, 1, '管理员', '172.16.1.188', 56577, 'Chrome', 'Windows 7', 1, '2019-09-07 08:36:31', '2019-09-07 08:36:31'), + (1526, 1, '管理员', '172.16.1.48', 60852, 'Chrome', 'Windows 10', 1, '2019-09-07 08:45:02', '2019-09-07 08:45:02'), + (1527, 1, '管理员', '172.16.4.85', 4818, 'Chrome', 'Windows 10', 1, '2019-09-07 09:04:44', '2019-09-07 09:04:44'), + (1528, 1, '管理员', '172.16.4.85', 5230, 'Chrome', 'Windows 10', 1, '2019-09-07 09:25:41', '2019-09-07 09:25:41'), + (1529, 1, '管理员', '172.16.1.166', 10251, 'Chrome', 'Windows 10', 1, '2019-09-07 10:15:20', '2019-09-07 10:15:20'), + (1530, 1, '管理员', '172.16.1.48', 63877, 'Chrome', 'Windows 10', 1, '2019-09-07 11:26:19', '2019-09-07 11:26:19'), + (1531, 1, '管理员', '172.16.1.166', 26667, 'Chrome', 'Windows 10', 1, '2019-09-07 14:08:15', '2019-09-07 14:08:15'), + (1532, 1, '管理员', '172.16.4.85', 10604, 'Chrome', 'Windows 10', 1, '2019-09-07 14:08:33', '2019-09-07 14:08:33'), + (1533, 1, '管理员', '172.16.4.85', 10604, 'Chrome', 'Windows 10', 1, '2019-09-07 14:08:50', '2019-09-07 14:08:50'), + (1534, 1, '管理员', '172.16.1.166', 26812, 'Chrome', 'Windows 10', 1, '2019-09-07 14:14:09', '2019-09-07 14:14:09'), + (1535, 1, '管理员', '172.16.1.188', 52924, 'Chrome', 'Windows 7', 1, '2019-09-07 14:37:16', '2019-09-07 14:37:16'), + (1536, 1, '管理员', '172.16.1.188', 56721, 'Chrome', 'Windows 7', 1, '2019-09-07 14:49:37', '2019-09-07 14:49:37'), + (1537, 1, '管理员', '172.16.1.188', 52839, 'Chrome', 'Windows 7', 1, '2019-09-07 15:33:04', '2019-09-07 15:33:04'), + (1538, 1, '管理员', '172.16.1.166', 32489, 'Chrome', 'Windows 10', 1, '2019-09-07 15:48:02', '2019-09-07 15:48:02'), + (1539, 1, '管理员', '172.16.1.166', 32847, 'Chrome', 'Windows 10', 1, '2019-09-07 15:52:25', '2019-09-07 15:52:25'), + (1540, 1, '管理员', '172.16.1.166', 33456, 'Chrome', 'Windows 10', 1, '2019-09-07 16:00:01', '2019-09-07 16:00:01'), + (1541, 1, '管理员', '172.16.1.188', 61015, 'Chrome', 'Windows 7', 1, '2019-09-07 17:05:49', '2019-09-07 17:05:49'), + (1542, 1, '管理员', '127.0.0.1', 51566, 'Chrome', 'Windows 7', 1, '2019-09-07 17:31:20', '2019-09-07 17:31:20'), + (1543, 1, '管理员', '127.0.0.1', 54228, 'Chrome', 'Windows 7', 1, '2019-09-07 17:41:12', '2019-09-07 17:41:12'), + (1544, 1, '管理员', '127.0.0.1', 54957, 'Chrome', 'Windows 7', 1, '2019-09-07 17:43:21', '2019-09-07 17:43:21'), + (1545, 1, '管理员', '172.16.4.85', 2336, 'Chrome', 'Windows 10', 1, '2019-09-07 18:25:51', '2019-09-07 18:25:51'), + (1546, 1, '管理员', '127.0.0.1', 52161, 'Chrome', 'Windows 7', 1, '2019-09-09 08:30:47', '2019-09-09 08:30:47'), + (1547, 1, '管理员', '172.16.4.85', 5903, 'Chrome', 'Windows 10', 1, '2019-09-09 08:47:47', '2019-09-09 08:47:47'), + (1548, 1, '管理员', '172.16.1.243', 55673, 'Chrome', 'Windows 10', 1, '2019-09-09 11:25:02', '2019-09-09 11:25:02'), + (1549, 1, '管理员', '172.16.4.85', 4672, 'Chrome', 'Windows 10', 1, '2019-09-09 11:25:34', '2019-09-09 11:25:34'), + (1550, 1, '管理员', '172.16.1.188', 61186, 'Chrome', 'Windows 7', 1, '2019-09-09 11:39:24', '2019-09-09 11:39:24'), + (1551, 1, '管理员', '172.16.4.85', 3032, 'Chrome', 'Windows 10', 1, '2019-09-09 14:17:53', '2019-09-09 14:17:53'), + (1552, 1, '管理员', '172.16.4.85', 5829, 'Chrome', 'Windows 10', 1, '2019-09-09 14:54:27', '2019-09-09 14:54:27'), + (1553, 1, '管理员', '172.16.1.166', 23398, 'Chrome', 'Windows 10', 1, '2019-09-09 15:06:50', '2019-09-09 15:06:50'), + (1554, 1, '管理员', '172.16.5.60', 61094, 'Chrome', 'Windows 10', 1, '2019-09-09 15:20:50', '2019-09-09 15:20:50'), + (1555, 1, '管理员', '172.16.4.85', 10566, 'Chrome', 'Windows 10', 1, '2019-09-09 15:51:22', '2019-09-09 15:51:22'), + (1556, 1, '管理员', '172.16.1.166', 32190, 'Chrome', 'Windows 10', 1, '2019-09-09 17:00:59', '2019-09-09 17:00:59'), + (1557, 1, '管理员', '172.16.5.60', 54502, 'Chrome', 'Windows 10', 1, '2019-09-10 09:10:48', '2019-09-10 09:10:48'), + (1558, 1, '管理员', '172.16.4.85', 10659, 'Chrome', 'Windows 10', 1, '2019-09-10 09:21:48', '2019-09-10 09:21:48'), + (1559, 1, '管理员', '172.16.4.85', 3363, 'Chrome', 'Windows 10', 1, '2019-09-10 10:56:23', '2019-09-10 10:56:23'), + (1560, 1, '管理员', '172.16.4.85', 4460, 'Chrome', 'Windows 10', 1, '2019-09-10 14:23:44', '2019-09-10 14:23:44'), + (1561, 1, '管理员', '172.16.4.85', 7344, 'Chrome', 'Windows 10', 1, '2019-09-10 14:59:52', '2019-09-10 14:59:52'), + (1562, 1, '管理员', '172.16.5.89', 49996, 'Chrome', 'Windows 10', 1, '2019-09-10 18:08:04', '2019-09-10 18:08:04'), + (1563, 1, '管理员', '172.16.1.38', 50152, 'Chrome', 'Windows 10', 1, '2019-09-11 10:19:27', '2019-09-11 10:19:27'), + (1564, 1, '管理员', '172.16.1.38', 50173, 'Chrome', 'Windows 10', 1, '2019-09-11 10:20:38', '2019-09-11 10:20:38'), + (1565, 1, '管理员', '172.16.4.141', 60881, 'Chrome', 'Windows 10', 1, '2019-09-11 14:52:02', '2019-09-11 14:52:02'), + (1566, 1, '管理员', '172.16.4.93', 52688, 'Chrome', 'Windows 10', 1, '2019-09-11 15:15:14', '2019-09-11 15:15:14'), + (1567, 1, '管理员', '172.16.5.127', 54993, 'Chrome', 'Windows 10', 1, '2019-09-12 14:29:58', '2019-09-12 14:29:58'), + (1568, 1, '管理员', '172.16.5.127', 57424, 'Chrome', 'Windows 10', 1, '2019-09-12 15:26:46', '2019-09-12 15:26:46'), + (1569, 1, '管理员', '172.16.5.127', 58073, 'Chrome', 'Windows 10', 1, '2019-09-12 15:41:54', '2019-09-12 15:41:54'), + (1570, 1, '管理员', '172.16.5.146', 63230, 'Chrome', 'Windows 10', 1, '2019-09-16 10:17:15', '2019-09-16 10:17:15'), + (1571, 1, '管理员', '172.16.5.146', 52857, 'Chrome', 'Windows 10', 1, '2019-09-16 11:17:18', '2019-09-16 11:17:18'), + (1572, 1, '管理员', '172.16.1.190', 64527, 'Chrome', 'Windows 10', 1, '2019-09-19 14:06:45', '2019-09-19 14:06:45'), + (1573, 1, '管理员', '127.0.0.1', 53267, 'Chrome', 'Windows 7', 1, '2019-09-20 17:24:33', '2019-09-20 17:24:33'), + (1574, 1, '管理员', '127.0.0.1', 53267, 'Chrome', 'Windows 7', 1, '2019-09-20 17:24:43', '2019-09-20 17:24:43'), + (1575, 1, '管理员', '127.0.0.1', 53267, 'Chrome', 'Windows 7', 1, '2019-09-20 17:24:59', '2019-09-20 17:24:59'), + (1576, 1, '管理员', '127.0.0.1', 53267, 'Chrome', 'Windows 7', 1, '2019-09-20 17:26:05', '2019-09-20 17:26:05'), + (1577, 1, '管理员', '127.0.0.1', 60612, 'Chrome', 'Windows 7', 1, '2019-09-20 17:56:06', '2019-09-20 17:56:06'), + (1578, 1, '管理员', '172.16.1.202', 58066, 'Chrome', 'Windows 7', 1, '2019-09-22 18:25:03', '2019-09-22 18:25:03'), + (1579, 1, '管理员', '172.16.1.48', 52290, 'Chrome', 'Windows 10', 1, '2019-09-23 16:01:16', '2019-09-23 16:01:16'), + (1580, 1, '管理员', '172.16.4.141', 60997, 'Chrome', 'Windows 10', 1, '2019-09-23 17:16:55', '2019-09-23 17:16:55'), + (1581, 1, '管理员', '172.16.5.146', 53246, 'Chrome', 'Windows 10', 1, '2019-09-23 17:54:14', '2019-09-23 17:54:14'), + (1582, 1, '管理员', '127.0.0.1', 51987, 'Chrome', 'Windows 7', 1, '2019-09-24 09:16:37', '2019-09-24 09:16:37'), + (1583, 1, '管理员', '172.16.1.202', 55724, 'Chrome', 'Windows 7', 1, '2019-09-24 12:57:39', '2019-09-24 12:57:39'), + (1584, 1, '管理员', '172.16.1.166', 51876, 'Chrome', 'Windows 10', 1, '2019-09-24 16:24:37', '2019-09-24 16:24:37'), + (1585, 1, '管理员', '172.16.1.202', 51648, 'Chrome', 'Windows 7', 1, '2019-09-24 19:26:39', '2019-09-24 19:26:39'), + (1586, 1, '管理员', '172.16.1.234', 60984, 'Chrome', 'Windows 10', 1, '2019-09-26 10:52:07', '2019-09-26 10:52:07'), + (1587, 1, '管理员', '172.16.1.234', 63440, 'Chrome', 'Windows 10', 1, '2019-09-26 11:30:54', '2019-09-26 11:30:54'), + (1588, 1, '管理员', '172.16.1.202', 51956, 'Chrome', 'Windows 7', 1, '2019-09-27 20:55:08', '2019-09-27 20:55:08'), + (1589, 1, '管理员', '172.16.1.48', 56166, 'Chrome', 'Windows 10', 1, '2019-09-30 08:59:13', '2019-09-30 08:59:13'), + (1590, 1, '管理员', '172.16.1.202', 51448, 'Chrome', 'Windows 7', 1, '2019-09-30 09:00:13', '2019-09-30 09:00:13'), + (1591, 1, '管理员', '172.16.1.188', 62679, 'Chrome', 'Windows 7', 1, '2019-10-15 11:25:26', '2019-10-15 11:25:26'), + (1592, 1, '管理员', '172.16.1.234', 54034, 'Chrome', 'Windows 10', 1, '2019-10-18 10:47:14', '2019-10-18 10:47:14'), + (1593, 1, '管理员', '172.16.1.234', 64515, 'Chrome', 'Windows 10', 1, '2019-10-18 13:32:10', '2019-10-18 13:32:10'), + (1594, 1, '管理员', '172.16.1.234', 50211, 'Chrome', 'Windows 10', 1, '2019-10-18 13:56:19', '2019-10-18 13:56:19'), + (1595, 1, '管理员', '172.16.1.234', 55469, 'Chrome', 'Windows 10', 1, '2019-10-18 14:56:24', '2019-10-18 14:56:24'), + (1596, 1, '管理员', '172.16.1.234', 56392, 'Chrome', 'Windows 10', 1, '2019-10-18 15:08:25', '2019-10-18 15:08:25'), + (1597, 1, '管理员', '172.16.1.234', 60896, 'Chrome', 'Windows 10', 1, '2019-10-18 16:14:15', '2019-10-18 16:14:15'), + (1598, 1, '管理员', '172.16.1.234', 50590, 'Chrome', 'Windows 10', 1, '2019-10-19 08:38:54', '2019-10-19 08:38:54'), + (1599, 1, '管理员', '172.16.1.166', 4879, 'Chrome', 'Windows 10', 1, '2019-10-19 09:19:08', '2019-10-19 09:19:08'), + (1600, 1, '管理员', '172.16.1.188', 62895, 'Chrome', 'Windows 7', 1, '2019-10-19 13:49:29', '2019-10-19 13:49:29'), + (1601, 1, '管理员', '172.16.1.234', 58144, 'Chrome', 'Windows 10', 1, '2019-10-19 14:55:50', '2019-10-19 14:55:50'), + (1602, 1, '管理员', '127.0.0.1', 61033, 'Chrome', 'Windows 7', 1, '2019-10-19 15:19:38', '2019-10-19 15:19:38'), + (1603, 1, '管理员', '172.16.1.188', 58944, 'Chrome', 'Windows 7', 1, '2019-10-19 16:48:49', '2019-10-19 16:48:49'), + (1604, 1, '管理员', '172.16.1.188', 63950, 'Chrome', 'Windows 7', 1, '2019-10-21 08:10:38', '2019-10-21 08:10:38'), + (1605, 1, '管理员', '172.16.1.188', 64899, 'Chrome', 'Windows 7', 1, '2019-10-21 08:17:40', '2019-10-21 08:17:40'), + (1606, 1, '管理员', '172.16.1.221', 53180, 'Chrome', 'Windows 10', 1, '2019-10-21 15:52:36', '2019-10-21 15:52:36'), + (1607, 1, '管理员', '172.16.1.221', 56067, 'Chrome', 'Windows 10', 1, '2019-10-23 10:19:39', '2019-10-23 10:19:39'), + (1608, 1, '管理员', '172.16.1.221', 57692, 'Chrome', 'Windows 10', 1, '2019-10-23 16:36:39', '2019-10-23 16:36:39'), + (1609, 1, '管理员', '172.16.1.188', 57180, 'Chrome', 'Windows 7', 1, '2019-10-24 08:26:21', '2019-10-24 08:26:21'), + (1610, 1, '管理员', '172.16.0.196', 61409, 'Chrome', 'Windows 10', 1, '2019-10-24 08:26:55', '2019-10-24 08:26:55'), + (1611, 1, '管理员', '172.16.1.234', 51906, 'Chrome', 'Windows 10', 1, '2019-10-24 15:56:50', '2019-10-24 15:56:50'), + (1612, 1, '管理员', '172.16.1.234', 56793, 'Chrome', 'Windows 10', 1, '2019-10-24 17:04:54', '2019-10-24 17:04:54'), + (1613, 30, '耿为刚', '172.16.1.234', 60368, 'Chrome', 'Windows 10', 1, '2019-10-24 17:51:13', '2019-10-24 17:51:13'), + (1614, 1, '管理员', '172.16.1.234', 60368, 'Chrome', 'Windows 10', 1, '2019-10-24 17:51:56', '2019-10-24 17:51:56'), + (1615, 30, '耿为刚', '172.16.1.234', 60589, 'Chrome 65', 'Windows 10', 1, '2019-10-24 17:52:52', '2019-10-24 17:52:52'), + (1616, 1, '管理员', '172.16.1.234', 52998, 'Chrome', 'Windows 10', 1, '2019-10-25 09:28:13', '2019-10-25 09:28:13'), + (1617, 1, '管理员', '172.16.1.234', 54948, 'Chrome', 'Windows 10', 1, '2019-10-25 10:01:34', '2019-10-25 10:01:34'), + (1618, 1, '管理员', '172.16.1.234', 56800, 'Chrome', 'Windows 10', 1, '2019-10-25 10:32:53', '2019-10-25 10:32:53'), + (1619, 1, '管理员', '127.0.0.1', 59071, 'Chrome', 'Windows 7', 1, '2019-10-28 16:05:21', '2019-10-28 16:05:21'), + (1620, 1, '管理员', '127.0.0.1', 60106, 'Chrome', 'Windows 7', 1, '2019-10-28 16:11:29', '2019-10-28 16:11:29'), + (1621, 1, '管理员', '127.0.0.1', 63479, 'Chrome', 'Windows 7', 1, '2019-10-28 16:28:59', '2019-10-28 16:28:59'), + (1622, 1, '管理员', '127.0.0.1', 63479, 'Chrome', 'Windows 7', 1, '2019-10-28 16:29:55', '2019-10-28 16:29:55'), + (1623, 1, '管理员', '127.0.0.1', 57588, 'Chrome', 'Windows 7', 1, '2019-10-29 15:37:03', '2019-10-29 15:37:03'), + (1741, 1, '管理员', '127.0.0.1', 54621, 'Chrome', 'Windows 7', 1, '2019-11-16 18:03:45', '2019-11-16 18:03:45'), + (1742, 1, '管理员', '127.0.0.1', 60932, 'Chrome 8', 'Windows 10', 1, '2020-12-14 15:14:55', '2020-12-14 15:14:55'); +/*!40000 ALTER TABLE `t_user_login_log` ENABLE KEYS */; + +-- 导出 表 smart-admin-dev.t_user_operate_log 结构 +DROP TABLE IF EXISTS `t_user_operate_log`; +CREATE TABLE IF NOT EXISTS `t_user_operate_log` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', + `user_id` int NOT NULL COMMENT '用户id', + `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名称', + `module` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '操作模块', + `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '操作内容', + `url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '请求路径', + `method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '请求方法', + `param` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '请求参数', + `result` tinyint DEFAULT NULL COMMENT '请求结果 0失败 1成功', + `fail_reason` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '失败原因', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=75 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- 正在导出表 smart-admin-dev.t_user_operate_log 的数据:~32 rows (大约) +DELETE FROM `t_user_operate_log`; +/*!40000 ALTER TABLE `t_user_operate_log` DISABLE KEYS */; +INSERT INTO `t_user_operate_log` (`id`, `user_id`, `user_name`, `module`, `content`, `url`, `method`, `param`, `result`, `fail_reason`, `update_time`, `create_time`) VALUES + (1, 1, '管理员', '管理端-角色权限', '获取角色可选的功能权限', '/smart-admin-api/privilege/listPrivilegeByRoleId/0', 'com.gangquan360.smartadmin.module.role.roleprivilege.RolePrivilegeController.listPrivilegeByRoleId', 'Long[0]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (2, 1, '管理员', '管理端-角色', '获取所有角色', '/smart-admin-api/role/getAll', 'com.gangquan360.smartadmin.module.role.basic.RoleController.getAllRole', '', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (3, 1, '管理员', '管理端-角色权限', '获取角色可选的功能权限', '/smart-admin-api/privilege/listPrivilegeByRoleId/1', 'com.gangquan360.smartadmin.module.role.roleprivilege.RolePrivilegeController.listPrivilegeByRoleId', 'Long[1]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (4, 1, '管理员', '管理端-岗位', '分页查询所有岗位', '/smart-admin-api/position/getListPage', 'com.gangquan360.smartadmin.module.position.PositionController.getJobPage', 'PositionQueryDTO[{"pageNum":1,"pageSize":10,"positionName":"","searchCount":true,"sort":false}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (5, 1, '管理员', '管理端-角色', '获取所有角色', '/smart-admin-api/role/getAll', 'com.gangquan360.smartadmin.module.role.basic.RoleController.getAllRole', '', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (6, 1, '管理员', '管理端-部门', '根据部门名称查询部门及员工列表', '/smart-admin-api/department/listEmployeeByDepartmentName', 'com.gangquan360.smartadmin.module.department.DepartmentController.listDepartmentEmployee', 'String[""]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (7, 1, '管理员', '管理端-部门', '查询部门及员工列表', '/smart-admin-api/department/listEmployee', 'com.gangquan360.smartadmin.module.department.DepartmentController.listDepartmentEmployee', '', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (8, 1, '管理员', '管理端-用户', '员工管理查询', '/smart-admin-api/employee/query', 'com.gangquan360.smartadmin.module.employee.EmployeeController.query', 'EmployeeQueryDTO[{"isDelete":0,"isDisabled":0,"keyword":"","pageNum":1,"pageSize":10}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (9, 1, '管理员', '管理端-用户', '员工重置密码', '/smart-admin-api/employee/resetPasswd/29', 'com.gangquan360.smartadmin.module.employee.EmployeeController.resetPasswd', 'Integer[29]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (10, 1, '管理员', '管理端-用户', '员工管理查询', '/smart-admin-api/employee/query', 'com.gangquan360.smartadmin.module.employee.EmployeeController.query', 'EmployeeQueryDTO[{"isDelete":0,"isDisabled":0,"keyword":"","pageNum":1,"pageSize":10}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (11, 1, '管理员', '管理端-角色用户', '通过员工id获取所有角色以及员工具有的角色', '/smart-admin-api/role/getRoles/29', 'com.gangquan360.smartadmin.module.role.roleemployee.RoleEmployeeController.getRoleByEmployeeId', 'Long[29]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (12, 1, '管理员', '管理端-用户', '单个员工角色授权', '/smart-admin-api/employee/updateRoles', 'com.gangquan360.smartadmin.module.employee.EmployeeController.updateRoles', 'EmployeeUpdateRolesDTO[{"employeeId":29,"roleIds":[34,45]}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (13, 1, '管理员', '管理端-用户', '员工管理查询', '/smart-admin-api/employee/query', 'com.gangquan360.smartadmin.module.employee.EmployeeController.query', 'EmployeeQueryDTO[{"isDelete":0,"isDisabled":0,"keyword":"","pageNum":1,"pageSize":10}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (14, 1, '管理员', '管理端-角色权限', '更新角色权限', '/smart-admin-api/privilege/updateRolePrivilege', 'com.gangquan360.smartadmin.module.role.roleprivilege.RolePrivilegeController.updateRolePrivilege', 'RolePrivilegeDTO[{"privilegeKeyList":["Employee","RoleManage","PositionList","RoleEmployeeManage","SystemSetting","SystemConfig","SystemPrivilege","Notice","NoticeList","PersonNotice","Email","EmailList","SendMail","UserLog","UserOperateLog","UserLoginLog","Monitor","OnlineUser","Sql","Task","TaskList","Reload","SmartReloadList","ApiDoc","Swagger","ThreeRouter","LevelTwo","RoleOneTwo","RoleTwoTwo","RoleOneOne","KeepAlive","KeepAliveContentList","KeepAliveAddContent","HeartBeat","HeartBeatList","File","FileList","add-role","delete-role","update-role","update-role-privilege","add-employee-role","search-employee-list","delete-employee-role","delete-employee-role-batch","query-data-scope","update-data-scope","search-position","add-position","update-position","delete-position","add-department","update-department","delete-department","search-department","add-employee","update-employee","disabled-employee","disabled-employee-batch","update-employee-role","reset-employee-password","delete-employee","system-params-search","system-params-add","system-config-update","system-config-search","privilege-main-update","privilege-main-search","notice-query","notice-add","notice-edit","notice-delete","notice-detail","notice-send","person-notice-query","person-notice-detail","email-query","email-add","email-update","email-delete","email-send","user-operate-log-search","user-operate-log-detail","user-operate-log-delete","user-login-log-search","user-login-log-delete","online-user-search","task-search","task-refresh","task-add","task-update","task-pause","task-resume","task-run","task-query-log","task-delete","smart-reload-search","smart-reload-update","smart-reload-result","heart-beat-query","file-filePage-query","file-filePage-upload"],"roleId":1}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (15, 1, '管理员', '管理端-角色权限', '获取角色可选的功能权限', '/smart-admin-api/privilege/listPrivilegeByRoleId/1', 'com.gangquan360.smartadmin.module.role.roleprivilege.RolePrivilegeController.listPrivilegeByRoleId', 'Long[1]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (16, 1, '管理员', '管理端-系统配置', '分页查询所有系统配置', '/smart-admin-api/systemConfig/getListPage', 'com.gangquan360.smartadmin.module.systemconfig.SystemConfigController.getSystemConfigPage', 'SystemConfigQueryDTO[{"key":"","pageNum":1,"pageSize":10}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (17, 1, '管理员', '管理端-系统配置', '修改配置参数', '/smart-admin-api/systemConfig/update', 'com.gangquan360.smartadmin.module.systemconfig.SystemConfigController.updateSystemConfig', 'SystemConfigUpdateDTO[{"configGroup":"upload","configKey":"ali_oss","configName":"阿里云上传配置","configValue":"{\\"accessKeyId\\":\\"\\",\\"accessKeySecret\\":\\"\\",\\"bucketName\\":\\"sit\\",\\"endpoint\\":\\"http://oss-cn-beijing.aliyuncs.com\\"}","id":14,"remark":"eefwfwfds"}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (18, 1, '管理员', '管理端-系统配置', '分页查询所有系统配置', '/smart-admin-api/systemConfig/getListPage', 'com.gangquan360.smartadmin.module.systemconfig.SystemConfigController.getSystemConfigPage', 'SystemConfigQueryDTO[{"key":"","pageNum":1,"pageSize":10}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (19, 1, '管理员', '管理端-系统配置', '修改配置参数', '/smart-admin-api/systemConfig/update', 'com.gangquan360.smartadmin.module.systemconfig.SystemConfigController.updateSystemConfig', 'SystemConfigUpdateDTO[{"configGroup":"upload","configKey":"qi_niu_oss","configName":"七牛云上传配置","configValue":"{\\"accessKeyId\\":\\"rX7HgY1ZLpUD25JrA-uwMM_jj-\\",\\"accessKeySecret\\":\\"\\",\\"bucketName\\":\\"sun-smart-admin\\",\\"endpoint\\":\\"http://puvpyay08.bkt.clouddn.com\\"}","id":16}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (20, 1, '管理员', '管理端-系统配置', '分页查询所有系统配置', '/smart-admin-api/systemConfig/getListPage', 'com.gangquan360.smartadmin.module.systemconfig.SystemConfigController.getSystemConfigPage', 'SystemConfigQueryDTO[{"key":"","pageNum":1,"pageSize":10}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (21, 1, '管理员', '通用-权限', '获取所有请求路径', '/smart-admin-api/privilege/getAllUrl', 'com.gangquan360.smartadmin.module.privilege.controller.PrivilegeController.getAllUrl', '', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (22, 1, '管理员', '通用-权限', '查询所有菜单项', '/smart-admin-api/privilege/menu/queryAll', 'com.gangquan360.smartadmin.module.privilege.controller.PrivilegeController.queryAll', '', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (23, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/FileList', 'com.gangquan360.smartadmin.module.privilege.controller.PrivilegeController.functionQuery', 'String["FileList"]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (24, 1, '管理员', '通用-权限', '保存更新功能点', '/smart-admin-api/privilege/function/saveOrUpdate', 'com.gangquan360.smartadmin.module.privilege.controller.PrivilegeController.functionSaveOrUpdate', 'PrivilegeFunctionDTO[{"functionKey":"file-filePage-download","functionName":"下载","menuKey":"FileList","sort":2,"url":"fileController.downLoadById"}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (25, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/FileList', 'com.gangquan360.smartadmin.module.privilege.controller.PrivilegeController.functionQuery', 'String["FileList"]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (26, 1, '管理员', '通用-邮件发送', '分页查询', '/smart-admin-api/email/page/query', 'com.gangquan360.smartadmin.module.email.EmailController.queryByPage', 'EmailQueryDTO[{"endDate":"","pageNum":1,"pageSize":10,"searchCount":true,"startDate":""}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (27, 1, '管理员', '管理端-用户操作日志', '分页查询', '/smart-admin-api/userOperateLog/page/query', 'com.gangquan360.smartadmin.module.log.useroperatelog.UserOperateLogController.queryByPage', 'UserOperateLogQueryDTO[{"endDate":"","pageNum":1,"pageSize":10,"searchCount":true,"sort":false,"startDate":"","userName":""}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (28, 1, '管理员', '管理端-用户登录日志', '分页查询用户登录日志', '/smart-admin-api/userLoginLog/page/query', 'com.gangquan360.smartadmin.module.log.userloginlog.UserLoginLogController.queryByPage', 'UserLoginLogQueryDTO[{"endDate":"","pageNum":1,"pageSize":10,"searchCount":true,"sort":false,"startDate":"","userName":""}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (29, 1, '管理员', '管理端-用户登录日志', '查询员工在线状态', '/smart-admin-api/userOnLine/query', 'com.gangquan360.smartadmin.module.log.userloginlog.UserLoginLogController.queryUserOnLine', 'EmployeeQueryDTO[{"actualName":"","employeeIds":[1],"isDelete":0,"pageNum":1,"pageSize":10}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (30, 1, '管理员', '管理端-任务调度', '查询任务', '/smart-admin-api/quartz/task/query', 'com.gangquan360.smartadmin.module.quartz.controller.QuartzController.query', 'QuartzQueryDTO[{"pageNum":1,"pageSize":10}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (31, 1, '管理员', '管理端-smart reload', '获取全部Smart-reload项', '/smart-admin-api/smartReload/all', 'com.gangquan360.smartadmin.module.smartreload.SmartReloadController.listAllReloadItem', '', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (32, 1, '管理员', '通用-心跳服务', '查询心跳记录 @author zhuoda', '/smart-admin-api/heartBeat/query', 'com.gangquan360.smartadmin.module.heartbeat.HeartBeatController.query', 'PageParamDTO[{"pageNum":1,"pageSize":10}]', 1, NULL, '2019-11-01 00:00:00', '2019-11-01 00:00:00'), + (33, 1, '管理员', '通用-权限', '获取所有请求路径', '/smart-admin-api/privilege/getAllUrl', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.getAllUrl', '', 1, NULL, '2020-12-14 15:15:06', '2020-12-14 15:15:06'), + (34, 1, '管理员', '通用-权限', '查询所有菜单项', '/smart-admin-api/privilege/menu/queryAll', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.queryAll', '', 1, NULL, '2020-12-14 15:15:06', '2020-12-14 15:15:06'), + (35, 1, '管理员', '通用-权限', '菜单批量保存', '/smart-admin-api/privilege/menu/batchSaveMenu', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.menuBatchSave', 'ValidateList[[{"menuKey":"Business","menuName":"业务功能","sort":0,"type":1,"url":"/business"},{"menuKey":"Peony","menuName":"牡丹管理","parentKey":"Business","sort":0,"type":1,"url":"/peony"},{"menuKey":"PeonyList","menuName":"牡丹花列表","parentKey":"Peony","sort":0,"type":1,"url":"/peony/peony-list"},{"menuKey":"PeonyList1","menuName":"牡丹花列表1","parentKey":"Peony","sort":0,"type":1,"url":"/peony/peony-list1"},{"menuKey":"Email","menuName":"邮件管理","parentKey":"Business","sort":0,"type":1,"url":"/email"},{"menuKey":"EmailList","menuName":"邮件管理","parentKey":"Email","sort":0,"type":1,"url":"/email/email-list"},{"menuKey":"SendMail","menuName":"发送邮件","parentKey":"Email","sort":0,"type":1,"url":"/email/send-mail"},{"menuKey":"KeepAlive","menuName":"KeepAlive","parentKey":"Business","sort":0,"type":1,"url":"/keep-alive"},{"menuKey":"KeepAliveContentList","menuName":"KeepAlive列表","parentKey":"KeepAlive","sort":0,"type":1,"url":"/keep-alive/content-list"},{"menuKey":"KeepAliveAddContent","menuName":"KeepAlive表单","parentKey":"KeepAlive","sort":0,"type":1,"url":"/keep-alive/add-content"},{"menuKey":"Notice","menuName":"消息管理","parentKey":"Business","sort":0,"type":1,"url":"/notice"},{"menuKey":"NoticeList","menuName":"通知管理","parentKey":"Notice","sort":0,"type":1,"url":"/notice/notice-list"},{"menuKey":"PersonNotice","menuName":"个人消息","parentKey":"Notice","sort":0,"type":1,"url":"/notice/person-notice"},{"menuKey":"NoticeDetail","menuName":"消息详情","parentKey":"Notice","sort":0,"type":1,"url":"/notice/notice-detail"},{"menuKey":"ThreeRouter","menuName":"三级路由","parentKey":"Business","sort":0,"type":1,"url":"/three-router"},{"menuKey":"LevelTwo","menuName":"三级菜单","parentKey":"ThreeRouter","sort":0,"type":1,"url":"/three-router/level-two"},{"menuKey":"ThreeLevelRouterView","menuName":"三级菜单子颗粒","parentKey":"LevelTwo","sort":0,"type":1,"url":"/three-router/level-two/level-three1"},{"menuKey":"RoleTwoTwo","menuName":"三级菜单子哈","parentKey":"LevelTwo","sort":0,"type":1,"url":"/three-router/level-two/level-three2"},{"menuKey":"RoleOneOne","menuName":"二级菜单","parentKey":"ThreeRouter","sort":0,"type":1,"url":"/three-router/level-two2"},{"menuKey":"System","menuName":"系统设置","sort":0,"type":1,"url":"/system"},{"menuKey":"Employee","menuName":"人员管理","parentKey":"System","sort":0,"type":1,"url":"/employee"},{"menuKey":"RoleManage","menuName":"角色管理","parentKey":"Employee","sort":0,"type":1,"url":"/employee/role"},{"menuKey":"PositionList","menuName":"岗位管理","parentKey":"Employee","sort":0,"type":1,"url":"/employee/position"},{"menuKey":"RoleEmployeeManage","menuName":"员工管理","parentKey":"Employee","sort":0,"type":1,"url":"/employee/role-employee-manage"},{"menuKey":"File","menuName":"文件服务","parentKey":"System","sort":0,"type":1,"url":"/file"},{"menuKey":"FileList","menuName":"文件列表","parentKey":"File","sort":0,"type":1,"url":"/file/file-list"},{"menuKey":"UserLog","menuName":"用户日志","parentKey":"System","sort":0,"type":1,"url":"/user-log"},{"menuKey":"UserOperateLog","menuName":"用户操作日志","parentKey":"UserLog","sort":0,"type":1,"url":"/user-log/user-operate-log"},{"menuKey":"UserLoginLog","menuName":"用户登录日志","parentKey":"UserLog","sort":0,"type":1,"url":"/user-log/user-login-log"},{"menuKey":"SystemSetting","menuName":"系统设置","parentKey":"System","sort":0,"type":1,"url":"/system-setting"},{"menuKey":"SystemConfig","menuName":"系统参数","parentKey":"SystemSetting","sort":0,"type":1,"url":"/system-setting/system-config"},{"menuKey":"SystemPrivilege","menuName":"菜单设置","parentKey":"SystemSetting","sort":0,"type":1,"url":"/system-setting/system-privilege"},{"menuKey":"Support","menuName":"开发专用","sort":0,"type":1,"url":"/support"},{"menuKey":"ApiDoc","menuName":"接口文档","parentKey":"Support","sort":0,"type":1,"url":"/api-doc"},{"menuKey":"Swagger","menuName":"Swagger接口文档","parentKey":"ApiDoc","sort":0,"type":1,"url":"/api-doc/swagger"},{"menuKey":"HeartBeat","menuName":"心跳服务","parentKey":"Support","sort":0,"type":1,"url":"/heart-beat"},{"menuKey":"HeartBeatList","menuName":"心跳服务","parentKey":"HeartBeat","sort":0,"type":1,"url":"/heart-beat/heart-beat-list"},{"menuKey":"Monitor","menuName":"系统监控","parentKey":"Support","sort":0,"type":1,"url":"/monitor"},{"menuKey":"OnlineUser","menuName":"在线人数","parentKey":"Monitor","sort":0,"type":1,"url":"/monitor/online-user"},{"menuKey":"Sql","menuName":"SQL监控","parentKey":"Monitor","sort":0,"type":1,"url":"/monitor/sql"},{"menuKey":"Reload","menuName":"动态加载","parentKey":"Support","sort":0,"type":1,"url":"/reload"},{"menuKey":"SmartReloadList","menuName":"SmartReload","parentKey":"Reload","sort":0,"type":1,"url":"/reload/smart-reload-list"},{"menuKey":"Task","menuName":"定时任务","parentKey":"Support","sort":0,"type":1,"url":"/task"},{"menuKey":"TaskList","menuName":"任务管理","parentKey":"Task","sort":0,"type":1,"url":"/system-setting/task-list"}]]', 1, NULL, '2020-12-14 15:15:07', '2020-12-14 15:15:07'), + (36, 1, '管理员', '通用-权限', '查询所有菜单项', '/smart-admin-api/privilege/menu/queryAll', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.queryAll', '', 1, NULL, '2020-12-14 15:15:07', '2020-12-14 15:15:07'), + (37, 1, '管理员', '管理端-用户登录', '获取session', '/smart-admin-api/session/get', 'net.lab1024.smartadmin.module.system.login.LoginController.getSession', '', 1, NULL, '2020-12-14 15:15:29', '2020-12-14 15:15:29'), + (38, 1, '管理员', '通用-权限', '获取所有请求路径', '/smart-admin-api/privilege/getAllUrl', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.getAllUrl', '', 1, NULL, '2020-12-14 15:16:25', '2020-12-14 15:16:25'), + (39, 1, '管理员', '通用-权限', '查询所有菜单项', '/smart-admin-api/privilege/menu/queryAll', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.queryAll', '', 1, NULL, '2020-12-14 15:16:25', '2020-12-14 15:16:25'), + (40, 1, '管理员', '通用-权限', '菜单批量保存', '/smart-admin-api/privilege/menu/batchSaveMenu', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.menuBatchSave', 'ValidateList[[{"menuKey":"Business","menuName":"业务功能","sort":0,"type":1,"url":"/business"},{"menuKey":"Peony","menuName":"牡丹管理","parentKey":"Business","sort":1,"type":1,"url":"/peony"},{"menuKey":"PeonyList","menuName":"牡丹花列表","parentKey":"Peony","sort":2,"type":1,"url":"/peony/peony-list"},{"menuKey":"PeonyList1","menuName":"牡丹花列表1","parentKey":"Peony","sort":3,"type":1,"url":"/peony/peony-list1"},{"menuKey":"Email","menuName":"邮件管理","parentKey":"Business","sort":4,"type":1,"url":"/email"},{"menuKey":"EmailList","menuName":"邮件管理","parentKey":"Email","sort":5,"type":1,"url":"/email/email-list"},{"menuKey":"SendMail","menuName":"发送邮件","parentKey":"Email","sort":6,"type":1,"url":"/email/send-mail"},{"menuKey":"KeepAlive","menuName":"KeepAlive","parentKey":"Business","sort":7,"type":1,"url":"/keep-alive"},{"menuKey":"KeepAliveContentList","menuName":"KeepAlive列表","parentKey":"KeepAlive","sort":8,"type":1,"url":"/keep-alive/content-list"},{"menuKey":"KeepAliveAddContent","menuName":"KeepAlive表单","parentKey":"KeepAlive","sort":9,"type":1,"url":"/keep-alive/add-content"},{"menuKey":"Notice","menuName":"消息管理","parentKey":"Business","sort":10,"type":1,"url":"/notice"},{"menuKey":"NoticeList","menuName":"通知管理","parentKey":"Notice","sort":11,"type":1,"url":"/notice/notice-list"},{"menuKey":"PersonNotice","menuName":"个人消息","parentKey":"Notice","sort":12,"type":1,"url":"/notice/person-notice"},{"menuKey":"NoticeDetail","menuName":"消息详情","parentKey":"Notice","sort":13,"type":1,"url":"/notice/notice-detail"},{"menuKey":"ThreeRouter","menuName":"三级路由","parentKey":"Business","sort":14,"type":1,"url":"/three-router"},{"menuKey":"LevelTwo","menuName":"三级菜单","parentKey":"ThreeRouter","sort":15,"type":1,"url":"/three-router/level-two"},{"menuKey":"ThreeLevelRouterView","menuName":"三级菜单子颗粒","parentKey":"LevelTwo","sort":16,"type":1,"url":"/three-router/level-two/level-three1"},{"menuKey":"RoleTwoTwo","menuName":"三级菜单子哈","parentKey":"LevelTwo","sort":17,"type":1,"url":"/three-router/level-two/level-three2"},{"menuKey":"RoleOneOne","menuName":"二级菜单","parentKey":"ThreeRouter","sort":18,"type":1,"url":"/three-router/level-two2"},{"menuKey":"System","menuName":"系统设置","sort":19,"type":1,"url":"/system"},{"menuKey":"Employee","menuName":"人员管理","parentKey":"System","sort":20,"type":1,"url":"/employee"},{"menuKey":"RoleManage","menuName":"角色管理","parentKey":"Employee","sort":21,"type":1,"url":"/employee/role"},{"menuKey":"PositionList","menuName":"岗位管理","parentKey":"Employee","sort":22,"type":1,"url":"/employee/position"},{"menuKey":"RoleEmployeeManage","menuName":"员工管理","parentKey":"Employee","sort":23,"type":1,"url":"/employee/role-employee-manage"},{"menuKey":"File","menuName":"文件服务","parentKey":"System","sort":24,"type":1,"url":"/file"},{"menuKey":"FileList","menuName":"文件列表","parentKey":"File","sort":25,"type":1,"url":"/file/file-list"},{"menuKey":"UserLog","menuName":"用户日志","parentKey":"System","sort":26,"type":1,"url":"/user-log"},{"menuKey":"UserOperateLog","menuName":"用户操作日志","parentKey":"UserLog","sort":27,"type":1,"url":"/user-log/user-operate-log"},{"menuKey":"UserLoginLog","menuName":"用户登录日志","parentKey":"UserLog","sort":28,"type":1,"url":"/user-log/user-login-log"},{"menuKey":"SystemSetting","menuName":"系统设置","parentKey":"System","sort":29,"type":1,"url":"/system-setting"},{"menuKey":"SystemConfig","menuName":"系统参数","parentKey":"SystemSetting","sort":30,"type":1,"url":"/system-setting/system-config"},{"menuKey":"SystemPrivilege","menuName":"菜单设置","parentKey":"SystemSetting","sort":31,"type":1,"url":"/system-setting/system-privilege"},{"menuKey":"Support","menuName":"开发专用","sort":32,"type":1,"url":"/support"},{"menuKey":"ApiDoc","menuName":"接口文档","parentKey":"Support","sort":33,"type":1,"url":"/api-doc"},{"menuKey":"Swagger","menuName":"Swagger接口文档","parentKey":"ApiDoc","sort":34,"type":1,"url":"/api-doc/swagger"},{"menuKey":"HeartBeat","menuName":"心跳服务","parentKey":"Support","sort":35,"type":1,"url":"/heart-beat"},{"menuKey":"HeartBeatList","menuName":"心跳服务","parentKey":"HeartBeat","sort":36,"type":1,"url":"/heart-beat/heart-beat-list"},{"menuKey":"Monitor","menuName":"系统监控","parentKey":"Support","sort":37,"type":1,"url":"/monitor"},{"menuKey":"OnlineUser","menuName":"在线人数","parentKey":"Monitor","sort":38,"type":1,"url":"/monitor/online-user"},{"menuKey":"Sql","menuName":"SQL监控","parentKey":"Monitor","sort":39,"type":1,"url":"/monitor/sql"},{"menuKey":"Reload","menuName":"动态加载","parentKey":"Support","sort":40,"type":1,"url":"/reload"},{"menuKey":"SmartReloadList","menuName":"SmartReload","parentKey":"Reload","sort":41,"type":1,"url":"/reload/smart-reload-list"},{"menuKey":"Task","menuName":"定时任务","parentKey":"Support","sort":42,"type":1,"url":"/task"},{"menuKey":"TaskList","menuName":"任务管理","parentKey":"Task","sort":43,"type":1,"url":"/system-setting/task-list"}]]', 1, NULL, '2020-12-14 15:16:26', '2020-12-14 15:16:26'), + (41, 1, '管理员', '通用-权限', '查询所有菜单项', '/smart-admin-api/privilege/menu/queryAll', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.queryAll', '', 1, NULL, '2020-12-14 15:16:26', '2020-12-14 15:16:26'), + (42, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/PeonyList', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["PeonyList"]', 1, NULL, '2020-12-14 15:16:28', '2020-12-14 15:16:28'), + (43, 1, '管理员', '通用-权限', '批量保存功能点', '/smart-admin-api/privilege/function/batchSave', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.batchSaveFunctionList', 'ValidateList[[{"functionKey":"peony-list-query","functionName":"查询","menuKey":"PeonyList","sort":1},{"functionKey":"peony-list-add","functionName":"新增","menuKey":"PeonyList","sort":2},{"functionKey":"peony-list-update","functionName":"编辑","menuKey":"PeonyList","sort":3},{"functionKey":"peony-list-batch-delete","functionName":"批量删除","menuKey":"PeonyList","sort":4},{"functionKey":"peony-list-batch-export","functionName":"批量导出","menuKey":"PeonyList","sort":5},{"functionKey":"peony-list-export-all","functionName":"导出全部","menuKey":"PeonyList","sort":6}]]', 1, NULL, '2020-12-14 15:16:30', '2020-12-14 15:16:30'), + (44, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/PeonyList', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["PeonyList"]', 1, NULL, '2020-12-14 15:16:30', '2020-12-14 15:16:30'), + (45, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/PeonyList1', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["PeonyList1"]', 1, NULL, '2020-12-14 15:16:32', '2020-12-14 15:16:32'), + (46, 1, '管理员', '通用-权限', '批量保存功能点', '/smart-admin-api/privilege/function/batchSave', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.batchSaveFunctionList', 'ValidateList[[{"functionKey":"peony1-list-query","functionName":"查询","menuKey":"PeonyList1","sort":1},{"functionKey":"peony1-list-add","functionName":"新增","menuKey":"PeonyList1","sort":2},{"functionKey":"peony1-list-update","functionName":"编辑","menuKey":"PeonyList1","sort":3},{"functionKey":"peony1-list-batch-delete","functionName":"批量删除","menuKey":"PeonyList1","sort":4},{"functionKey":"peony1-list-batch-export","functionName":"批量导出","menuKey":"PeonyList1","sort":5},{"functionKey":"peony1-list-export-all","functionName":"导出全部","menuKey":"PeonyList1","sort":6}]]', 1, NULL, '2020-12-14 15:16:33', '2020-12-14 15:16:33'), + (47, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/PeonyList1', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["PeonyList1"]', 1, NULL, '2020-12-14 15:16:33', '2020-12-14 15:16:33'), + (48, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/EmailList', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["EmailList"]', 1, NULL, '2020-12-14 15:16:34', '2020-12-14 15:16:34'), + (49, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/SendMail', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["SendMail"]', 1, NULL, '2020-12-14 15:16:36', '2020-12-14 15:16:36'), + (50, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/KeepAliveContentList', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["KeepAliveContentList"]', 1, NULL, '2020-12-14 15:16:38', '2020-12-14 15:16:38'), + (51, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/KeepAliveAddContent', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["KeepAliveAddContent"]', 1, NULL, '2020-12-14 15:16:38', '2020-12-14 15:16:38'), + (52, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/NoticeList', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["NoticeList"]', 1, NULL, '2020-12-14 15:16:40', '2020-12-14 15:16:40'), + (53, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/PersonNotice', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["PersonNotice"]', 1, NULL, '2020-12-14 15:16:41', '2020-12-14 15:16:41'), + (54, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/NoticeDetail', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["NoticeDetail"]', 1, NULL, '2020-12-14 15:16:42', '2020-12-14 15:16:42'), + (55, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/ThreeLevelRouterView', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["ThreeLevelRouterView"]', 1, NULL, '2020-12-14 15:16:44', '2020-12-14 15:16:44'), + (56, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/RoleManage', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["RoleManage"]', 1, NULL, '2020-12-14 15:16:47', '2020-12-14 15:16:47'), + (57, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/PositionList', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["PositionList"]', 1, NULL, '2020-12-14 15:16:48', '2020-12-14 15:16:48'), + (58, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/RoleEmployeeManage', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["RoleEmployeeManage"]', 1, NULL, '2020-12-14 15:16:53', '2020-12-14 15:16:53'), + (59, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/FileList', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["FileList"]', 1, NULL, '2020-12-14 15:17:00', '2020-12-14 15:17:00'), + (60, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/UserOperateLog', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["UserOperateLog"]', 1, NULL, '2020-12-14 15:17:03', '2020-12-14 15:17:03'), + (61, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/UserLoginLog', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["UserLoginLog"]', 1, NULL, '2020-12-14 15:17:03', '2020-12-14 15:17:03'), + (62, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/SystemConfig', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["SystemConfig"]', 1, NULL, '2020-12-14 15:17:04', '2020-12-14 15:17:04'), + (63, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/SystemPrivilege', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["SystemPrivilege"]', 1, NULL, '2020-12-14 15:17:06', '2020-12-14 15:17:06'), + (64, 1, '管理员', '通用-权限', '批量保存功能点', '/smart-admin-api/privilege/function/batchSave', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.batchSaveFunctionList', 'ValidateList[[{"functionKey":"privilege-main-update","functionName":"编辑","menuKey":"SystemPrivilege","sort":1},{"functionKey":"privilege-batch-save-points","functionName":"批量保存功能点","menuKey":"SystemPrivilege","sort":2},{"functionKey":"privilege-main-search","functionName":"查询","menuKey":"SystemPrivilege","sort":3}]]', 1, NULL, '2020-12-14 15:17:11', '2020-12-14 15:17:11'), + (65, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/SystemPrivilege', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["SystemPrivilege"]', 1, NULL, '2020-12-14 15:17:11', '2020-12-14 15:17:11'), + (66, 1, '管理员', '通用-权限', '保存更新功能点', '/smart-admin-api/privilege/function/saveOrUpdate', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionSaveOrUpdate', 'PrivilegeFunctionDTO[{"functionKey":"privilege-batch-save-points","functionName":"批量保存功能点","menuKey":"SystemPrivilege","sort":1,"url":"privilegeController.functionSaveOrUpdate"}]', 1, NULL, '2020-12-14 15:17:30', '2020-12-14 15:17:30'), + (67, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/SystemPrivilege', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["SystemPrivilege"]', 1, NULL, '2020-12-14 15:17:30', '2020-12-14 15:17:30'), + (68, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/Swagger', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["Swagger"]', 1, NULL, '2020-12-14 15:17:36', '2020-12-14 15:17:36'), + (69, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/HeartBeatList', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["HeartBeatList"]', 1, NULL, '2020-12-14 15:17:37', '2020-12-14 15:17:37'), + (70, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/SmartReloadList', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["SmartReloadList"]', 1, NULL, '2020-12-14 15:17:42', '2020-12-14 15:17:42'), + (71, 1, '管理员', '通用-权限', '查询菜单功能点', '/smart-admin-api/privilege/function/query/TaskList', 'net.lab1024.smartadmin.module.system.privilege.controller.PrivilegeController.functionQuery', 'String["TaskList"]', 1, NULL, '2020-12-14 15:17:43', '2020-12-14 15:17:43'), + (72, 1, '管理员', '通用-邮件发送', '分页查询', '/smart-admin-api/email/page/query', 'net.lab1024.smartadmin.module.business.email.EmailController.queryByPage', 'EmailQueryDTO[{"endDate":"","pageNum":1,"pageSize":10,"searchCount":true,"startDate":""}]', 1, NULL, '2020-12-14 15:17:57', '2020-12-14 15:17:57'), + (73, 1, '管理员', '管理端-用户登录', '获取session', '/smart-admin-api/session/get', 'net.lab1024.smartadmin.module.system.login.LoginController.getSession', '', 1, NULL, '2020-12-14 15:18:14', '2020-12-14 15:18:14'), + (74, 1, '管理员', '管理端-用户登录', '获取session', '/smart-admin-api/session/get', 'net.lab1024.smartadmin.module.system.login.LoginController.getSession', '', 1, NULL, '2020-12-14 15:18:27', '2020-12-14 15:18:27'); +/*!40000 ALTER TABLE `t_user_operate_log` ENABLE KEYS */; + +/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; +/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/AddDTO.java.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/AddDTO.java.vm new file mode 100644 index 00000000..03da7773 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/AddDTO.java.vm @@ -0,0 +1,36 @@ +package ${basePackage}.module.${modulePackage}.domain.dto; + +import lombok.Data; +#foreach ($dtoImport in $dtoImports) +$dtoImport +#end +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; + +/** + * 新建 [ ${tableDesc} ] + * + * @author ${author} + * @version 1.0 + * @company ${company} + * @copyright (c) 2018 ${company}Inc. All rights reserved. + * @date ${date} + * @since JDK1.8 + */ +@Data +public class ${moduleClass}AddDTO { +#foreach ($column in $columnList) +#if($column.fieldName != 'id') +#if($column.fieldType == 'Date') + @ApiModelProperty("${column.columnDesc}") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private $column.fieldType $column.fieldName; +#else + @ApiModelProperty("${column.columnDesc}") + private $column.fieldType $column.fieldName; +#end + +#end +#end + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Controller.java.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Controller.java.vm new file mode 100644 index 00000000..1dfbe2ed --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Controller.java.vm @@ -0,0 +1,88 @@ +package ${basePackage}.module.${modulePackage}.controller; + +import ${basePackage}.common.domain.PageResultDTO; +import ${basePackage}.common.controller.BaseController; +import ${basePackage}.common.domain.ResponseDTO; +import ${basePackage}.common.domain.ValidateList; +import ${basePackage}.module.${modulePackage}.domain.dto.${moduleClass}AddDTO; +import ${basePackage}.module.${modulePackage}.domain.dto.${moduleClass}UpdateDTO; +import ${basePackage}.module.${modulePackage}.domain.dto.${moduleClass}QueryDTO; +import ${basePackage}.module.${modulePackage}.domain.vo.${moduleClass}VO; +import ${basePackage}.module.${modulePackage}.domain.vo.${moduleClass}ExcelVO; +import ${basePackage}.module.${modulePackage}.service.${moduleClass}Service; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import org.apache.poi.ss.usermodel.Workbook; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * [ ${tableDesc} ] + * + * @author ${author} + * @version 1.0 + * @company ${company} + * @copyright (c) ${company}Inc. All rights reserved. + * @date ${date} + * @since JDK1.8 + */ +@RestController +@Api(tags = {"${tableDesc}"}) +public class ${moduleClass}Controller extends BaseController { + + @Autowired + private ${moduleClass}Service ${moduleVar}Service; + + @ApiOperation(value = "分页查询${tableDesc}",notes = "@author ${author}") + @PostMapping("/${moduleVar}/page/query") + public ResponseDTO> queryByPage(@RequestBody ${moduleClass}QueryDTO queryDTO) { + return ${moduleVar}Service.queryByPage(queryDTO); + } + + @ApiOperation(value = "添加${tableDesc}",notes = "@author ${author}") + @PostMapping("/${moduleVar}/add") + public ResponseDTO add(@RequestBody @Validated ${moduleClass}AddDTO addTO){ + return ${moduleVar}Service.add(addTO); + } + + @ApiOperation(value="修改${tableDesc}",notes = "@author ${author}") + @PostMapping("/${moduleVar}/update") + public ResponseDTO update(@RequestBody @Validated ${moduleClass}UpdateDTO updateDTO){ + return ${moduleVar}Service.update(updateDTO); + } + + @ApiOperation(value="批量删除${tableDesc}",notes = "@author ${author}") + @PostMapping("/${moduleVar}/deleteByIds") + public ResponseDTO delete(@RequestBody @Validated ValidateList idList) { + return ${moduleVar}Service.deleteByIds(idList); + } + + @ApiOperation(value = "批量导出", notes = "@author ${author}") + @PostMapping("/${moduleVar}/export/batch") + public void batchExport(@RequestBody @Validated ValidateList idList, HttpServletResponse response) { + //查询数据 + List<${moduleClass}ExcelVO> ${moduleVar}List = ${moduleVar}Service.queryBatchExportData(idList); + //导出操作 + ExportParams ex = new ExportParams("${tableDesc}", "Sheet1"); + Workbook workbook = ExcelExportUtil.exportExcel(ex, ${moduleClass}ExcelVO.class, ${moduleVar}List); + downloadExcel("${tableDesc}", workbook, response); + } + + @ApiOperation(value = "导出全部", notes = "@author ${author}") + @PostMapping("/${moduleVar}/export/all") + public void exportAll(@RequestBody @Validated ${moduleClass}QueryDTO queryDTO, HttpServletResponse response) { + //查询数据 + List<${moduleClass}ExcelVO> ${moduleVar}List = ${moduleVar}Service.queryAllExportData(queryDTO); + //导出操作 + ExportParams ex = new ExportParams("${tableDesc}", "Sheet1"); + Workbook workbook = ExcelExportUtil.exportExcel(ex, ${moduleClass}ExcelVO.class, ${moduleVar}List); + downloadExcel("${tableDesc}", workbook, response); + } + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Dao.java.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Dao.java.vm new file mode 100644 index 00000000..b19db804 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Dao.java.vm @@ -0,0 +1,64 @@ +package ${basePackage}.module.${modulePackage}.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.metadata.IPage; +import ${basePackage}.module.${modulePackage}.domain.dto.${moduleClass}QueryDTO; +import ${basePackage}.module.${modulePackage}.domain.entity.${moduleClass}Entity; +import ${basePackage}.module.${modulePackage}.domain.vo.${moduleClass}VO; +import ${basePackage}.module.${modulePackage}.domain.vo.${moduleClass}ExcelVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * [ ${tableDesc} ] + * + * @author ${author} + * @version 1.0 + * @company ${company} + * @copyright (c) ${company}Inc. All rights reserved. + * @date ${date} + * @since JDK1.8 + */ +@Mapper +@Component +public interface ${moduleClass}Dao extends BaseMapper<${moduleClass}Entity> { + + /** + * 分页查询 + * @param queryDTO + * @return ${moduleClass}VO + */ + IPage<${moduleClass}VO> queryByPage(Page page, @Param("queryDTO") ${moduleClass}QueryDTO queryDTO); + + /** + * 根据id删除 + * @param id + * @return + */ + void deleteById(@Param("id")Long id); + + /** + * 根据id批量删除 + * @param idList + * @return + */ + void deleteByIdList(@Param("idList") List idList); + + /** + * 查询所有导出数据 + * @param queryDTO + * @return + */ + List<${moduleClass}ExcelVO> queryAllExportData(@Param("queryDTO")${moduleClass}QueryDTO queryDTO); + + /** + * 查询批量导出数据 + * @param idList + * @return + */ + List<${moduleClass}ExcelVO> queryBatchExportData(@Param("idList")List idList); +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Dao.xml.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Dao.xml.vm new file mode 100644 index 00000000..5e64e4bc --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Dao.xml.vm @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + delete from ${tableName} where id = #{id} + + + + delete from ${tableName} where id in + + #{item} + + + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Entity.java.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Entity.java.vm new file mode 100644 index 00000000..ca7e7e6d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Entity.java.vm @@ -0,0 +1,33 @@ +package ${basePackage}.module.${modulePackage}.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import ${basePackage}.common.domain.BaseEntity; +#foreach ($entityImport in $entityImports) +$entityImport +#end +import lombok.Data; + +/** + * [ ${tableDesc} ] + * + * @author ${author} + * @version 1.0 + * @company ${company} + * @copyright (c) ${company}Inc. All rights reserved. + * @date ${date} + * @since JDK1.8 + */ +@Data +@TableName("${tableName}") +public class ${moduleClass}Entity extends BaseEntity{ +#foreach ($column in $columnList) + +#if($column.columnName != 'id' && $column.fieldName != 'updateTime' && $column.fieldName != 'createTime') + /** + * $column.columnDesc + */ + private $column.fieldType $column.fieldName; +#end +#end + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/ExcelVO.java.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/ExcelVO.java.vm new file mode 100644 index 00000000..fa4e7e0a --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/ExcelVO.java.vm @@ -0,0 +1,33 @@ +package ${basePackage}.module.${modulePackage}.domain.vo; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; +#foreach ($dtoImport in $dtoImports) +$dtoImport +#end + +/** + * [ ${tableDesc} ] + * + * @author ${author} + * @version 1.0 + * @company ${company} + * @copyright (c) ${company}Inc. All rights reserved. + * @date ${date} + * @since JDK1.8 + */ +@Data +public class ${moduleClass}ExcelVO { +#foreach ($column in $columnList) +#if($column.fieldType == 'Date') + @Excel(name = "${column.columnDesc}", format = "yyyy-MM-dd HH:mm:ss") + private $column.fieldType $column.fieldName; +#else + @Excel(name = "${column.columnDesc}") + private $column.fieldType $column.fieldName; +#end + +#end + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/QueryDTO.java.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/QueryDTO.java.vm new file mode 100644 index 00000000..44815d4d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/QueryDTO.java.vm @@ -0,0 +1,45 @@ +package ${basePackage}.module.${modulePackage}.domain.dto; + +import ${basePackage}.common.domain.PageParamDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.util.Date; +#foreach ($queryImport in $queryImports) +$queryImport +#end + +/** + * [ ${tableDesc} ] + * + * @author ${author} + * @version 1.0 + * @company ${company} + * @copyright (c) ${company}Inc. All rights reserved. + * @date ${date} + * @since JDK1.8 + */ +@Data +public class ${moduleClass}QueryDTO extends PageParamDTO { +#foreach ($queryField in $queryFieldList) + +#if($queryField.sqlOperate == 'in') + @ApiModelProperty("${queryField.columnDesc}") + private List<${queryField.fieldType}> ${queryField.fieldName}List; +#else + @ApiModelProperty("${queryField.columnDesc}") + private ${queryField.fieldType} ${queryField.fieldName}; +#end +#end + + @ApiModelProperty("创建时间-开始") + private Date createTimeBegin; + + @ApiModelProperty("创建时间-截止") + private Date createTimeEnd; + + @ApiModelProperty("上次更新时间-开始") + private Date updateTimeBegin; + + @ApiModelProperty("上次更新创建时间-开始") + private Date updateTimeEnd; +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Service.java.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Service.java.vm new file mode 100644 index 00000000..ca3b939d --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/Service.java.vm @@ -0,0 +1,108 @@ +package ${basePackage}.module.${modulePackage}.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import ${basePackage}.common.domain.PageResultDTO; +import ${basePackage}.common.domain.ResponseDTO; +import ${basePackage}.module.${modulePackage}.dao.${moduleClass}Dao; +import ${basePackage}.module.${modulePackage}.domain.dto.${moduleClass}AddDTO; +import ${basePackage}.module.${modulePackage}.domain.dto.${moduleClass}UpdateDTO; +import ${basePackage}.module.${modulePackage}.domain.dto.${moduleClass}QueryDTO; +import ${basePackage}.module.${modulePackage}.domain.entity.${moduleClass}Entity; +import ${basePackage}.module.${modulePackage}.domain.vo.${moduleClass}VO; +import ${basePackage}.module.${modulePackage}.domain.vo.${moduleClass}ExcelVO; +import ${basePackage}.util.SmartPageUtil; +import ${basePackage}.util.SmartBeanUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * [ ${tableDesc} ] + * + * @author ${author} + * @version 1.0 + * @company ${company} + * @copyright (c) ${company}Inc. All rights reserved. + * @date ${date} + * @since JDK1.8 + */ +@Service +public class ${moduleClass}Service { + + @Autowired + private ${moduleClass}Dao ${moduleVar}Dao; + + /** + * 根据id查询 + */ + public ${moduleClass}Entity getById(Long id){ + return ${moduleVar}Dao.selectById(id); + } + + /** + * 分页查询 + * @author ${author} + * @date ${date} + */ + public ResponseDTO> queryByPage(${moduleClass}QueryDTO queryDTO) { + Page page = SmartPageUtil.convert2QueryPage(queryDTO); + IPage<${moduleClass}VO> voList = ${moduleVar}Dao.queryByPage(page, queryDTO); + PageResultDTO<${moduleClass}VO> pageResultDTO = SmartPageUtil.convert2PageResult(voList); + return ResponseDTO.succData(pageResultDTO); + } + + /** + * 添加 + * @author ${author} + * @date ${date} + */ + public ResponseDTO add(${moduleClass}AddDTO addDTO) { + ${moduleClass}Entity entity = SmartBeanUtil.copy(addDTO, ${moduleClass}Entity.class); + ${moduleVar}Dao.insert(entity); + return ResponseDTO.succ(); + } + + /** + * 编辑 + * @author ${author} + * @date ${date} + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO update(${moduleClass}UpdateDTO updateDTO) { + ${moduleClass}Entity entity = SmartBeanUtil.copy(updateDTO, ${moduleClass}Entity.class); + ${moduleVar}Dao.updateById(entity); + return ResponseDTO.succ(); + } + + /** + * 删除 + * @author ${author} + * @date ${date} + */ + @Transactional(rollbackFor = Exception.class) + public ResponseDTO deleteByIds(List idList) { + ${moduleVar}Dao.deleteByIdList(idList); + return ResponseDTO.succ(); + } + + /** + * 查询全部导出对象 + * @author ${author} + * @date ${date} + */ + public List<${moduleClass}ExcelVO> queryAllExportData(${moduleClass}QueryDTO queryDTO) { + return ${moduleVar}Dao.queryAllExportData( queryDTO); + } + + /** + * 批量查询导出对象 + * @author ${author} + * @date ${date} + */ + public List<${moduleClass}ExcelVO> queryBatchExportData(List idList) { + return ${moduleVar}Dao.queryBatchExportData(idList); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/UpdateDTO.java.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/UpdateDTO.java.vm new file mode 100644 index 00000000..e96cc501 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/UpdateDTO.java.vm @@ -0,0 +1,20 @@ +package ${basePackage}.module.${modulePackage}.domain.dto; + +import lombok.Data; + +/** + * 更新 [ ${tableDesc} ] + * + * @author ${author} + * @version 1.0 + * @company ${company} + * @copyright (c) 2018 ${company}Inc. All rights reserved. + * @date ${date} + * @since JDK1.8 + */ +@Data +public class ${moduleClass}UpdateDTO extends ${moduleClass}AddDTO { + + private Long id; + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/VO.java.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/VO.java.vm new file mode 100644 index 00000000..b7a5ea53 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/java/VO.java.vm @@ -0,0 +1,35 @@ +package ${basePackage}.module.${modulePackage}.domain.vo; + +import lombok.Data; +#foreach ($dtoImport in $dtoImports) +$dtoImport +#end +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; + +/** + * [ ${tableDesc} ] + * + * @author ${author} + * @version 1.0 + * @company ${company} + * @copyright (c) ${company}Inc. All rights reserved. + * @date ${date} + * @since JDK1.8 + */ +@Data +public class ${moduleClass}VO { +#foreach ($column in $columnList) +#if($column.fieldType == 'Date') + @ApiModelProperty("${column.columnDesc}") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private $column.fieldType $column.fieldName; +#else + @ApiModelProperty("${column.columnDesc}") + private $column.fieldType $column.fieldName; +#end + +#end + + +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/Api.js.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/Api.js.vm new file mode 100644 index 00000000..858f2366 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/Api.js.vm @@ -0,0 +1,28 @@ +import { postAxios, getAxios, postDownloadAxios } from '@/lib/http'; + +export const ${moduleVar}Api = { + // 添加${tableDesc} @author ${author} + add${moduleClass}: (data) => { + return postAxios('/${moduleVar}/add', data); + }, + // 分页查询${tableDesc} @author ${author} + query${moduleClass}: (data) => { + return postAxios('/${moduleVar}/page/query', data); + }, + // 批量删除${tableDesc} @author ${author} + batchDelete${moduleClass}: (idList) => { + return postAxios('/${moduleVar}/deleteByIds', idList); + }, + // 修改${tableDesc} @author ${author} + update${moduleClass}: (data) => { + return postAxios('/${moduleVar}/update',data); + }, + // 导出全部 @author ${author} + exportAll:(data)=>{ + return postDownloadAxios('/${moduleVar}/export/all',data); + }, + // 批量导出 @author ${author} + batchExport: (idList) => { + return postDownloadAxios('/${moduleVar}/export/batch', idList); + }, +}; diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/List.vue.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/List.vue.vm new file mode 100644 index 00000000..3bc635f4 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/List.vue.vm @@ -0,0 +1,439 @@ + + + diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/ListForm.vue.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/ListForm.vue.vm new file mode 100644 index 00000000..558dfcb0 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/ListForm.vue.vm @@ -0,0 +1,132 @@ + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/Router.js.vm b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/Router.js.vm new file mode 100644 index 00000000..00d5ed6c --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/main/resources/templates/codegenerator/web/Router.js.vm @@ -0,0 +1,32 @@ +import Main from '@/components/main'; +// ${tableName}路由 +export const ${moduleVar} = [ + { + path: '/${webModuleName}', + name: '${moduleClass}', + component: Main, + meta: { + title: '${tableDesc}管理', + icon: 'icon iconfont iconyoujianguanli' + }, + children: [ + // ${tableDesc}列表 + { + path: '/${webModuleName}/${webModuleName}-list', + name: '${moduleClass}List', + meta: { + title: '${tableDesc}列表', + privilege: [ + { title: '查询', name: '${webModuleName}-list-query' }, + { title: '新增', name: '${webModuleName}-list-add' }, + { title: '编辑', name: '${webModuleName}-list-update' }, + { title: '批量删除', name: '${webModuleName}-list-batch-delete' }, + { title: '批量导出', name: '${webModuleName}-list-batch-export' }, + { title: '导出全部', name: '${webModuleName}-list-export-all' } + ] + }, + component: () => import('@/views/business/${webModuleName}/${webModuleName}-list.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/test/java/net/lab1024/smartadmin/BaseTest.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/test/java/net/lab1024/smartadmin/BaseTest.java new file mode 100644 index 00000000..6d681a15 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/test/java/net/lab1024/smartadmin/BaseTest.java @@ -0,0 +1,28 @@ +package net.lab1024.smartadmin; + +import org.junit.After; +import org.junit.Before; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +/** + * 测试基类 + * + * @author lizongliang + * @date 2017/09/29 10:54 + */ +@RunWith(SpringRunner.class) +@SpringBootTest(classes = SmartAdminApplication.class,webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class BaseTest { + + @Before + public void before() { + System.out.println("测试开始------------------"); + } + + @After + public void after() { + System.out.println("测试结束------------------"); + } +} diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/test/java/net/lab1024/smartadmin/SmartAdminApplicationTests.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/test/java/net/lab1024/smartadmin/SmartAdminApplicationTests.java new file mode 100644 index 00000000..d140b88b --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/test/java/net/lab1024/smartadmin/SmartAdminApplicationTests.java @@ -0,0 +1,11 @@ +package net.lab1024.smartadmin; + +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = SmartAdminApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SmartAdminApplicationTests { + +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-service/smart-admin-api/src/test/java/net/lab1024/smartadmin/module/support/codegenerator/CodeGeneratorServiceTest.java b/smart_admin_v1/smart-admin-service/smart-admin-api/src/test/java/net/lab1024/smartadmin/module/support/codegenerator/CodeGeneratorServiceTest.java new file mode 100644 index 00000000..e824cf51 --- /dev/null +++ b/smart_admin_v1/smart-admin-service/smart-admin-api/src/test/java/net/lab1024/smartadmin/module/support/codegenerator/CodeGeneratorServiceTest.java @@ -0,0 +1,66 @@ +package net.lab1024.smartadmin.module.support.codegenerator; + +import net.lab1024.smartadmin.BaseTest; +import net.lab1024.smartadmin.module.support.codegenerator.constant.SqlOperateTypeEnum; +import net.lab1024.smartadmin.module.support.codegenerator.domain.CodeGeneratorDTO; +import net.lab1024.smartadmin.module.support.codegenerator.domain.CodeGeneratorQueryColumnDTO; +import net.lab1024.smartadmin.module.support.codegenerator.service.CodeGeneratorService; +import com.google.common.collect.Lists; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * IdGeneratorService Tester. + * + * @author zhuoda + * @version 1.0 + */ +public class CodeGeneratorServiceTest extends BaseTest { + + @Autowired + private CodeGeneratorService codeGeneratorService; + + @Test + public void testGenerate() throws Exception { + /** + * !!! 所有查询条件均包含了createTime和updateTime的 范围查询 !!! + */ + + // t_peony 牡丹花表 + + //搜索字段 kind, 使用like搜索 + CodeGeneratorQueryColumnDTO kind = CodeGeneratorQueryColumnDTO.builder() + .columnName("kind") + .sqlOperate(SqlOperateTypeEnum.LIKE).build(); + //搜索字段 kind, 使用 == 搜索 + CodeGeneratorQueryColumnDTO id = CodeGeneratorQueryColumnDTO.builder() + .columnName("id") + .sqlOperate(SqlOperateTypeEnum.EQUALS).build(); + //搜索字段 name, 使用like搜索 + CodeGeneratorQueryColumnDTO name = CodeGeneratorQueryColumnDTO.builder() + .columnName("name") + .sqlOperate(SqlOperateTypeEnum.LIKE).build(); + //搜索字段 color, 使用like搜索 + CodeGeneratorQueryColumnDTO color = CodeGeneratorQueryColumnDTO.builder() + .columnName("color") + .sqlOperate(SqlOperateTypeEnum.LIKE).build(); + + List queryColumnList = Lists.newArrayList(id, kind, name, color); + + CodeGeneratorDTO codeGenerator = CodeGeneratorDTO.builder() + .author("卓大")//class 注释作者 + .company("1024创新实验室( www.1024lab.net )")//class注释公司名字 + .tableName("t_peony")//表名 + .tablePrefix("t_")//表名前缀 + .basePackage("net.lab1024.smartadmin")//包名 + .modulePackage("business.peony")//业务子包名 + .queryColumnList(queryColumnList)//加入搜搜字段 + .build();//构建 + + //当需要代码生成的时候,请将注释去掉 +// codeGeneratorService.codeGenerator(codeGenerator); + } + +} diff --git a/smart_admin_v1/smart-admin-web/.babelrc b/smart_admin_v1/smart-admin-web/.babelrc new file mode 100644 index 00000000..2a818842 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/.babelrc @@ -0,0 +1,5 @@ +{ + "presets": [ + "@vue/app" + ] +} diff --git a/smart_admin_v1/smart-admin-web/.editorconfig b/smart_admin_v1/smart-admin-web/.editorconfig new file mode 100644 index 00000000..9d08a1a8 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/smart_admin_v1/smart-admin-web/.env.development b/smart_admin_v1/smart-admin-web/.env.development new file mode 100644 index 00000000..746c33a9 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/.env.development @@ -0,0 +1,4 @@ +NODE_ENV=development +VUE_APP_TYPE=dev +VUE_APP_URL=http://127.0.0.1:10086/smart-admin-api/ +VUE_APP_SOCKET_URL=ws://127.0.0.1:10086/smart-admin-api/ diff --git a/smart_admin_v1/smart-admin-web/.env.local b/smart_admin_v1/smart-admin-web/.env.local new file mode 100644 index 00000000..746c33a9 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/.env.local @@ -0,0 +1,4 @@ +NODE_ENV=development +VUE_APP_TYPE=dev +VUE_APP_URL=http://127.0.0.1:10086/smart-admin-api/ +VUE_APP_SOCKET_URL=ws://127.0.0.1:10086/smart-admin-api/ diff --git a/smart_admin_v1/smart-admin-web/.env.prod b/smart_admin_v1/smart-admin-web/.env.prod new file mode 100644 index 00000000..d90edfe9 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/.env.prod @@ -0,0 +1,8 @@ +NODE_ENV=production +VUE_APP_TYPE=prod +VUE_APP_URL=http://preview.smartadmin.1024lab.net/smart-admin-api/ +VUE_APP_SOCKET_URL=ws://preview.smartadmin.1024lab.net/smart-admin-api/ + +// VUE_APP_URL=http://127.0.0.1:10086/smart-admin-api/ +// VUE_APP_SOCKET_URL=ws://127.0.0.1:10086/smart-admin-api/ + diff --git a/smart_admin_v1/smart-admin-web/.env.sit b/smart_admin_v1/smart-admin-web/.env.sit new file mode 100644 index 00000000..ac2ac140 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/.env.sit @@ -0,0 +1,3 @@ +NODE_ENV=production +VUE_APP_TYPE=sit +VUE_APP_URL=http://172.16.0.145:10086/smart-admin-api/ diff --git a/smart-admin-web/javascript-ant-design-vue3/README.en.md b/smart_admin_v1/smart-admin-web/.eslintignore similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/README.en.md rename to smart_admin_v1/smart-admin-web/.eslintignore diff --git a/smart_admin_v1/smart-admin-web/.eslintrc.js b/smart_admin_v1/smart-admin-web/.eslintrc.js new file mode 100644 index 00000000..28180441 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/.eslintrc.js @@ -0,0 +1,34 @@ +module.exports = { + root: true, + "extends": [ + "plugin:vue/essential", + "@vue/standard" + ], + rules: { + "generator-star-spacing": "off", //生成器函数*的前后空格 + // allow debugger during development + "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off", + "vue/no-parsing-error": [2, { + "x-invalid-end-tag": false + }], + "no-const-assign": 2, //禁止修改const声明的变量 + "no-unused-vars": [0, { //禁止声明变量后却不使用 + // 允许声明未使用变量 + "vars": "all", + // 参数不检查 + "args": "none" + }], + "quotes": [2, "single"], //单引号 + "singleQuote": true, + "indent": 2, //缩进量 + "no-var": 2, //禁用var,用let和const代替 + "camelcase": 2, //强制驼峰法命名 + "eqeqeq": 1, //要求使用 === 和 !== 代替 == 和 != 操作符 + "no-eq-null": 2, //禁止对null使用==或!=运算符 + "no-sequences": 0, //禁用逗号操作符 + "semi": [2, "always"] //强制分号 + }, + parserOptions: { + parser: "babel-eslint" + } +} diff --git a/smart_admin_v1/smart-admin-web/.gitignore b/smart_admin_v1/smart-admin-web/.gitignore new file mode 100644 index 00000000..a1009cf5 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/.gitignore @@ -0,0 +1,22 @@ +.DS_Store +node_modules +/dist + +/tests/e2e/videos/ +/tests/e2e/screenshots/ + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* + +build/env.js diff --git a/smart_admin_v1/smart-admin-web/.postcssrc.js b/smart_admin_v1/smart-admin-web/.postcssrc.js new file mode 100644 index 00000000..961986e2 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/.postcssrc.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {} + } +} diff --git a/smart_admin_v1/smart-admin-web/.travis.yml b/smart_admin_v1/smart-admin-web/.travis.yml new file mode 100644 index 00000000..07c971f8 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: stable +script: npm run lint +notifications: + email: false diff --git a/smart_admin_v1/smart-admin-web/README.md b/smart_admin_v1/smart-admin-web/README.md new file mode 100644 index 00000000..fe637c03 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/README.md @@ -0,0 +1,13 @@ +### 启动讲解 + +###### 配置vscode +将 /vscode/settings.json文件配置到vscode中 + +###### 启动 +1 安装依赖: + +`npm install` + +2 运行本地环境 + +`npm run local` \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/cypress.json b/smart_admin_v1/smart-admin-web/cypress.json new file mode 100644 index 00000000..470c7201 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/cypress.json @@ -0,0 +1,3 @@ +{ + "pluginsFile": "tests/e2e/plugins/index.js" +} diff --git a/smart_admin_v1/smart-admin-web/doc/notice.txt b/smart_admin_v1/smart-admin-web/doc/notice.txt new file mode 100644 index 00000000..8184781f --- /dev/null +++ b/smart_admin_v1/smart-admin-web/doc/notice.txt @@ -0,0 +1,2 @@ +1 login-form.vue 去掉登录帐号提示 +2 login-form.vue 修改默认登录绑定帐号 \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/package-lock.json b/smart_admin_v1/smart-admin-web/package-lock.json new file mode 100644 index 00000000..a1609f1f --- /dev/null +++ b/smart_admin_v1/smart-admin-web/package-lock.json @@ -0,0 +1,34184 @@ +{ + "name": "smart-admin", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "smart-admin", + "version": "1.0.0", + "dependencies": { + "@antv/g2": "^3.5.8-beta.1", + "axios": "^0.18.0", + "clipboard": "^2.0.0", + "codemirror": "^5.38.0", + "core-js": "^2.0.0", + "countup": "^1.8.2", + "cropperjs": "^1.2.2", + "dayjs": "^1.7.7", + "decimal.js": "^10.1.1", + "e-guide-layer": "^0.1.1", + "echarts": "^4.0.4", + "gq-plus": "^2.1.5", + "html2canvas": "^1.0.0-alpha.12", + "jquery": "^2.2.3", + "js-cookie": "^2.2.0", + "lodash": "^4.17.15", + "mavon-editor": "^2.7.5", + "moment": "^2.24.0", + "simplemde": "^1.11.2", + "sortablejs": "^1.7.0", + "tree-table-vue": "^1.1.0", + "v-org-tree": "^1.0.6", + "view-design": "^4.0.2", + "vue": "^2.5.10", + "vue-data-loading": "^0.2.4", + "vue-enum": "1.0.5", + "vue-i18n": "^7.8.0", + "vue-infinite-loading": "^2.4.4", + "vue-json-viewer": "^2.2.0", + "vue-json-views": "^0.1.1", + "vue-router": "^3.1.3", + "vue-slick": "^1.1.15", + "vuedraggable": "^2.16.0", + "vuex": "^3.0.1", + "wangeditor": "^3.1.1", + "xlsx": "^0.13.3" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "^3.0.1", + "@vue/cli-plugin-eslint": "^3.0.1", + "@vue/cli-plugin-unit-mocha": "^3.0.1", + "@vue/cli-service": "^3.0.1", + "@vue/eslint-config-standard": "^3.0.0-beta.10", + "@vue/test-utils": "^1.0.0-beta.10", + "chai": "^4.1.2", + "compression-webpack-plugin": "^3.0.0", + "eslint-plugin-cypress": "^2.0.1", + "less": "^2.7.3", + "less-loader": "^4.0.5", + "lint-staged": "^6.0.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "vue-template-compiler": "^2.5.13" + } + }, + "node_modules/@antv/adjust": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/@antv/adjust/download/@antv/adjust-0.1.1.tgz", + "integrity": "sha1-4mOrDhoZQaZIhC/Ahs9lp+O3Xpg=", + "dependencies": { + "@antv/util": "~1.3.1" + } + }, + "node_modules/@antv/attr": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/@antv/attr/download/@antv/attr-0.1.2.tgz", + "integrity": "sha1-LusSL8qvhRoth0mrx8YFGdP3fjc=", + "dependencies": { + "@antv/util": "~1.3.1" + } + }, + "node_modules/@antv/component": { + "version": "0.3.9", + "resolved": "https://registry.npm.taobao.org/@antv/component/download/@antv/component-0.3.9.tgz", + "integrity": "sha1-7VYcY5t3OM4D/2OoZvWeJR3oKhc=", + "dependencies": { + "@antv/attr": "~0.1.2", + "@antv/g": "~3.3.5", + "@antv/util": "~1.3.1", + "wolfy87-eventemitter": "~5.1.0" + } + }, + "node_modules/@antv/component/node_modules/@antv/g": { + "version": "3.3.6", + "resolved": "https://registry.npm.taobao.org/@antv/g/download/@antv/g-3.3.6.tgz", + "integrity": "sha1-Ef7Z3cntTloqokS3yKu5gqAD8gE=", + "dependencies": { + "@antv/gl-matrix": "~2.7.1", + "@antv/util": "~1.3.1", + "d3-ease": "~1.0.3", + "d3-interpolate": "~1.1.5", + "d3-timer": "~1.0.6", + "wolfy87-eventemitter": "~5.1.0" + } + }, + "node_modules/@antv/coord": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/@antv/coord/download/@antv/coord-0.1.0.tgz", + "integrity": "sha1-SKgK420HVS+WZX5/gJUifGPwwKk=", + "dependencies": { + "@antv/util": "~1.3.1" + } + }, + "node_modules/@antv/g": { + "version": "3.4.10", + "resolved": "https://registry.npm.taobao.org/@antv/g/download/@antv/g-3.4.10.tgz", + "integrity": "sha1-57YWqiGxesUYUNAzMypa+N6P4BU=", + "dependencies": { + "@antv/gl-matrix": "~2.7.1", + "@antv/util": "~1.3.1", + "d3-ease": "~1.0.3", + "d3-interpolate": "~1.1.5", + "d3-timer": "~1.0.6", + "detect-browser": "^5.1.0" + } + }, + "node_modules/@antv/g2": { + "version": "3.5.17", + "resolved": "https://registry.npm.taobao.org/@antv/g2/download/@antv/g2-3.5.17.tgz", + "integrity": "sha1-Asi6xhDSHSi04jYAvHbEjn9ZyRk=", + "dependencies": { + "@antv/adjust": "~0.1.0", + "@antv/attr": "~0.1.2", + "@antv/component": "~0.3.3", + "@antv/coord": "~0.1.0", + "@antv/g": "~3.4.10", + "@antv/scale": "~0.1.1", + "@antv/util": "~1.3.1", + "venn.js": "~0.2.20", + "wolfy87-eventemitter": "~5.1.0" + } + }, + "node_modules/@antv/gl-matrix": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/@antv/gl-matrix/download/@antv/gl-matrix-2.7.1.tgz", + "integrity": "sha1-rLjjf3qz3wE0WrpDcteUK+QuuhQ=" + }, + "node_modules/@antv/scale": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/@antv/scale/download/@antv/scale-0.1.5.tgz", + "integrity": "sha1-JDJm6LkEfPZLL9/ED5g0zwhGSW4=", + "dependencies": { + "@antv/util": "~1.3.1", + "fecha": "~2.3.3" + } + }, + "node_modules/@antv/util": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/@antv/util/download/@antv/util-1.3.1.tgz", + "integrity": "sha1-MKNLIB/5Em7A1YxyyBZqnD5kTM0=", + "dependencies": { + "@antv/gl-matrix": "^2.7.1" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.10.4.tgz?cache=0&sync_timestamp=1593521174697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.10.4.tgz", + "integrity": "sha1-Fo2ho26Q2miujUnA8bSMfGJJITo=", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/core": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.10.5.tgz?cache=0&sync_timestamp=1594750809694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.10.5.tgz", + "integrity": "sha1-HxXizKitmh14o43bphL158270zA=", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.5", + "@babel/types": "^7.10.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.10.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.10.5.tgz", + "integrity": "sha1-G5A1VLyMWD7o0l8eiWlzLmuCmmk=", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha1-W/DUlaP3V6w72ki1vzs7ownHK6M=", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha1-uwt18xv5jL+f8UPBrleLhydK4aM=", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.10.5.tgz?cache=0&sync_timestamp=1594751493358&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.10.5.tgz", + "integrity": "sha1-n2FEa6gOgkCwpchcb9rIRZ1vJZ0=", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.10.5", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.10.4.tgz", + "integrity": "sha1-/dYNiFJGWaC2lZwFeZJeQlcU87g=", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-regex": "^7.10.4", + "regexpu-core": "^4.7.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.10.5.tgz?cache=0&sync_timestamp=1594751492980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-define-map%2Fdownload%2F%40babel%2Fhelper-define-map-7.10.5.tgz", + "integrity": "sha1-tTwQ23imQIABUmkrEzkxR6y5uzA=", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.10.4.tgz?cache=0&sync_timestamp=1593522841702&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.10.4.tgz", + "integrity": "sha1-QKHNkXv/Eoj2malKdbN6Gi29jHw=", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.10.4.tgz?cache=0&sync_timestamp=1593521218775&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.10.4.tgz", + "integrity": "sha1-0tOyDFmtjEcRL6fSqUvAnV74Lxo=", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.10.4.tgz?cache=0&sync_timestamp=1593522827189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.10.4.tgz", + "integrity": "sha1-mMHL6g4jMvM/mkZhuM4VBbLBm6I=", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.10.4.tgz?cache=0&sync_timestamp=1593521259807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.10.4.tgz", + "integrity": "sha1-1JsAHR1aaMpeZgTdoBpil/fJOB4=", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.10.5.tgz?cache=0&sync_timestamp=1594751492273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.10.5.tgz", + "integrity": "sha1-Fy9W56Y+eBEvOgQFXyQ2WvcC5+4=", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.5" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.10.4.tgz", + "integrity": "sha1-TFxUvgS9MWcKc4J5fXW5+i5bViA=", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.10.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.10.5.tgz", + "integrity": "sha1-EgwnHAszU2c/zf2MBT2zxUSiYNY=", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.10.4.tgz?cache=0&sync_timestamp=1593522827576&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha1-UNyWQT1ZT5lad5BZBbBYk813lnM=", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha1-L3WoMSadT2d95JmG3/WZJ1M883U=", + "dev": true + }, + "node_modules/@babel/helper-regex": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.10.5.tgz?cache=0&sync_timestamp=1594751487108&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-regex%2Fdownload%2F%40babel%2Fhelper-regex-7.10.5.tgz", + "integrity": "sha1-Mt+7eYmQc8QVVXBToZvQVarlCuA=", + "dev": true, + "dependencies": { + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.10.4.tgz?cache=0&sync_timestamp=1593521228698&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-remap-async-to-generator%2Fdownload%2F%40babel%2Fhelper-remap-async-to-generator-7.10.4.tgz", + "integrity": "sha1-/Oi+pOlpC76SMFbe0h5UtOi2jtU=", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.10.4.tgz", + "integrity": "sha1-1YXNk4jqBuYDHkzUS2cTy+rZ5s8=", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.10.4.tgz?cache=0&sync_timestamp=1593521217867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.10.4.tgz", + "integrity": "sha1-D1zNopRSd6KnotOoIeFTle3PNGE=", + "dev": true, + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.10.4.tgz?cache=0&sync_timestamp=1593522826673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.10.4.tgz", + "integrity": "sha1-LHBXbqo7VgmyTLmdsoiMw/xCUdE=", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.10.4.tgz?cache=0&sync_timestamp=1593522843594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.10.4.tgz", + "integrity": "sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI=", + "dev": true + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.10.4.tgz?cache=0&sync_timestamp=1593522949000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.10.4.tgz", + "integrity": "sha1-im9wHqsP8592W1oc/vQJmQ5iS4c=", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helpers": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.10.4.tgz", + "integrity": "sha1-Kr6w1yGv98Cpc3a54fb2XXpHUEQ=", + "dev": true, + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.10.4.tgz?cache=0&sync_timestamp=1593522962210&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.10.4.tgz", + "integrity": "sha1-fRvf1ldTU4+r5sOFls23bZrGAUM=", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.10.5.tgz?cache=0&sync_timestamp=1594750823758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.10.5.tgz", + "integrity": "sha1-58a/Wn3v+VfOyfBLVR4nYpCdgms=", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.10.5.tgz?cache=0&sync_timestamp=1594751487997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-async-generator-functions%2Fdownload%2F%40babel%2Fplugin-proposal-async-generator-functions-7.10.5.tgz", + "integrity": "sha1-NJHKvy98F5q4IGBs7Cf+0V4OhVg=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4", + "@babel/plugin-syntax-async-generators": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.10.4.tgz", + "integrity": "sha1-ozv2Mto5ClnHqMVwBF0RFc13iAc=", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.10.5.tgz?cache=0&sync_timestamp=1594751494194&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-decorators%2Fdownload%2F%40babel%2Fplugin-proposal-decorators-7.10.5.tgz", + "integrity": "sha1-QomLukeLxLGuJCpwOpU6etNQ/7Q=", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-decorators": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.10.4.tgz", + "integrity": "sha1-WT5ZxjUoFgIzvTIbGuvgggwjQds=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.10.4.tgz", + "integrity": "sha1-UBKawha5pqVbOFP92SPnS/VTpMA=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.10.4.tgz", + "integrity": "sha1-Mck4MJ0kp4pJ1o/av/qoY3WFVN0=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.10.4.tgz", + "integrity": "sha1-RIPNpTBBzjQTt/4vAAImZd36p10=", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.10.4.tgz", + "integrity": "sha1-aFMIWyxCn50yLQL1pjUBjN6yNgw=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.10.4.tgz?cache=0&sync_timestamp=1593522939386&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-jsx%2Fdownload%2F%40babel%2Fplugin-syntax-jsx-7.10.4.tgz", + "integrity": "sha1-Oauq48v3EMQ3PYQpSE5rohNAFmw=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz?cache=0&sync_timestamp=1578950070697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.10.4.tgz?cache=0&sync_timestamp=1593522807583&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-arrow-functions%2Fdownload%2F%40babel%2Fplugin-transform-arrow-functions-7.10.4.tgz", + "integrity": "sha1-4ilg135pfHT0HFAdRNc9v4pqZM0=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.10.4.tgz?cache=0&sync_timestamp=1593522851748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-async-to-generator%2Fdownload%2F%40babel%2Fplugin-transform-async-to-generator-7.10.4.tgz", + "integrity": "sha1-QaUBfknrbzzak5KlHu8pQFskWjc=", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.10.4.tgz?cache=0&sync_timestamp=1593521910347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.10.4.tgz", + "integrity": "sha1-GvpZV0T3XkOpGvc7DZmOz+Trwug=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.10.5.tgz?cache=0&sync_timestamp=1594751488558&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.10.5.tgz", + "integrity": "sha1-uBuKr++/5o8PZffvOXuezmimA30=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.10.4.tgz?cache=0&sync_timestamp=1593521236444&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-classes%2Fdownload%2F%40babel%2Fplugin-transform-classes-7.10.4.tgz", + "integrity": "sha1-QFE2rys+IYvEoZJiKLyRerGgrcc=", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.10.4.tgz?cache=0&sync_timestamp=1593522921161&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-computed-properties%2Fdownload%2F%40babel%2Fplugin-transform-computed-properties-7.10.4.tgz", + "integrity": "sha1-ne2DqBboLe0o1S1LTsvdgQzfwOs=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.10.4.tgz", + "integrity": "sha1-cN3Ss9G+qD0BUJ6bsl3bOnT8heU=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.10.4.tgz", + "integrity": "sha1-RpwgYhBcHragQOr0+sS0iAeDle4=", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.10.4.tgz", + "integrity": "sha1-aX5Qyf7hQ4D+hD0fMGspVhdDHkc=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.10.4.tgz?cache=0&sync_timestamp=1593521230232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.10.4.tgz", + "integrity": "sha1-WuM4xX+M9AAb2zVgeuZrktZlry4=", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.10.4.tgz", + "integrity": "sha1-wIiS6IGdOl2ykDGxFa9RHbv+uuk=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.10.4.tgz", + "integrity": "sha1-akZ4gOD8ljhRS6NpERgR3b4mRLc=", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.10.4.tgz", + "integrity": "sha1-n0K6CEEQChNfInEtDjkcRi9XHzw=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.10.5.tgz?cache=0&sync_timestamp=1594751493579&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-amd%2Fdownload%2F%40babel%2Fplugin-transform-modules-amd-7.10.5.tgz", + "integrity": "sha1-G5zdrwXZ6Is6rTOcs+RFxPAgqbE=", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.10.4.tgz", + "integrity": "sha1-ZmZ8Pu2h6/eJbUHx8WsXEFovvKA=", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.10.5.tgz?cache=0&sync_timestamp=1594751492758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.10.5.tgz", + "integrity": "sha1-YnAJnIVAZmgbrp4F+H4bnK2+jIU=", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.10.4.tgz?cache=0&sync_timestamp=1593522937615&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.10.4.tgz", + "integrity": "sha1-moSB/oG4JGVLOgtl2j34nz0hg54=", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", + "integrity": "sha1-eLTZeIELbzvPA/njGPL8DtQa7LY=", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.10.4.tgz?cache=0&sync_timestamp=1593522495673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-new-target%2Fdownload%2F%40babel%2Fplugin-transform-new-target-7.10.4.tgz", + "integrity": "sha1-kJfXU8t7Aky3OBo7LlLpUTqcaIg=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.10.4.tgz", + "integrity": "sha1-1xRsTROUM+emUm+IjGZ+MUoJOJQ=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.10.5.tgz?cache=0&sync_timestamp=1594751489267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-parameters%2Fdownload%2F%40babel%2Fplugin-transform-parameters-7.10.5.tgz", + "integrity": "sha1-WdM51Y0LGVBDX0BD504lEABeLEo=", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.10.4.tgz?cache=0&sync_timestamp=1593521089707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-regenerator%2Fdownload%2F%40babel%2Fplugin-transform-regenerator-7.10.4.tgz", + "integrity": "sha1-IBXlnYOQdOdoON4hWdtCGWb9i2M=", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.10.5.tgz?cache=0&sync_timestamp=1594751489022&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-runtime%2Fdownload%2F%40babel%2Fplugin-transform-runtime-7.10.5.tgz", + "integrity": "sha1-Ozm3skgw4MLY/3pEif5c+Z+6zoY=", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "resolve": "^1.8.1", + "semver": "^5.5.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.10.4.tgz", + "integrity": "sha1-n9Jexc3VVbt/Rz5ebuHJce7eTdY=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.10.4.tgz?cache=0&sync_timestamp=1593522927458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-spread%2Fdownload%2F%40babel%2Fplugin-transform-spread-7.10.4.tgz", + "integrity": "sha1-TiyF6g1quu4bJNz7uuQm/o1nTP8=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.10.4.tgz", + "integrity": "sha1-jziJ7oZXWBEwop2cyR18c7fEoo0=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-regex": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.10.5.tgz?cache=0&sync_timestamp=1594751489580&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-template-literals%2Fdownload%2F%40babel%2Fplugin-transform-template-literals-7.10.5.tgz", + "integrity": "sha1-eLxdYmpmQtszEtnQ8AH152Of3ow=", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.10.4.tgz", + "integrity": "sha1-lQnxp+7DHE7b/+E3wWzDP/C8W/w=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.10.4.tgz?cache=0&sync_timestamp=1593522855498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-regex%2Fdownload%2F%40babel%2Fplugin-transform-unicode-regex-7.10.4.tgz", + "integrity": "sha1-5W1x+SgvrG2wnIJ0IFVXbV5tgKg=", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.3.4", + "resolved": "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.3.4.tgz", + "integrity": "sha1-iHzzi20jyC8ZtRNSmL2xYAYuM+E=", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.3.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.3.4", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.3.4", + "@babel/plugin-transform-classes": "^7.3.4", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.2.0", + "@babel/plugin-transform-dotall-regex": "^7.2.0", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.2.0", + "@babel/plugin-transform-function-name": "^7.2.0", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "@babel/plugin-transform-modules-systemjs": "^7.3.4", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", + "@babel/plugin-transform-new-target": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.3.4", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.2.0", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.2.0", + "browserslist": "^4.3.4", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.10.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.10.5.tgz", + "integrity": "sha1-MD2L1EDs1aSR6uYRf9M2dphnTFw=", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/runtime-corejs2": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/runtime-corejs2/download/@babel/runtime-corejs2-7.10.5.tgz?cache=0&sync_timestamp=1594751489791&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime-corejs2%2Fdownload%2F%40babel%2Fruntime-corejs2-7.10.5.tgz", + "integrity": "sha1-jaoc7MwEaOXC4V8STj9RwrMDO0k=", + "dev": true, + "dependencies": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.10.4.tgz", + "integrity": "sha1-MlGZbEIA68cdGo/EBfupQPNrong=", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/traverse": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.10.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.10.5.tgz", + "integrity": "sha1-d85GT1sli+Jlr2GNj93wU28gtWQ=", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/types": "^7.10.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "node_modules/@babel/types": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.10.5.tgz?cache=0&sync_timestamp=1594750825865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.10.5.tgz", + "integrity": "sha1-2Irn4v3oa/v+hR1Nga+nCpl7XRU=", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz?cache=0&sync_timestamp=1593993745797&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-2.1.4.tgz", + "integrity": "sha1-XWftQ/P9QaadS5/3tW58DR0KgeU=", + "deprecated": "Moved to 'npm install @sideway/address'", + "dev": true + }, + "node_modules/@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz", + "integrity": "sha1-CnCVreoGckPOMoPhtWuKj0U7JCo=", + "deprecated": "This version has been deprecated and is no longer supported or maintained", + "dev": true + }, + "node_modules/@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz", + "integrity": "sha1-/elgZMpEbeyMVajC8TCVewcMbgY=", + "deprecated": "This version has been deprecated and is no longer supported or maintained", + "dev": true + }, + "node_modules/@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz", + "integrity": "sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc=", + "deprecated": "Switch to 'npm install joi'", + "dev": true, + "dependencies": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "node_modules/@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npm.taobao.org/@hapi/topo/download/@hapi/topo-3.1.6.tgz?cache=0&sync_timestamp=1593916080558&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Ftopo%2Fdownload%2F%40hapi%2Ftopo-3.1.6.tgz", + "integrity": "sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck=", + "deprecated": "This version has been deprecated and is no longer supported or maintained", + "dev": true, + "dependencies": { + "@hapi/hoek": "^8.3.0" + } + }, + "node_modules/@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha1-vnx4RhKLiPapsdEmGgrQbrXA/fg=", + "dev": true, + "dependencies": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", + "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=", + "dev": true, + "dependencies": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz", + "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin": { + "version": "1.7.1", + "resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.7.1.tgz", + "integrity": "sha1-cG9kvLSouWQrSK46zkRMcDNNYV0=", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "error-stack-parser": "^2.0.0", + "string-width": "^2.0.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz", + "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA=", + "dev": true + }, + "node_modules/@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.3.tgz", + "integrity": "sha1-5rqA82t9qtLGhazZJmOC5omFwYM=", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.5", + "resolved": "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.5.tgz?cache=0&sync_timestamp=1591720749429&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.5.tgz", + "integrity": "sha1-3M5EMOZLRDuolF8CkPtWStW6xt0=", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npm.taobao.org/@types/json5/download/@types/json5-0.0.29.tgz?cache=0&sync_timestamp=1588201498029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson5%2Fdownload%2F%40types%2Fjson5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz", + "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=", + "dev": true + }, + "node_modules/@types/node": { + "version": "14.0.24", + "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-14.0.24.tgz?cache=0&sync_timestamp=1595281751560&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.0.24.tgz", + "integrity": "sha1-sPhvWFZPoCooto+LVdTN7ELjudY=", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz", + "integrity": "sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4=", + "dev": true + }, + "node_modules/@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz", + "integrity": "sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ=", + "dev": true + }, + "node_modules/@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz", + "integrity": "sha1-BI/leZWNpAj7eosqPsBQtQpmEEA=", + "dev": true + }, + "node_modules/@vue/babel-plugin-transform-vue-jsx": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.1.2.tgz", + "integrity": "sha1-wKPm78Ai515CR7RIqPxrhvA+kcA=", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-preset-app": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/babel-preset-app/download/@vue/babel-preset-app-3.12.1.tgz", + "integrity": "sha1-JMR3BS8HjzD9t3NRA7FN0fosv+E=", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-decorators": "^7.1.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.4.0", + "@babel/preset-env": "^7.0.0 < 7.4.0", + "@babel/runtime": "^7.0.0", + "@babel/runtime-corejs2": "^7.2.0", + "@vue/babel-preset-jsx": "^1.0.0", + "babel-plugin-dynamic-import-node": "^2.2.0", + "babel-plugin-module-resolver": "3.2.0", + "core-js": "^2.6.5" + } + }, + "node_modules/@vue/babel-preset-jsx": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.1.2.tgz", + "integrity": "sha1-LhaetMIE6jfKZsLqhaiAv8mdTyA=", + "dev": true, + "dependencies": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "@vue/babel-sugar-functional-vue": "^1.1.2", + "@vue/babel-sugar-inject-h": "^1.1.2", + "@vue/babel-sugar-v-model": "^1.1.2", + "@vue/babel-sugar-v-on": "^1.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-functional-vue": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.1.2.tgz", + "integrity": "sha1-9+JPugnm8e5wEEVgqICAV1VfGpo=", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-inject-h": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.1.2.tgz", + "integrity": "sha1-ilJ2ttji7Rb/yAeKrZQjYnTm7fA=", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-model": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.1.2.tgz", + "integrity": "sha1-H/b9G4ACI/ycsehNzrXlLXN6gZI=", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-model/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/babel-sugar-v-on": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.1.2.tgz", + "integrity": "sha1-su+ZuPL6sJ++rSWq1w70Lhz1sTs=", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "camelcase": "^5.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-on/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/cli-overlay": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-overlay/download/@vue/cli-overlay-3.12.1.tgz?cache=0&sync_timestamp=1592976328085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-overlay%2Fdownload%2F%40vue%2Fcli-overlay-3.12.1.tgz", + "integrity": "sha1-vf3o9xI1YasG5OTGC4VMxQkvWrE=", + "dev": true + }, + "node_modules/@vue/cli-plugin-babel": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-babel/download/@vue/cli-plugin-babel-3.12.1.tgz", + "integrity": "sha1-mnkVnejNCGsBP6bXijmDCy4uxwY=", + "dev": true, + "dependencies": { + "@babel/core": "^7.0.0", + "@vue/babel-preset-app": "^3.12.1", + "@vue/cli-shared-utils": "^3.12.1", + "babel-loader": "^8.0.5", + "webpack": "^4.0.0" + } + }, + "node_modules/@vue/cli-plugin-eslint": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-eslint/download/@vue/cli-plugin-eslint-3.12.1.tgz", + "integrity": "sha1-MCxGOGfzjnkLuZbq/fcVnHgtyM8=", + "dev": true, + "dependencies": { + "@vue/cli-shared-utils": "^3.12.1", + "babel-eslint": "^10.0.1", + "eslint-loader": "^2.1.2", + "globby": "^9.2.0", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + }, + "optionalDependencies": { + "eslint": "^4.19.1", + "eslint-plugin-vue": "^4.7.1" + } + }, + "node_modules/@vue/cli-plugin-unit-mocha": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-unit-mocha/download/@vue/cli-plugin-unit-mocha-3.12.1.tgz?cache=0&sync_timestamp=1592978125871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-plugin-unit-mocha%2Fdownload%2F%40vue%2Fcli-plugin-unit-mocha-3.12.1.tgz", + "integrity": "sha1-lwxTZHW/RwqoVLDUzEFO2bJCZjY=", + "dev": true, + "dependencies": { + "@vue/cli-shared-utils": "^3.12.1", + "jsdom": "^13.2.0", + "jsdom-global": "^3.0.2", + "mocha": "^5.2.0", + "mocha-webpack": "^2.0.0-beta.0" + } + }, + "node_modules/@vue/cli-service": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-service/download/@vue/cli-service-3.12.1.tgz", + "integrity": "sha1-EyILHBiSVOfAAzkN8ykIb5tud+Y=", + "dev": true, + "dependencies": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@vue/cli-overlay": "^3.12.1", + "@vue/cli-shared-utils": "^3.12.1", + "@vue/component-compiler-utils": "^3.0.0", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^6.1.1", + "acorn-walk": "^6.1.1", + "address": "^1.0.3", + "autoprefixer": "^9.5.1", + "browserslist": "^4.5.4", + "cache-loader": "^2.0.1", + "case-sensitive-paths-webpack-plugin": "^2.2.0", + "chalk": "^2.4.2", + "cli-highlight": "^2.1.0", + "clipboardy": "^2.0.0", + "cliui": "^5.0.0", + "copy-webpack-plugin": "^4.6.0", + "css-loader": "^1.0.1", + "cssnano": "^4.1.10", + "current-script-polyfill": "^1.0.0", + "debug": "^4.1.1", + "default-gateway": "^5.0.2", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "escape-string-regexp": "^1.0.5", + "file-loader": "^3.0.1", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^1.0.2", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.8.0", + "minimist": "^1.2.0", + "ora": "^3.4.0", + "portfinder": "^1.0.20", + "postcss-loader": "^3.0.0", + "read-pkg": "^5.0.0", + "semver": "^6.0.0", + "slash": "^2.0.0", + "source-map-url": "^0.4.0", + "ssri": "^6.0.1", + "string.prototype.padend": "^3.0.0", + "terser-webpack-plugin": "^1.2.3", + "thread-loader": "^2.1.2", + "url-loader": "^1.1.2", + "vue-loader": "^15.7.0", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.3.0", + "webpack-chain": "^4.11.0", + "webpack-dev-server": "^3.4.1", + "webpack-merge": "^4.2.1" + }, + "bin": { + "vue-cli-service": "bin/vue-cli-service.js" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "vue-template-compiler": "^2.0.0" + } + }, + "node_modules/@vue/cli-service/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/cli-service/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/cli-service/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/cli-service/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/@vue/cli-service/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@vue/cli-service/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "node_modules/@vue/cli-service/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "node_modules/@vue/cli-service/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@vue/cli-service/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/cli-service/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/cli-service/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/cli-service/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/cli-shared-utils": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-3.12.1.tgz", + "integrity": "sha1-vPB2KH3a3uu7l8anSN/p/1DsjfA=", + "dev": true, + "dependencies": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.1", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.7", + "semver": "^6.0.0", + "string.prototype.padstart": "^3.0.0" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/component-compiler-utils": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.1.2.tgz", + "integrity": "sha1-ghOl/zIC+fITf+VTcPnouWVggcM=", + "dev": true, + "dependencies": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.14", + "postcss-selector-parser": "^6.0.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "optionalDependencies": { + "prettier": "^1.18.2" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/@vue/eslint-config-standard": { + "version": "3.0.5", + "resolved": "https://registry.npm.taobao.org/@vue/eslint-config-standard/download/@vue/eslint-config-standard-3.0.5.tgz", + "integrity": "sha1-fWroCerskJk8YDPZVD9I9oe56/E=", + "dev": true, + "dependencies": { + "eslint-config-standard": "^12.0.0-alpha.0", + "eslint-plugin-import": "^2.11.0", + "eslint-plugin-node": "^6.0.1", + "eslint-plugin-promise": "^3.7.0", + "eslint-plugin-standard": "^3.1.0" + } + }, + "node_modules/@vue/preload-webpack-plugin": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.1.tgz", + "integrity": "sha1-GHI1MNME9EMCHaIpLW7JUCgmEEo=", + "dev": true, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "html-webpack-plugin": ">=2.26.0", + "webpack": ">=4.0.0" + } + }, + "node_modules/@vue/test-utils": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/@vue/test-utils/download/@vue/test-utils-1.0.3.tgz", + "integrity": "sha1-WHxN2bQktmAi8YjBm8YF2izpHG8=", + "dev": true, + "dependencies": { + "dom-event-types": "^1.0.0", + "lodash": "^4.17.15", + "pretty": "^2.0.0" + }, + "peerDependencies": { + "vue": "2.x", + "vue-template-compiler": "^2.x" + } + }, + "node_modules/@vue/web-component-wrapper": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.2.0.tgz", + "integrity": "sha1-uw5G8VhafiibTuYGfcxaauYvHdE=", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz", + "integrity": "sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ=", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.9.0.tgz", + "integrity": "sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q=", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz", + "integrity": "sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI=", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz?cache=0&sync_timestamp=1580600188490&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.9.0.tgz", + "integrity": "sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA=", + "dev": true + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.9.0.tgz", + "integrity": "sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=", + "dev": true, + "dependencies": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-fsm%2Fdownload%2F%40webassemblyjs%2Fhelper-fsm-1.9.0.tgz", + "integrity": "sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg=", + "dev": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-module-context%2Fdownload%2F%40webassemblyjs%2Fhelper-module-context-1.9.0.tgz", + "integrity": "sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-bytecode%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A=", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.9.0.tgz", + "integrity": "sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.9.0.tgz", + "integrity": "sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.9.0.tgz", + "integrity": "sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz", + "integrity": "sha1-BNM7Y2945qaBMifoJAL3Y3tiKas=", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.9.0.tgz", + "integrity": "sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.9.0.tgz", + "integrity": "sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.9.0.tgz", + "integrity": "sha1-IhEYHlsxMmRDzIES658LkChyGmE=", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.9.0.tgz", + "integrity": "sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-parser%2Fdownload%2F%40webassemblyjs%2Fwast-parser-1.9.0.tgz", + "integrity": "sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz?cache=0&sync_timestamp=1580599638157&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.9.0.tgz", + "integrity": "sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", + "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", + "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/abab/download/abab-2.0.3.tgz", + "integrity": "sha1-Yj4gdeAustPyR15J+ZyRhGRnkHo=", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz", + "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", + "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", + "dev": true, + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "6.4.1", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.4.1.tgz?cache=0&sync_timestamp=1591869432510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.4.1.tgz", + "integrity": "sha1-Ux5Yuj9RudrLmmZGyk3r9bFMpHQ=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-4.3.4.tgz", + "integrity": "sha1-n6GSat3BHJcwjE5m163Q1Awycuc=", + "dev": true, + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "dependencies": { + "acorn": "^3.0.4" + } + }, + "node_modules/acorn-jsx/node_modules/acorn": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz?cache=0&sync_timestamp=1591869432510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-6.2.0.tgz", + "integrity": "sha1-Ejy487hMIXHx9/slJhWxx4prGow=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz?cache=0&sync_timestamp=1588851806210&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faddress%2Fdownload%2Faddress-1.1.2.tgz", + "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=", + "dev": true, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/adler-32": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/adler-32/download/adler-32-1.2.0.tgz", + "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", + "dependencies": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + }, + "bin": { + "adler32": "bin/adler32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.0.1.tgz?cache=0&sync_timestamp=1570167911603&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faggregate-error%2Fdownload%2Faggregate-error-3.0.1.tgz", + "integrity": "sha1-2y/nJG5Tb0DZtUQqOeEX191qJOA=", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.3", + "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.3.tgz", + "integrity": "sha1-GMWvOKER3etPJpe9eNaKvByr1wY=", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz", + "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", + "dev": true, + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.1", + "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.1.tgz", + "integrity": "sha1-uDyonF1C1pAx9CTK1JqtoCNsaVc=", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/align-text": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dependencies": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz", + "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz", + "integrity": "sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/any-observable": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/any-observable/download/any-observable-0.2.0.tgz", + "integrity": "sha1-xnhwBYADV5AJCD9UrAq6+1wz0kI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz", + "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", + "dev": true, + "optional": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/app-root-path": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/app-root-path/download/app-root-path-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fapp-root-path%2Fdownload%2Fapp-root-path-2.2.1.tgz", + "integrity": "sha1-0N9KaC7kCCc1g9Q/b3npiSYkvJo=", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz", + "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", + "dev": true + }, + "node_modules/arch": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/arch/download/arch-2.1.2.tgz", + "integrity": "sha1-DFK75zRLtPomDEQ9LLrZwA/y8L8=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.1.tgz", + "integrity": "sha1-zdZ+aFK9+cEhVGB4ZzIlXtJFk0g=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/array.prototype.flat/download/array.prototype.flat-1.2.3.tgz", + "integrity": "sha1-DegrQmsDGNv9uUAInjiwQ9N/bHs=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true, + "optional": true + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", + "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz", + "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz", + "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1588238457176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/assertion-error/download/assertion-error-1.1.0.tgz", + "integrity": "sha1-5gtrDo8wG9l+U3UhW9pAbIURjAs=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", + "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", + "dev": true + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz?cache=0&sync_timestamp=1574272018408&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-limiter%2Fdownload%2Fasync-limiter-1.0.1.tgz", + "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=", + "dev": true + }, + "node_modules/async-validator": { + "version": "1.12.2", + "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.12.2.tgz", + "integrity": "sha1-vq5nHnF00pOLe0tp0vt+cit/1yw=" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "9.8.5", + "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.5.tgz?cache=0&sync_timestamp=1594444612318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.5.tgz", + "integrity": "sha1-LCJd4indr+HRQkwCeR0MPhDMzKo=", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001097", + "colorette": "^1.2.0", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.10.0", + "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.10.0.tgz", + "integrity": "sha1-oXs6jqgRBg501H0wYSJACtRJeuI=", + "dev": true + }, + "node_modules/axios": { + "version": "0.18.1", + "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.18.1.tgz", + "integrity": "sha1-/z8N4ue10YDnV62YAA8Qgbh7zqM=", + "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", + "dependencies": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + } + }, + "node_modules/axios/node_modules/is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz", + "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM=", + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "node_modules/babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz", + "integrity": "sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI=", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" + } + }, + "node_modules/babel-loader": { + "version": "8.1.0", + "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.1.0.tgz", + "integrity": "sha1-xhHVESvVIJq+i5+oTD5NolJ18cM=", + "dev": true, + "dependencies": { + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 6.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-module-resolver": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-module-resolver/download/babel-plugin-module-resolver-3.2.0.tgz", + "integrity": "sha1-3fpeMB47mqEthSqZefGLN4gf9ac=", + "dev": true, + "dependencies": { + "find-babel-config": "^1.1.0", + "glob": "^7.1.2", + "pkg-up": "^2.0.0", + "reselect": "^3.0.1", + "resolve": "^1.4.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1584052597708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz", + "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-arraybuffer": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/base64-arraybuffer/download/base64-arraybuffer-0.2.0.tgz", + "integrity": "sha1-S5RPrAGRqlkHr+LYyZnMxXzoD0U=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz", + "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=", + "dev": true + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "node_modules/batch-processor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/batch-processor/download/batch-processor-1.0.0.tgz", + "integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg=" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bfj": { + "version": "6.1.2", + "resolved": "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz", + "integrity": "sha1-MlyGGoIryzWKQceKM7jm4ght3n8=", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.1.0.tgz?cache=0&sync_timestamp=1593261363626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.1.0.tgz", + "integrity": "sha1-MPpAyef+B9vIlWeM0ocCTeokHdk=", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz", + "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", + "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", + "dev": true + }, + "node_modules/bn.js": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-5.1.2.tgz", + "integrity": "sha1-yWhpAtPJoncp9DqxD515wgBNp7A=", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz", + "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "node_modules/bonjour/node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-2.1.2.tgz", + "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=", + "dev": true + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "node_modules/boom": { + "version": "2.10.1", + "resolved": "https://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dev": true, + "optional": true, + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY=", + "dev": true + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.1.tgz", + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz", + "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz", + "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz", + "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-rsa/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + }, + "node_modules/browserify-sign": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.0.tgz", + "integrity": "sha1-VF0LGwfmssmSEQgr8bEsznoLDhE=", + "dev": true, + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-sign/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz", + "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.13.0", + "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.13.0.tgz?cache=0&sync_timestamp=1593912387376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.13.0.tgz", + "integrity": "sha1-QlVsugEeGwondbYRy6ao7KGOlA0=", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001093", + "electron-to-chromium": "^1.3.488", + "escalade": "^3.0.1", + "node-releases": "^1.1.58" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1588706716358&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz", + "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", + "dev": true + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz", + "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz?cache=0&sync_timestamp=1594429684526&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-12.0.4.tgz", + "integrity": "sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cache-loader": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/cache-loader/download/cache-loader-2.0.1.tgz", + "integrity": "sha1-V1j0GmLXwjlB48PHAW5vrrA6ywc=", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.0", + "normalize-path": "^3.0.0", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/cache-loader/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz?cache=0&sync_timestamp=1562668933683&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaller-callsite%2Fdownload%2Fcaller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "dependencies": { + "callsites": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/callsites": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz?cache=0&sync_timestamp=1576748709736&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "node_modules/camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz", + "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001104", + "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001104.tgz?cache=0&sync_timestamp=1595226955587&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001104.tgz", + "integrity": "sha1-Tj1bOx3Tw1KfEMt/UZxiuj5Xn10=", + "dev": true + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.3.0.tgz", + "integrity": "sha1-I6xhPMmoVuT4j/i7c7u16YmCXPc=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/center-align": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dependencies": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cfb": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/cfb/download/cfb-1.0.8.tgz?cache=0&sync_timestamp=1594276069691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcfb%2Fdownload%2Fcfb-1.0.8.tgz", + "integrity": "sha1-d/ITST1pfXVP2cD1UR6rWtctAs8=", + "dependencies": { + "commander": "^2.14.1", + "printj": "~1.1.2" + }, + "bin": { + "cfb": "bin/cfb.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/chai": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/chai/download/chai-4.2.0.tgz", + "integrity": "sha1-dgqnLPION5XoSxKHfODoNzeqKeU=", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chardet": { + "version": "0.4.2", + "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.4.2.tgz?cache=0&sync_timestamp=1594010705529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/check-error/download/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/check-types": { + "version": "8.0.3", + "resolved": "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcheck-types%2Fdownload%2Fcheck-types-8.0.3.tgz", + "integrity": "sha1-M1bMoZyIlUTy16le1JzlCKDs9VI=", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.4.1", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.1.tgz?cache=0&sync_timestamp=1594864731636&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.1.tgz", + "integrity": "sha1-6QW97PEOqgoLHbDGZEgcxMvCK6E=", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.2" + } + }, + "node_modules/chokidar/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "optional": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "optional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/chokidar/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "optional": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz", + "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=", + "dev": true + }, + "node_modules/chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz", + "integrity": "sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/ci-info/download/ci-info-1.6.0.tgz", + "integrity": "sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=", + "dev": true + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", + "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npm.taobao.org/circular-json/download/circular-json-0.3.3.tgz", + "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=", + "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz", + "integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/clean-stack/download/clean-stack-2.2.0.tgz?cache=0&sync_timestamp=1592035230294&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-stack%2Fdownload%2Fclean-stack-2.2.0.tgz", + "integrity": "sha1-7oRy27Ep5yezHooQpCfe6d/kAIs=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-highlight": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/cli-highlight/download/cli-highlight-2.1.4.tgz?cache=0&sync_timestamp=1573948719956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-highlight%2Fdownload%2Fcli-highlight-2.1.4.tgz", + "integrity": "sha1-CYy2Qs8X9CrcHBFF4H+WDsTXUis=", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "highlight.js": "^9.6.0", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^5.1.1", + "yargs": "^15.0.0" + }, + "bin": { + "highlight": "bin/highlight" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/cli-highlight/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz", + "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cli-highlight/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-highlight/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz", + "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz", + "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cli-highlight/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cli-highlight/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/cli-highlight/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/cli-highlight/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559696906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-highlight/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-highlight/node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz", + "integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=", + "dev": true + }, + "node_modules/cli-highlight/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "node_modules/cli-highlight/node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz", + "integrity": "sha1-lSGCxGzHssMT0VluYjmSvRY7crU=", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz", + "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-15.4.1.tgz?cache=0&sync_timestamp=1594421046064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-15.4.1.tgz", + "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1595125190020&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz", + "integrity": "sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-spinners": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.4.0.tgz?cache=0&sync_timestamp=1595080565423&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-spinners%2Fdownload%2Fcli-spinners-2.4.0.tgz", + "integrity": "sha1-xiVtsha4eM+6RyDnGc7Hz3JoXX8=", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/cli-truncate/download/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", + "dev": true, + "dependencies": { + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-truncate/node_modules/slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz", + "integrity": "sha1-sEM9C06chH7xiGik7xb9X8gnHEg=", + "dev": true + }, + "node_modules/clipboard": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/clipboard/download/clipboard-2.0.6.tgz", + "integrity": "sha1-UpISlu7A/fd+rRdJQhshyWhkc3Y=", + "dependencies": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "node_modules/clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.3.0.tgz", + "integrity": "sha1-PCkDZQxo5GqRs4iYW8J3QofbopA=", + "dev": true, + "dependencies": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clipboardy/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.2.0.tgz?cache=0&sync_timestamp=1588494180082&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-2.2.0.tgz", + "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clonedeep": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/clonedeep/download/clonedeep-2.0.0.tgz", + "integrity": "sha1-jOygd39He78x/oyHGq9jo5C7wnI=" + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz", + "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=", + "dev": true, + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/codemirror": { + "version": "5.56.0", + "resolved": "https://registry.npm.taobao.org/codemirror/download/codemirror-5.56.0.tgz", + "integrity": "sha1-Z1ZA/MeAEFzSLT+qc4tdfqZCb2E=" + }, + "node_modules/codemirror-spell-checker": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/codemirror-spell-checker/download/codemirror-spell-checker-1.1.2.tgz", + "integrity": "sha1-HGYPkIlIPMtRE7m6nKGcP0mTNx4=", + "dependencies": { + "typo-js": "*" + } + }, + "node_modules/codepage": { + "version": "1.14.0", + "resolved": "https://registry.npm.taobao.org/codepage/download/codepage-1.14.0.tgz", + "integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=", + "dependencies": { + "commander": "~2.14.1", + "exit-on-epipe": "~1.0.1" + }, + "bin": { + "codepage": "bin/codepage.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/codepage/node_modules/commander": { + "version": "2.14.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.14.1.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.14.1.tgz", + "integrity": "sha1-IjUSPjevjKPGXfRbAm29NXsBuao=" + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/color/download/color-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor%2Fdownload%2Fcolor-3.1.2.tgz", + "integrity": "sha1-aBSOf4XUGtdknF+oyBBvCY0inhA=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/color-string": { + "version": "1.5.3", + "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz", + "integrity": "sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw=", + "dev": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colorette": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.1.tgz?cache=0&sync_timestamp=1593955829055&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.1.tgz", + "integrity": "sha1-TQuSEyXBT6+SYzCGpTbbbolWSxs=", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", + "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz", + "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz?cache=0&sync_timestamp=1578286264482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompressible%2Fdownload%2Fcompressible-2.0.18.tgz", + "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompression%2Fdownload%2Fcompression-1.7.4.tgz", + "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression-webpack-plugin": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/compression-webpack-plugin/download/compression-webpack-plugin-3.1.0.tgz?cache=0&sync_timestamp=1589291140068&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompression-webpack-plugin%2Fdownload%2Fcompression-webpack-plugin-3.1.0.tgz", + "integrity": "sha1-n1EBcqe1+uWq07ZwZS6L15l67so=", + "dev": true, + "dependencies": { + "cacache": "^13.0.1", + "find-cache-dir": "^3.0.0", + "neo-async": "^2.5.0", + "schema-utils": "^2.6.1", + "serialize-javascript": "^2.1.2", + "webpack-sources": "^1.0.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.3.0 || ^5.0.0" + } + }, + "node_modules/compression-webpack-plugin/node_modules/cacache": { + "version": "13.0.1", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&sync_timestamp=1594429684526&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz", + "integrity": "sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw=", + "dev": true, + "dependencies": { + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/compression-webpack-plugin/node_modules/find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz", + "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/compression-webpack-plugin/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/compression-webpack-plugin/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/compression-webpack-plugin/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567875186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz", + "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/compression-webpack-plugin/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559696906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/compression-webpack-plugin/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/compression-webpack-plugin/node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-3.0.0.tgz", + "integrity": "sha1-1wTZr4orpoTiYA2aIVmD1BQal50=", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/compression-webpack-plugin/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/compression-webpack-plugin/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/compression-webpack-plugin/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz", + "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/compression-webpack-plugin/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/compression-webpack-plugin/node_modules/serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-2.1.2.tgz", + "integrity": "sha1-7OxTsOAxe9yV73arcHS3OEeF+mE=", + "dev": true + }, + "node_modules/compression-webpack-plugin/node_modules/ssri": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-7.1.0.tgz", + "integrity": "sha1-ksJBv23oI2W1x/tL126XVSLhKU0=", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", + "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/condense-newlines": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/condense-newlines/download/condense-newlines-0.2.1.tgz", + "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-whitespace": "^0.3.0", + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/condense-newlines/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npm.taobao.org/config-chain/download/config-chain-1.1.12.tgz", + "integrity": "sha1-D96NCRIA616AjK8l/mGMAvSOTvo=", + "dev": true, + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz", + "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=", + "dev": true + }, + "node_modules/consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.15.1.tgz", + "integrity": "sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=", + "dev": true, + "dependencies": { + "bluebird": "^3.1.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "node_modules/contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcontent-disposition%2Fdownload%2Fcontent-disposition-0.5.3.tgz", + "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/contour_plot": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/contour_plot/download/contour_plot-0.0.1.tgz", + "integrity": "sha1-R1hw8DK44zhBKqX8UHiA8L9JXHc=" + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz", + "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz", + "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", + "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha1-5/QN2KaEd9QF3Rt6hUquMksVi64=", + "dev": true, + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/cacache": { + "version": "10.0.4", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-10.0.4.tgz?cache=0&sync_timestamp=1594429684526&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-10.0.4.tgz", + "integrity": "sha1-ZFI2eZnv+dQYiu/ZoU6dfGomNGA=", + "dev": true, + "dependencies": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "7.1.1", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/copy-webpack-plugin/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz?cache=0&sync_timestamp=1587567875186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz", + "integrity": "sha1-NEKlCPr8KFAEhv7qmUCWduTuWm8=", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/copy-webpack-plugin/node_modules/serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz", + "integrity": "sha1-z8IArvd7YAxH2pu4FJyUPnmML9s=", + "dev": true + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ssri": { + "version": "5.3.0", + "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-5.3.0.tgz", + "integrity": "sha1-ujhyycbTOgcEp9cf8EXl7EiZnQY=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/copy-webpack-plugin/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/core-js": { + "version": "2.6.11", + "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz?cache=0&sync_timestamp=1586450269267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.11.tgz", + "integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw=", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz", + "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", + "dev": true, + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/countup": { + "version": "1.8.2", + "resolved": "https://registry.npm.taobao.org/countup/download/countup-1.8.2.tgz", + "integrity": "sha1-AhzMam+WRUDGsn7WRoGvJ/tV8BA=" + }, + "node_modules/crc-32": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/crc-32/download/crc-32-1.2.0.tgz", + "integrity": "sha1-yy224puIUI4y2d0OwWk+e0Ghggg=", + "dependencies": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + }, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz", + "integrity": "sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz", + "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz", + "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cropperjs": { + "version": "1.5.7", + "resolved": "https://registry.npm.taobao.org/cropperjs/download/cropperjs-1.5.7.tgz", + "integrity": "sha1-tlAZcluuHGKF6IH7ZhshQfpXAls=" + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dev": true, + "optional": true, + "dependencies": { + "boom": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", + "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=", + "dev": true, + "dependencies": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "engines": { + "node": ">4" + } + }, + "node_modules/css-line-break": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/css-line-break/download/css-line-break-1.1.1.tgz", + "integrity": "sha1-1em90peEAJnrBQPHMQ/TSSegJu8=", + "dependencies": { + "base64-arraybuffer": "^0.2.0" + } + }, + "node_modules/css-loader": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/css-loader/download/css-loader-1.0.1.tgz?cache=0&sync_timestamp=1592056914630&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-loader%2Fdownload%2Fcss-loader-1.0.1.tgz", + "integrity": "sha1-aIW7UjOzXsR7AGBX2gHMZAtref4=", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash": "^4.17.11", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + }, + "engines": { + "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/css-loader/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-loader/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-loader/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/css-loader/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/css-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-loader/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz", + "integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=", + "dev": true + }, + "node_modules/css-selector-tokenizer": { + "version": "0.7.2", + "resolved": "https://registry.npm.taobao.org/css-selector-tokenizer/download/css-selector-tokenizer-0.7.2.tgz", + "integrity": "sha1-EeXifJpI2QKE8i1FBhwwPXolrYc=", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2", + "regexpu-core": "^4.6.0" + } + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.37.tgz", + "integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=", + "dev": true, + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-3.3.0.tgz", + "integrity": "sha1-EP7Glqns4uWRrHctdZqsq6w4zTk=", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz", + "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npm.taobao.org/cssfilter/download/cssfilter-0.0.10.tgz", + "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=" + }, + "node_modules/cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz", + "integrity": "sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI=", + "dev": true, + "dependencies": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y=", + "dev": true, + "dependencies": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/csso": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.0.3.tgz?cache=0&sync_timestamp=1585052130344&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.0.3.tgz", + "integrity": "sha1-DZmF3IUsfMKyys+74QeQFNGo6QM=", + "dev": true, + "dependencies": { + "css-tree": "1.0.0-alpha.39" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.39.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.39.tgz", + "integrity": "sha1-K/8//huz93bPfu/ZHuXLp3oUnus=", + "dev": true, + "dependencies": { + "mdn-data": "2.0.6", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.6.tgz?cache=0&sync_timestamp=1593510420945&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.6.tgz", + "integrity": "sha1-hS3GD8ql2qLoz2yRicRA7T4EKXg=", + "dev": true + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz?cache=0&sync_timestamp=1573719337707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssom%2Fdownload%2Fcssom-0.3.8.tgz", + "integrity": "sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o=", + "dev": true + }, + "node_modules/cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/cssstyle/download/cssstyle-1.4.0.tgz?cache=0&sync_timestamp=1588171504463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssstyle%2Fdownload%2Fcssstyle-1.4.0.tgz", + "integrity": "sha1-nTEyginTxWXGHlhrAgQaKPzNzPE=", + "dev": true, + "dependencies": { + "cssom": "0.3.x" + } + }, + "node_modules/current-script-polyfill": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/current-script-polyfill/download/current-script-polyfill-1.0.0.tgz", + "integrity": "sha1-8xz35PPiGLBybnOMqSoC00iO9hU=", + "dev": true + }, + "node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "node_modules/d3-color": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/d3-color/download/d3-color-1.4.1.tgz", + "integrity": "sha1-xSACv4hGraRCTVXZeYL+8m6zvIo=" + }, + "node_modules/d3-dispatch": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/d3-dispatch/download/d3-dispatch-1.0.6.tgz", + "integrity": "sha1-ANN7zuTdjNl3Kd2JOgrCnKq6XVg=" + }, + "node_modules/d3-ease": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/d3-ease/download/d3-ease-1.0.6.tgz?cache=0&sync_timestamp=1592460740468&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fd3-ease%2Fdownload%2Fd3-ease-1.0.6.tgz", + "integrity": "sha1-69ttoi36wKIiIvLU2gb2bEFqDsA=" + }, + "node_modules/d3-interpolate": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/d3-interpolate/download/d3-interpolate-1.1.6.tgz", + "integrity": "sha1-LPOVriOBgE3wiqG/dmt/l7X2j7Y=", + "dependencies": { + "d3-color": "1" + } + }, + "node_modules/d3-selection": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/d3-selection/download/d3-selection-1.4.1.tgz", + "integrity": "sha1-mO7bvghfvaW6+i+ePzovTX1iKpg=" + }, + "node_modules/d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.npm.taobao.org/d3-timer/download/d3-timer-1.0.10.tgz", + "integrity": "sha1-3+dripF0iDGxO22ceT/71QjdneU=" + }, + "node_modules/d3-transition": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/d3-transition/download/d3-transition-1.3.2.tgz", + "integrity": "sha1-qY7yFRvo2GAFQ0NMHKgBQK4js5g=", + "dependencies": { + "d3-color": "1", + "d3-dispatch": "1", + "d3-ease": "1", + "d3-interpolate": "1", + "d3-selection": "^1.1.0", + "d3-timer": "1" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/data-urls/download/data-urls-1.1.0.tgz", + "integrity": "sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4=", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npm.taobao.org/date-fns/download/date-fns-1.30.1.tgz?cache=0&sync_timestamp=1594999213209&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdate-fns%2Fdownload%2Fdate-fns-1.30.1.tgz", + "integrity": "sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw=", + "dev": true + }, + "node_modules/dayjs": { + "version": "1.8.29", + "resolved": "https://registry.npm.taobao.org/dayjs/download/dayjs-1.8.29.tgz?cache=0&sync_timestamp=1593707172703&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdayjs%2Fdownload%2Fdayjs-1.8.29.tgz", + "integrity": "sha1-XSPjQd5r+9IGwBE20vsPAYd4IPU=" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1580010393599&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.2.0", + "resolved": "https://registry.npm.taobao.org/decimal.js/download/decimal.js-10.2.0.tgz", + "integrity": "sha1-OUZhE6ngNhEdAvgkibX9awte0jE=" + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npm.taobao.org/dedent/download/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "node_modules/deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/deep-eql/download/deep-eql-3.0.1.tgz", + "integrity": "sha1-38lARACtHI/gI+faHfHBR8S0RN8=", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz", + "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-2.2.1.tgz", + "integrity": "sha1-XT/yKgHAD2RUBaL7wX0HeKGAEXA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-5.0.5.tgz?cache=0&sync_timestamp=1590419212936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-5.0.5.tgz", + "integrity": "sha1-T9a9XShV05s0zFpZUFSG6ar8mxA=", + "dev": true, + "dependencies": { + "execa": "^3.3.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/default-gateway/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", + "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/default-gateway/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz?cache=0&sync_timestamp=1594145237072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-3.4.0.tgz", + "integrity": "sha1-wI7UVQ72XYWPrCaf/IVyRG8364k=", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/default-gateway/node_modules/get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.1.0.tgz", + "integrity": "sha1-ASA83JJZf5uQkGfD5lbMH008Tck=", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz", + "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz", + "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/onetime": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.0.tgz", + "integrity": "sha1-//DzyRYX/mK7UBiWNumayKbfe+U=", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz", + "integrity": "sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1574441431664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz?cache=0&sync_timestamp=1574116262707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, + "node_modules/del": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz", + "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/del/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegate": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/delegate/download/delegate-3.2.0.tgz", + "integrity": "sha1-tmtxwxWFIuirV0T3INjKDCr1kWY=" + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz", + "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "node_modules/detect-browser": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/detect-browser/download/detect-browser-5.1.1.tgz?cache=0&sync_timestamp=1592803473542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdetect-browser%2Fdownload%2Fdetect-browser-5.1.1.tgz", + "integrity": "sha1-qADbkdP9YNCGFmn1mE8b6f++AJw=" + }, + "node_modules/detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz", + "integrity": "sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=", + "dev": true + }, + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz", + "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", + "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + }, + "node_modules/dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz", + "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=", + "dev": true, + "dependencies": { + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "node_modules/dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz", + "integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=", + "dev": true, + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz", + "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", + "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=", + "dev": true, + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-event-types": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/dom-event-types/download/dom-event-types-1.0.0.tgz", + "integrity": "sha1-WDCgop4b+Df+UKcM2ApZcjKBPK4=", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1589067578490&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", + "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz", + "integrity": "sha1-H4vf6R9aeAYydOgDtL3O326U+U0=", + "dev": true + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz", + "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", + "dev": true + }, + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/domexception/download/domexception-1.0.1.tgz?cache=0&sync_timestamp=1576355459111&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomexception%2Fdownload%2Fdomexception-1.0.1.tgz", + "integrity": "sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA=", + "dev": true, + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz", + "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", + "dev": true, + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz", + "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.2.0.tgz?cache=0&sync_timestamp=1572621117377&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.2.0.tgz", + "integrity": "sha1-w07MKVVtxF8fTCJpe29JBODMT8s=", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/dotenv/download/dotenv-7.0.0.tgz", + "integrity": "sha1-or481Sc2ZzIG6KhftSEO6ilijnw=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-5.1.0.tgz", + "integrity": "sha1-P7rwIL/XlIhAcuomsel5HUWmKfA=", + "dev": true + }, + "node_modules/dotignore": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/dotignore/download/dotignore-0.1.2.tgz", + "integrity": "sha1-+ULyIA0ow6dvvdbw7p8yV8ii6QU=", + "dependencies": { + "minimatch": "^3.0.4" + }, + "bin": { + "ignored": "bin/ignored" + } + }, + "node_modules/duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz", + "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/e-guide-layer": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/e-guide-layer/download/e-guide-layer-0.1.1.tgz", + "integrity": "sha1-AcGvAJqak9CQaSnWAFGrHH6I/V8=", + "dependencies": { + "core-js": "^3.6.5", + "normalize.css": "^8.0.1", + "vue": "^2.6.11" + } + }, + "node_modules/e-guide-layer/node_modules/core-js": { + "version": "3.8.1", + "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-3.8.1.tgz?cache=0&sync_timestamp=1607215997560&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-3.8.1.tgz", + "integrity": "sha1-9RUjZorIopTRKFw7nbRAJf2mbUc=", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/easy-stack": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/easy-stack/download/easy-stack-1.0.0.tgz", + "integrity": "sha1-EskbMIWjfwuqM26UhurEv5Tj54g=", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/echarts": { + "version": "4.8.0", + "resolved": "https://registry.npm.taobao.org/echarts/download/echarts-4.8.0.tgz", + "integrity": "sha1-ssHPuSKbE9No7hBPyO6mALV01MQ=", + "dependencies": { + "zrender": "4.3.1" + } + }, + "node_modules/editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npm.taobao.org/editorconfig/download/editorconfig-0.15.3.tgz", + "integrity": "sha1-vvhMTnX7jcsM5c7o79UcFZmb78U=", + "dev": true, + "dependencies": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "bin": { + "editorconfig": "bin/editorconfig" + } + }, + "node_modules/editorconfig/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/editorconfig/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/ejs": { + "version": "2.7.4", + "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz", + "integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=", + "dev": true, + "hasInstallScript": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.3.502", + "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.502.tgz?cache=0&sync_timestamp=1595302504119&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.502.tgz", + "integrity": "sha1-alXpk+9goB+9whUu9eR+4AyIXJg=", + "dev": true + }, + "node_modules/elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/elegant-spinner/download/elegant-spinner-1.0.1.tgz", + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/element-resize-detector": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/element-resize-detector/download/element-resize-detector-1.2.1.tgz", + "integrity": "sha1-sDBRlER6SGMVXljxMyOgrvMIUdE=", + "dependencies": { + "batch-processor": "1.0.0" + } + }, + "node_modules/elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.3.tgz?cache=0&sync_timestamp=1592492805287&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felliptic%2Fdownload%2Felliptic-6.5.3.tgz", + "integrity": "sha1-y1nrLv2vc6C9eMzXAVpirW4Pk9Y=", + "dev": true, + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.3.0.tgz?cache=0&sync_timestamp=1594972300336&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.3.0.tgz", + "integrity": "sha1-O4BvO/r8HsfeaVUe+TzKRsFwQSY=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz?cache=0&sync_timestamp=1570537491040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.5.0.tgz", + "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/entities": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.0.3.tgz?cache=0&sync_timestamp=1591227679482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.0.3.tgz", + "integrity": "sha1-XEh+V0Krk8Fau12iJ1m4WQ7AO38=", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz", + "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz?cache=0&sync_timestamp=1578288503034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ferror-stack-parser%2Fdownload%2Ferror-stack-parser-2.0.6.tgz", + "integrity": "sha1-WpmnB716TFinl5AtSNgoA+3mqtg=", + "dev": true, + "dependencies": { + "stackframe": "^1.1.1" + } + }, + "node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.6.tgz?cache=0&sync_timestamp=1592109199190&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.6.tgz", + "integrity": "sha1-kUIHFweFeyysx7iey2cDFsPi1So=", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-abstract/node_modules/is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.0.tgz", + "integrity": "sha1-7OOOOJ5JDfDcIcrqK9WW+Yf3Z/8=", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.0.2.tgz?cache=0&sync_timestamp=1594743037384&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.0.2.tgz", + "integrity": "sha1-algNcO24eIDyK0yR0NVgeN9pYsQ=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1587627107924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npm.taobao.org/escodegen/download/escodegen-1.14.3.tgz?cache=0&sync_timestamp=1592866195968&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescodegen%2Fdownload%2Fescodegen-1.14.3.tgz", + "integrity": "sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM=", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "4.19.1", + "resolved": "https://registry.npm.taobao.org/eslint/download/eslint-4.19.1.tgz?cache=0&sync_timestamp=1595098868314&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-4.19.1.tgz", + "integrity": "sha1-MtHWU+HZBAiFS/spbwdux+GGowA=", + "dev": true, + "dependencies": { + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", + "table": "4.0.2", + "text-table": "~0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-config-standard": { + "version": "12.0.0", + "resolved": "https://registry.npm.taobao.org/eslint-config-standard/download/eslint-config-standard-12.0.0.tgz?cache=0&sync_timestamp=1584727519567&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-config-standard%2Fdownload%2Feslint-config-standard-12.0.0.tgz", + "integrity": "sha1-Y4tMZdsL1aQTGflruh8V3a0hB9k=", + "dev": true, + "peerDependencies": { + "eslint": ">=5.0.0", + "eslint-plugin-import": ">=2.13.0", + "eslint-plugin-node": ">=7.0.0", + "eslint-plugin-promise": ">=4.0.0", + "eslint-plugin-standard": ">=4.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha1-hf+oGULCUBLYIxCW3fZ5wDBCxxc=", + "dev": true, + "dependencies": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz", + "integrity": "sha1-KLnBLaVAV68IReKmEScBova/gzc=", + "deprecated": "This loader has been deprecated. Please use eslint-webpack-plugin", + "dev": true, + "dependencies": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + }, + "peerDependencies": { + "eslint": ">=1.6.0 <7.0.0", + "webpack": ">=2.0.0 <5.0.0" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.6.0.tgz", + "integrity": "sha1-V569CU9Wr3eX0ZyYZsnJSGYpv6Y=", + "dev": true, + "dependencies": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-module-utils/node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-cypress": { + "version": "2.11.1", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-cypress/download/eslint-plugin-cypress-2.11.1.tgz", + "integrity": "sha1-qUXid0uIIR4scGoFnUMeJitcKGI=", + "dev": true, + "dependencies": { + "globals": "^11.12.0" + }, + "peerDependencies": { + "eslint": ">= 3.2.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.22.0", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.22.0.tgz?cache=0&sync_timestamp=1593237313662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-import%2Fdownload%2Feslint-plugin-import-2.22.0.tgz", + "integrity": "sha1-kvdzb+H94+Led2I8g43Zkv9f+34=", + "dev": true, + "dependencies": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.3", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-node": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-node/download/eslint-plugin-node-6.0.1.tgz?cache=0&sync_timestamp=1585396050025&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-node%2Fdownload%2Feslint-plugin-node-6.0.1.tgz", + "integrity": "sha1-vxlkIpgGQ3kxXXpLKnWTc3b6BeQ=", + "dev": true, + "dependencies": { + "ignore": "^3.3.6", + "minimatch": "^3.0.4", + "resolve": "^1.3.3", + "semver": "^5.4.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": ">=3.1.0" + } + }, + "node_modules/eslint-plugin-promise": { + "version": "3.8.0", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-promise/download/eslint-plugin-promise-3.8.0.tgz", + "integrity": "sha1-ZevyeoRePB6db2pWIt3TgBaUtiE=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-standard": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-standard/download/eslint-plugin-standard-3.1.0.tgz", + "integrity": "sha1-Kp4hJZukxHwC1TstDJE11LECLUc=", + "dev": true, + "peerDependencies": { + "eslint": ">=3.19.0" + } + }, + "node_modules/eslint-plugin-vue": { + "version": "4.7.1", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-4.7.1.tgz?cache=0&sync_timestamp=1595148924086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-4.7.1.tgz", + "integrity": "sha1-yCm5/GJYLBiXtaC5Sv1E7MpRHmM=", + "dev": true, + "optional": true, + "dependencies": { + "vue-eslint-parser": "^2.0.3" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3.18.0 || ^4.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz", + "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "5.5.2", + "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-3.7.3.tgz", + "integrity": "sha1-u1ByANPRf2AkdjYWC0gmKEsQhTU=", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint/node_modules/fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz?cache=0&sync_timestamp=1591599666712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "node_modules/eslint/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/espree": { + "version": "3.5.4", + "resolved": "https://registry.npm.taobao.org/espree/download/espree-3.5.4.tgz?cache=0&sync_timestamp=1595033675028&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-3.5.4.tgz", + "integrity": "sha1-sPRHGHyKi+2US4FaZgvd9d610ac=", + "dev": true, + "dependencies": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/espree/node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-5.7.4.tgz?cache=0&sync_timestamp=1591869432510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-5.7.4.tgz", + "integrity": "sha1-Po2KmUfQWZoXltECJddDL0pKz14=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesprima%2Fdownload%2Fesprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesquery%2Fdownload%2Fesquery-1.3.1.tgz", + "integrity": "sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc=", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.1.0.tgz?cache=0&sync_timestamp=1586996117385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.1.0.tgz", + "integrity": "sha1-N0MJ05/ZNa5QDnuS6Ka0xyDllkI=", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz", + "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", + "dev": true, + "dependencies": { + "estraverse": "^4.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1586996117385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz?cache=0&sync_timestamp=1564535492241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesutils%2Fdownload%2Fesutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/event-pubsub/download/event-pubsub-4.3.0.tgz", + "integrity": "sha1-9o2Ba8KfHsAsU53FjI3UDOcss24=", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.4.tgz?cache=0&sync_timestamp=1589283150629&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.4.tgz", + "integrity": "sha1-tUY6zmNaCD0Bi9x8kXtMXxCoU4Q=", + "dev": true + }, + "node_modules/events": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/events/download/events-3.1.0.tgz?cache=0&sync_timestamp=1578498298945&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevents%2Fdownload%2Fevents-3.1.0.tgz", + "integrity": "sha1-hCea8bNMt1qoi/X/KR9tC9mzGlk=", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/eventsource/download/eventsource-1.0.7.tgz", + "integrity": "sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA=", + "dev": true, + "dependencies": { + "original": "^1.0.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", + "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1594145237072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/exit-hook/download/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/exit-on-epipe/download/exit-on-epipe-1.0.1.tgz", + "integrity": "sha1-C92S6H1ShdJn2qgXHQ6wYVlolpI=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/express": { + "version": "4.17.1", + "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&sync_timestamp=1585185316222&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz", + "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", + "dev": true, + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-2.2.0.tgz?cache=0&sync_timestamp=1562602052556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexternal-editor%2Fdownload%2Fexternal-editor-2.2.0.tgz", + "integrity": "sha1-BFURz9jRM/OEZnPRBHwVTiFK09U=", + "dev": true, + "dependencies": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1591599666712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true + }, + "node_modules/fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz", + "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=", + "dev": true, + "dependencies": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/fastparse/download/fastparse-1.1.2.tgz", + "integrity": "sha1-kXKMWllC7O2FMSg8eUQe5BIsNak=", + "dev": true + }, + "node_modules/faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/fecha": { + "version": "2.3.3", + "resolved": "https://registry.npm.taobao.org/fecha/download/fecha-2.3.3.tgz", + "integrity": "sha1-lI50FX3xoy/RsSw6PDzctuydls0=" + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz", + "integrity": "sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=", + "dev": true + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "dependencies": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/file-loader": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-3.0.1.tgz", + "integrity": "sha1-+OC6C1mZGLUa3+RdZtHnca1WD6o=", + "dev": true, + "dependencies": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", + "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", + "dev": true, + "optional": true + }, + "node_modules/filesize": { + "version": "3.6.1", + "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz", + "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", + "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/find-babel-config": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/find-babel-config/download/find-babel-config-1.2.0.tgz", + "integrity": "sha1-qbezF+tbmGDNqdVHQKjIM3oig6I=", + "dev": true, + "dependencies": { + "json5": "^0.5.1", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/find-babel-config/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz", + "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-parent-dir": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/find-parent-dir/download/find-parent-dir-0.3.0.tgz", + "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=", + "dev": true + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-1.3.4.tgz", + "integrity": "sha1-LC73dSXMKSkAff/6HdMUqpyd7m8=", + "dev": true, + "dependencies": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz", + "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz", + "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/fmin": { + "version": "0.0.2", + "resolved": "https://registry.npm.taobao.org/fmin/download/fmin-0.0.2.tgz", + "integrity": "sha1-Wbu0DUP/3ByUzQClaMQflfGXMBc=", + "dependencies": { + "contour_plot": "^0.0.1", + "json2module": "^0.0.3", + "rollup": "^0.25.8", + "tape": "^4.5.1", + "uglify-js": "^2.6.2" + } + }, + "node_modules/follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.5.10.tgz?cache=0&sync_timestamp=1592518281721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.5.10.tgz", + "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=", + "dependencies": { + "debug": "=3.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npm.taobao.org/for-each/download/for-each-0.3.3.tgz", + "integrity": "sha1-abRH6IoKXTLD5whPPxcQA0shN24=", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz?cache=0&sync_timestamp=1573184298867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffor-in%2Fdownload%2Ffor-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz", + "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/frac/download/frac-1.1.2.tgz", + "integrity": "sha1-PXT39keMiKG1AgMG10fcYxPHTQs=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz", + "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz?cache=0&sync_timestamp=1579628584498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-minipass%2Fdownload%2Ffs-minipass-2.1.0.tgz", + "integrity": "sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs=", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz?cache=0&sync_timestamp=1588787369955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.1.3.tgz", + "integrity": "sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz", + "integrity": "sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk=", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz", + "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=", + "dev": true + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/get-func-name/download/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha1-tf3nfyLL4185C04ImSLFC85u9mQ=", + "dev": true + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz?cache=0&sync_timestamp=1573078079496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz", + "integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "9.2.0", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz", + "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/good-listener/download/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "dependencies": { + "delegate": "^3.1.2" + } + }, + "node_modules/gq-plus": { + "version": "2.1.5", + "resolved": "https://registry.npm.taobao.org/gq-plus/download/gq-plus-2.1.5.tgz", + "integrity": "sha1-xGkLE10oAAukXd7nuopA10RvVJM=", + "dependencies": { + "async-validator": "^1.10.0", + "axios": "^0.15.3", + "deepmerge": "^2.2.1", + "element-resize-detector": "^1.2.0", + "js-calendar": "^1.2.3", + "lodash.throttle": "^4.1.1", + "popper.js": "^1.14.6", + "tinycolor2": "^1.4.1", + "v-click-outside-x": "^3.5.6" + }, + "engines": { + "node": ">=8.9.1", + "npm": ">=5.5.1", + "yarn": ">=1.3.2" + }, + "peerDependencies": { + "vue": "^2.5.2" + } + }, + "node_modules/gq-plus/node_modules/axios": { + "version": "0.15.3", + "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.15.3.tgz", + "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=", + "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", + "dependencies": { + "follow-redirects": "1.0.0" + } + }, + "node_modules/gq-plus/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/gq-plus/node_modules/follow-redirects": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.0.0.tgz?cache=0&sync_timestamp=1592518281721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.0.0.tgz", + "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=", + "dependencies": { + "debug": "^2.2.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz?cache=0&sync_timestamp=1588086924019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgraceful-fs%2Fdownload%2Fgraceful-fs-4.2.4.tgz", + "integrity": "sha1-Ila94U02MpWMRl68ltxGfKB6Kfs=", + "dev": true + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npm.taobao.org/growl/download/growl-1.10.5.tgz", + "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz", + "integrity": "sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=", + "dev": true, + "dependencies": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz", + "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.3.tgz", + "integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz", + "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz", + "integrity": "sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhash-sum%2Fdownload%2Fhash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz", + "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hawk": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "dev": true, + "optional": true, + "dependencies": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "engines": { + "node": ">=0.10.32" + } + }, + "node_modules/he": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/he/download/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz", + "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=", + "dev": true + }, + "node_modules/highlight.js": { + "version": "9.18.1", + "resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-9.18.1.tgz", + "integrity": "sha1-7SGqAB/mJSuxCj121HVzxlOf4Tw=", + "deprecated": "Version no longer supported. Upgrade to @latest", + "engines": { + "node": "*" + } + }, + "node_modules/highlight.js-async-webpack": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/highlight.js-async-webpack/download/highlight.js-async-webpack-1.0.4.tgz", + "integrity": "sha1-wGtnv5nwSQRdYrdW5YVbCRLsYWw=" + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoek": { + "version": "2.16.3", + "resolved": "https://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz", + "integrity": "sha1-YJIH1mEQADOpqUAq096mdzgcGx0=", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1594428020608&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz", + "integrity": "sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg=", + "dev": true + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "node_modules/html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz", + "integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg=", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/html-entities": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.3.1.tgz", + "integrity": "sha1-+5oaS1sUxdq6gtPjTGrk/nAaDkQ=", + "dev": true + }, + "node_modules/html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz", + "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=", + "dev": true, + "dependencies": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/html-minifier/node_modules/commander": { + "version": "2.17.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz", + "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", + "dev": true + }, + "node_modules/html-minifier/node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/html-minifier/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/html-minifier/node_modules/uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1592744803278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz", + "integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=", + "dev": true, + "dependencies": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/html-minifier/node_modules/uglify-js/node_modules/commander": { + "version": "2.19.0", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz", + "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=", + "dev": true + }, + "node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz?cache=0&sync_timestamp=1588268411154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "deprecated": "3.x is no longer supported", + "dev": true, + "dependencies": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" + }, + "peerDependencies": { + "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/html-webpack-plugin/node_modules/big.js": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz", + "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/html-webpack-plugin/node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/html-webpack-plugin/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/html-webpack-plugin/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/html-webpack-plugin/node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz", + "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/html2canvas": { + "version": "1.0.0-rc.5", + "resolved": "https://registry.npm.taobao.org/html2canvas/download/html2canvas-1.0.0-rc.5.tgz", + "integrity": "sha1-TuPKyfbiCg+gwvNab5nJYK5+xME=", + "dependencies": { + "css-line-break": "1.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz", + "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", + "dev": true, + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1591227679482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz", + "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", + "dev": true + }, + "node_modules/htmlparser2/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1593407710477&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz", + "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz", + "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz?cache=0&sync_timestamp=1594312982456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy-middleware%2Fdownload%2Fhttp-proxy-middleware-0.19.1.tgz", + "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=", + "dev": true, + "dependencies": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz?cache=0&sync_timestamp=1584198662293&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhuman-signals%2Fdownload%2Fhuman-signals-1.1.1.tgz", + "integrity": "sha1-xbHNFPUK6uCatsWf5jujOV/k36M=", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "node_modules/icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "dependencies": { + "postcss": "^6.0.1" + } + }, + "node_modules/icss-utils/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/icss-utils/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/icss-utils/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/icss-utils/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz", + "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=", + "dev": true + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz", + "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=", + "dev": true + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "dependencies": { + "import-from": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh/node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", + "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", + "dev": true, + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz", + "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz", + "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" + }, + "node_modules/ini": { + "version": "1.3.5", + "resolved": "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz", + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", + "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-3.3.0.tgz?cache=0&sync_timestamp=1594661205347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-3.3.0.tgz", + "integrity": "sha1-ndLyrXZdyrH/BEO0kUQqILoifck=", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz", + "integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=", + "dev": true, + "dependencies": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-ip/node_modules/default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz?cache=0&sync_timestamp=1590419212936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-4.2.0.tgz", + "integrity": "sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.4.0.tgz", + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finvariant%2Fdownload%2Finvariant-2.2.4.tgz", + "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz?cache=0&sync_timestamp=1589565904735&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finvert-kv%2Fdownload%2Finvert-kv-2.0.0.tgz", + "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz", + "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz", + "integrity": "sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM=", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + }, + "node_modules/is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.0.tgz?cache=0&sync_timestamp=1591427607174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.2.0.tgz", + "integrity": "sha1-gzNlYLVKOONeOi33r9BFTWkUaLs=", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/is-ci/download/is-ci-1.2.1.tgz", + "integrity": "sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw=", + "dev": true, + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz?cache=0&sync_timestamp=1576729182289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.2.tgz", + "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-docker/download/is-docker-2.0.0.tgz", + "integrity": "sha1-LLDfDnXi0GT+GGTDfN6st7Lc8ls=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-finite/download/is-finite-1.1.0.tgz", + "integrity": "sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz", + "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-observable": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/is-observable/download/is-observable-0.2.0.tgz", + "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", + "dev": true, + "dependencies": { + "symbol-observable": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz", + "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=", + "dev": true, + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-2.1.0.tgz", + "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1595290593289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/is-promise/download/is-promise-2.2.2.tgz?cache=0&sync_timestamp=1588001830257&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-promise%2Fdownload%2Fis-promise-2.2.2.tgz", + "integrity": "sha1-OauVnMv5p3TPB597QMeib3YxNfE=", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.5.tgz", + "integrity": "sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4=", + "dependencies": { + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", + "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", + "dev": true + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz", + "integrity": "sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y=", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz", + "integrity": "sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=", + "dev": true, + "dependencies": { + "html-comment-regex": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.3.tgz", + "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-whitespace": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/is-whitespace/download/is-whitespace-0.3.0.tgz", + "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1588494180082&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "node_modules/iview": { + "version": "3.5.4", + "resolved": "https://registry.npm.taobao.org/iview/download/iview-3.5.4.tgz", + "integrity": "sha1-1Ra5LnO2F/Lcf0WDH5kFnWmTL4I=", + "dependencies": { + "async-validator": "^1.12.2", + "deepmerge": "^2.2.1", + "element-resize-detector": "^1.2.0", + "js-calendar": "^1.2.3", + "lodash.throttle": "^4.1.1", + "popper.js": "^1.14.6", + "tinycolor2": "^1.4.1", + "v-click-outside-x": "^4.0.19" + }, + "engines": { + "node": ">=8.9.1", + "npm": ">=5.5.1", + "yarn": ">=1.3.2" + }, + "peerDependencies": { + "vue": "^2.5.2" + } + }, + "node_modules/iview/node_modules/v-click-outside-x": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/v-click-outside-x/download/v-click-outside-x-4.1.0.tgz?cache=0&sync_timestamp=1579043108278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv-click-outside-x%2Fdownload%2Fv-click-outside-x-4.1.0.tgz", + "integrity": "sha1-voJmgOLSVmaooYUzKSnUYkSqJEc=", + "engines": { + "node": ">=8.11.4", + "npm": ">=6.10.1" + } + }, + "node_modules/javascript-stringify": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-1.6.0.tgz", + "integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=", + "dev": true + }, + "node_modules/jest-get-type": { + "version": "21.2.0", + "resolved": "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-21.2.0.tgz", + "integrity": "sha1-9jdqudtLYNgeOfMHScbEZvQNSiM=", + "dev": true + }, + "node_modules/jest-validate": { + "version": "21.2.1", + "resolved": "https://registry.npm.taobao.org/jest-validate/download/jest-validate-21.2.1.tgz?cache=0&sync_timestamp=1592925336825&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-validate%2Fdownload%2Fjest-validate-21.2.1.tgz", + "integrity": "sha1-zAy8plPNVJN7pPKhEXlndFMN08c=", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-get-type": "^21.2.0", + "leven": "^2.1.0", + "pretty-format": "^21.2.1" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jquery": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/jquery/download/jquery-2.2.4.tgz", + "integrity": "sha1-LInWiJterFIqfuoywUUhVZxsvwI=" + }, + "node_modules/js-beautify": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/js-beautify/download/js-beautify-1.11.0.tgz", + "integrity": "sha1-r7hz3EfViYY2AJPctplR6LzV3tI=", + "dev": true, + "dependencies": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "mkdirp": "~1.0.3", + "nopt": "^4.0.3" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + } + }, + "node_modules/js-beautify/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-1.0.4.tgz", + "integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-calendar": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/js-calendar/download/js-calendar-1.2.3.tgz", + "integrity": "sha1-pYOwZEtOaVujlPNE0QPbzHp6fT4=" + }, + "node_modules/js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/js-cookie/download/js-cookie-2.2.1.tgz", + "integrity": "sha1-aeEG3F1YBolFYpAqpbrsN0Tpsrg=" + }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/js-levenshtein/download/js-levenshtein-1.1.6.tgz", + "integrity": "sha1-xs7ljrNVA3LfjeuF+tXOZs4B1Z0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-message": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/js-message/download/js-message-1.0.5.tgz", + "integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU=", + "dev": true, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/js-queue": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/js-queue/download/js-queue-2.0.0.tgz", + "integrity": "sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=", + "dev": true, + "dependencies": { + "easy-stack": "^1.0.0" + }, + "engines": { + "node": ">=1.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz?cache=0&sync_timestamp=1590172122543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.0.tgz", + "integrity": "sha1-p6NBcPJqIbsWJCTYray0ETpp5II=", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/jsdom": { + "version": "13.2.0", + "resolved": "https://registry.npm.taobao.org/jsdom/download/jsdom-13.2.0.tgz?cache=0&sync_timestamp=1594341172783&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsdom%2Fdownload%2Fjsdom-13.2.0.tgz", + "integrity": "sha1-saDb2twlVDUmK+jqNyPS26DX6zo=", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "acorn": "^6.0.4", + "acorn-globals": "^4.3.0", + "array-equal": "^1.0.0", + "cssom": "^0.3.4", + "cssstyle": "^1.1.1", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.0", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.0.9", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "saxes": "^3.1.5", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.5.0", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^6.1.2", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsdom-global": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/jsdom-global/download/jsdom-global-3.0.2.tgz", + "integrity": "sha1-a9KZwTsMRiay2iwDk81DhdYGrLk=", + "dev": true, + "peerDependencies": { + "jsdom": ">=10.0.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz", + "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "node_modules/json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "optional": true, + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "node_modules/json2module": { + "version": "0.0.3", + "resolved": "https://registry.npm.taobao.org/json2module/download/json2module-0.0.3.tgz", + "integrity": "sha1-APtfSpt638PwZHwpyxe80Zeb6bI=", + "dependencies": { + "rw": "^1.3.2" + }, + "bin": { + "json2module": "bin/json2module" + } + }, + "node_modules/json3": { + "version": "3.3.3", + "resolved": "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz", + "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=", + "dev": true + }, + "node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.1.3.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.1.3.tgz", + "integrity": "sha1-ybD3+pIzv+WAf+ZvzzpWF+1ZfUM=", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/killable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz", + "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=", + "dev": true + }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/launch-editor": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/launch-editor/download/launch-editor-2.2.1.tgz", + "integrity": "sha1-hxtaPuOdZoD8wm03kwtu7aidsMo=", + "dev": true, + "dependencies": { + "chalk": "^2.3.0", + "shell-quote": "^1.6.1" + } + }, + "node_modules/launch-editor-middleware": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz", + "integrity": "sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc=", + "dev": true, + "dependencies": { + "launch-editor": "^2.2.1" + } + }, + "node_modules/launch-editor/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/launch-editor/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/launch-editor/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz", + "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=", + "dev": true, + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less": { + "version": "2.7.3", + "resolved": "https://registry.npm.taobao.org/less/download/less-2.7.3.tgz?cache=0&sync_timestamp=1594913896834&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fless%2Fdownload%2Fless-2.7.3.tgz", + "integrity": "sha1-zBJg9RyQCp7A2R+2mYE54CUHtjs=", + "dev": true, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=0.12" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "mime": "^1.2.11", + "mkdirp": "^0.5.0", + "promise": "^7.1.1", + "request": "2.81.0", + "source-map": "^0.5.3" + } + }, + "node_modules/less-loader": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/less-loader/download/less-loader-4.1.0.tgz?cache=0&sync_timestamp=1593787586071&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fless-loader%2Fdownload%2Fless-loader-4.1.0.tgz", + "integrity": "sha1-LBNSxbCaT4QQFJAnT9UWdN5BNj4=", + "dev": true, + "dependencies": { + "clone": "^2.1.1", + "loader-utils": "^1.1.0", + "pify": "^3.0.0" + }, + "engines": { + "node": ">= 4.8 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "less": "^2.3.1 || ^3.0.0", + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/less-loader/node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/less-loader/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/ajv": { + "version": "4.11.8", + "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "optional": true, + "dependencies": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "node_modules/less/node_modules/assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/less/node_modules/aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/less/node_modules/form-data": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "optional": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/less/node_modules/har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true, + "optional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "deprecated": "this library is no longer supported", + "dev": true, + "optional": true, + "dependencies": { + "ajv": "^4.9.1", + "har-schema": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "optional": true, + "dependencies": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/less/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1590596706367&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/less/node_modules/performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true, + "optional": true + }, + "node_modules/less/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true, + "optional": true + }, + "node_modules/less/node_modules/qs": { + "version": "6.4.0", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/less/node_modules/request": { + "version": "2.81.0", + "resolved": "https://registry.npm.taobao.org/request/download/request-2.81.0.tgz?cache=0&sync_timestamp=1581439006948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest%2Fdownload%2Frequest-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "optional": true, + "dependencies": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/less/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/less/node_modules/tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftough-cookie%2Fdownload%2Ftough-cookie-2.3.4.tgz", + "integrity": "sha1-7GDO44rGdQY//JelwYlwV47oNlU=", + "dev": true, + "optional": true, + "dependencies": { + "punycode": "^1.4.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/leven": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/leven/download/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "node_modules/lint-staged": { + "version": "6.1.1", + "resolved": "https://registry.npm.taobao.org/lint-staged/download/lint-staged-6.1.1.tgz?cache=0&sync_timestamp=1592387031001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flint-staged%2Fdownload%2Flint-staged-6.1.1.tgz", + "integrity": "sha1-zQjE2bjMwtNxmNHEfOd9Ir5s8yQ=", + "dev": true, + "dependencies": { + "app-root-path": "^2.0.0", + "chalk": "^2.1.0", + "commander": "^2.11.0", + "cosmiconfig": "^4.0.0", + "debug": "^3.1.0", + "dedent": "^0.7.0", + "execa": "^0.8.0", + "find-parent-dir": "^0.3.0", + "is-glob": "^4.0.0", + "jest-validate": "^21.1.0", + "listr": "^0.13.0", + "lodash": "^4.17.4", + "log-symbols": "^2.0.0", + "minimatch": "^3.0.0", + "npm-which": "^3.0.1", + "p-map": "^1.1.1", + "path-is-inside": "^1.0.2", + "pify": "^3.0.0", + "staged-git-files": "1.0.0", + "stringify-object": "^3.2.0" + }, + "bin": { + "lint-staged": "index.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/lint-staged/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lint-staged/node_modules/cosmiconfig": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-4.0.0.tgz", + "integrity": "sha1-dgORVJWAu9LfHlYrwXexPCkJctw=", + "dev": true, + "dependencies": { + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "parse-json": "^4.0.0", + "require-from-string": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lint-staged/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "0.8.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz?cache=0&sync_timestamp=1594145237072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lint-staged/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/lint-staged/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/lint-staged/node_modules/p-map": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-1.2.0.tgz", + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/lint-staged/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/lint-staged/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lint-staged/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/listr": { + "version": "0.13.0", + "resolved": "https://registry.npm.taobao.org/listr/download/listr-0.13.0.tgz", + "integrity": "sha1-ILsLowuuZg7oTMBQPfS+PVYjiH0=", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "figures": "^1.7.0", + "indent-string": "^2.1.0", + "is-observable": "^0.2.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.4.0", + "listr-verbose-renderer": "^0.4.0", + "log-symbols": "^1.0.2", + "log-update": "^1.0.2", + "ora": "^0.2.3", + "p-map": "^1.1.1", + "rxjs": "^5.4.2", + "stream-to-observable": "^0.2.0", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/listr-silent-renderer/download/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-update-renderer": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/listr-update-renderer/download/listr-update-renderer-0.4.0.tgz", + "integrity": "sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^1.0.2", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-update-renderer/node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-update-renderer/node_modules/indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-update-renderer/node_modules/log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "dependencies": { + "chalk": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-verbose-renderer": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/listr-verbose-renderer/download/listr-verbose-renderer-0.4.1.tgz", + "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "cli-cursor": "^1.0.2", + "date-fns": "^1.27.2", + "figures": "^1.7.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-verbose-renderer/node_modules/cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "dependencies": { + "restore-cursor": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-verbose-renderer/node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-verbose-renderer/node_modules/onetime": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-verbose-renderer/node_modules/restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "dependencies": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr/node_modules/cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "dependencies": { + "restore-cursor": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr/node_modules/cli-spinners": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-0.1.2.tgz?cache=0&sync_timestamp=1595080565423&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-spinners%2Fdownload%2Fcli-spinners-0.1.2.tgz", + "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr/node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr/node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr/node_modules/log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "dependencies": { + "chalk": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr/node_modules/onetime": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr/node_modules/ora": { + "version": "0.2.3", + "resolved": "https://registry.npm.taobao.org/ora/download/ora-0.2.3.tgz?cache=0&sync_timestamp=1594997498208&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fora%2Fdownload%2Fora-0.2.3.tgz", + "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", + "dev": true, + "dependencies": { + "chalk": "^1.1.1", + "cli-cursor": "^1.0.2", + "cli-spinners": "^0.1.2", + "object-assign": "^4.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr/node_modules/p-map": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-1.2.0.tgz", + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr/node_modules/restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "dependencies": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz", + "integrity": "sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k=", + "dev": true, + "dependencies": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + } + }, + "node_modules/loader-fs-cache/node_modules/find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-fs-cache/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-fs-cache/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-fs-cache/node_modules/pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "dependencies": { + "find-up": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1593786163963&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz", + "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=", + "dev": true, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.19", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.19.tgz?cache=0&sync_timestamp=1594226805918&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.19.tgz", + "integrity": "sha1-5I3e2+MLMyF4PFtDAfvTU7weSks=" + }, + "node_modules/lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npm.taobao.org/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY=", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", + "dev": true + }, + "node_modules/lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/lodash.throttle/download/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "node_modules/lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz", + "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", + "dev": true, + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/log-update/download/log-update-1.0.2.tgz?cache=0&sync_timestamp=1582186637481&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flog-update%2Fdownload%2Flog-update-1.0.2.tgz", + "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", + "dev": true, + "dependencies": { + "ansi-escapes": "^1.0.0", + "cli-cursor": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "dependencies": { + "restore-cursor": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-update/node_modules/onetime": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "dependencies": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel": { + "version": "1.6.8", + "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.6.8.tgz", + "integrity": "sha1-iiX7ddCSIw7NRFcnDYC1TigBEXE=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-loglevel?utm_medium=referral&utm_source=npm_fund" + } + }, + "node_modules/longest": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz", + "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz", + "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1587567875186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz", + "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=", + "dev": true, + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/marked": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/marked/download/marked-1.1.1.tgz?cache=0&sync_timestamp=1594690149591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmarked%2Fdownload%2Fmarked-1.1.1.tgz", + "integrity": "sha1-5dYbaYQiENXfV7BYVuDJFXJwPmo=", + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">= 8.16.2" + } + }, + "node_modules/mavon-editor": { + "version": "2.9.0", + "resolved": "https://registry.npm.taobao.org/mavon-editor/download/mavon-editor-2.9.0.tgz", + "integrity": "sha1-5Ru83N4YuSNjM6nOsS/tLYRUKQA=", + "dependencies": { + "highlight.js": "^9.11.0", + "highlight.js-async-webpack": "^1.0.4", + "xss": "^1.0.6" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", + "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz?cache=0&sync_timestamp=1593510420945&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.4.tgz", + "integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=", + "dev": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mem": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmem%2Fdownload%2Fmem-4.3.0.tgz", + "integrity": "sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg=", + "dev": true, + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mem/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz?cache=0&sync_timestamp=1570537491040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz", + "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/merge-source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", + "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz", + "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz", + "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + }, + "node_modules/mime": { + "version": "2.4.6", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-2.4.6.tgz?cache=0&sync_timestamp=1590596706367&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-2.4.6.tgz", + "integrity": "sha1-5bQHyQ20QvK+tbFiNz0Htpr/pNE=", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz", + "integrity": "sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.27.tgz?cache=0&sync_timestamp=1587700357245&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.27.tgz", + "integrity": "sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8=", + "dev": true, + "dependencies": { + "mime-db": "1.44.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz", + "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.8.2.tgz?cache=0&sync_timestamp=1576856580721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.8.2.tgz", + "integrity": "sha1-qHXhab6yfIivd92WJ3HJ7tw9oWE=", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.4.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "dependencies": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" + }, + "node_modules/minipass": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/minipass/download/minipass-3.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-3.1.3.tgz", + "integrity": "sha1-fUL/HzljVILhX5zbUxhN7r1YFf0=", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/minipass-collect/download/minipass-collect-1.0.2.tgz", + "integrity": "sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc=", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/minipass-flush/download/minipass-flush-1.0.5.tgz", + "integrity": "sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M=", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/minipass-pipeline/download/minipass-pipeline-1.2.3.tgz", + "integrity": "sha1-VfeDkwfXSFnW6K2pw+vnLOwhajQ=", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz", + "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/mocha/download/mocha-5.2.0.tgz", + "integrity": "sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY=", + "dev": true, + "dependencies": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/mocha-webpack": { + "version": "2.0.0-beta.0", + "resolved": "https://registry.npm.taobao.org/mocha-webpack/download/mocha-webpack-2.0.0-beta.0.tgz", + "integrity": "sha1-2F/Jpw+CpK1ZW3cCoRgWBd+llUk=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.18.0", + "chalk": "^2.3.0", + "chokidar": "^2.0.2", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "interpret": "^1.0.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "lodash": "^4.3.0", + "memory-fs": "^0.4.1", + "nodent-runtime": "^3.0.3", + "normalize-path": "^2.0.1", + "progress": "^2.0.0", + "source-map-support": "^0.5.0", + "strip-ansi": "^4.0.0", + "toposort": "^1.0.0", + "yargs": "^11.0.0" + }, + "bin": { + "mocha-webpack": "bin/mocha-webpack" + }, + "peerDependencies": { + "mocha": ">=4 <=5", + "webpack": "^4.0.0" + } + }, + "node_modules/mocha-webpack/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha-webpack/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha-webpack/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/mocha-webpack/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1593261363626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha-webpack/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha-webpack/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1594864731636&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/mocha-webpack/node_modules/chokidar/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha-webpack/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz", + "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/mocha-webpack/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1588787369955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz", + "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/mocha-webpack/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/mocha-webpack/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha-webpack/node_modules/globby": { + "version": "7.1.1", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha-webpack/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha-webpack/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha-webpack/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha-webpack/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1584985910691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/mocha-webpack/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha-webpack/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha-webpack/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719517036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", + "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/mocha-webpack/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha-webpack/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha-webpack/node_modules/y18n": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "node_modules/mocha-webpack/node_modules/yargs": { + "version": "11.1.1", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-11.1.1.tgz?cache=0&sync_timestamp=1594421046064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-11.1.1.tgz", + "integrity": "sha1-UFLv40RqTfXtZpyZWIbMDxNwJ2Y=", + "dev": true, + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "node_modules/mocha/node_modules/commander": { + "version": "2.15.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.15.1.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.15.1.tgz", + "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=", + "dev": true + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.2", + "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz?cache=0&sync_timestamp=1573078079496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "node_modules/mocha/node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dev": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz", + "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/moment": { + "version": "2.27.0", + "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.27.0.tgz?cache=0&sync_timestamp=1592516115109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.27.0.tgz", + "integrity": "sha1-i/9OPiaiNiIN/j423nVrbrqgEF0=", + "engines": { + "node": "*" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz", + "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", + "dev": true, + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz", + "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nan": { + "version": "2.14.1", + "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.1.tgz?cache=0&sync_timestamp=1587497111086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.1.tgz", + "integrity": "sha1-174036MQW5FJTDFHCJMV7/iHSwE=", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", + "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", + "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz", + "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", + "dev": true + }, + "node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz?cache=0&sync_timestamp=1576748705107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-2.3.2.tgz", + "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", + "dev": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, + "node_modules/node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz", + "integrity": "sha1-1iQFDtu0SHStyhK7mlLsY8t4JXk=", + "dev": true, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/node-ipc": { + "version": "9.1.1", + "resolved": "https://registry.npm.taobao.org/node-ipc/download/node-ipc-9.1.1.tgz", + "integrity": "sha1-TiRe1pOOZRAOWV68XcNLFujdXWk=", + "dev": true, + "dependencies": { + "event-pubsub": "4.3.0", + "js-message": "1.0.5", + "js-queue": "2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz", + "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", + "dev": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/node-releases": { + "version": "1.1.59", + "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.59.tgz?cache=0&sync_timestamp=1594212234484&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.59.tgz", + "integrity": "sha1-TWSDMGQc7HBL/xD45P4o5FOrjo4=", + "dev": true + }, + "node_modules/nodent-runtime": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/nodent-runtime/download/nodent-runtime-3.2.1.tgz", + "integrity": "sha1-nidV2F4592Qojw1HUuvP4+VB4A4=", + "dev": true, + "hasInstallScript": true + }, + "node_modules/nopt": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-4.0.3.tgz", + "integrity": "sha1-o3XK2dAv2SEnjZVMIlTVqlfhXkg=", + "dev": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz", + "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize.css": { + "version": "8.0.1", + "resolved": "https://registry.npm.taobao.org/normalize.css/download/normalize.css-8.0.1.tgz?cache=0&sync_timestamp=1588361527323&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize.css%2Fdownload%2Fnormalize.css-8.0.1.tgz", + "integrity": "sha1-m5iiCHOLnMJjTKrLxC0THJdIe/M=" + }, + "node_modules/npm-path": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/npm-path/download/npm-path-2.0.4.tgz", + "integrity": "sha1-xkE0el/51qCeTZvOVYDE9QUnjmQ=", + "dev": true, + "dependencies": { + "which": "^1.2.10" + }, + "bin": { + "npm-path": "bin/npm-path" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-which": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/npm-which/download/npm-which-3.0.1.tgz", + "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=", + "dev": true, + "dependencies": { + "commander": "^2.9.0", + "npm-path": "^2.0.2", + "which": "^1.2.10" + }, + "bin": { + "npm-which": "bin/npm-which.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz", + "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", + "dev": true, + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/nwsapi/download/nwsapi-2.2.0.tgz", + "integrity": "sha1-IEh5qePQaP8qVROcLHcngGgaOLc=", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", + "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz", + "integrity": "sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8=", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.7.0.tgz?cache=0&sync_timestamp=1592545149361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.7.0.tgz", + "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.2.tgz?cache=0&sync_timestamp=1586894009620&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.2.tgz", + "integrity": "sha1-xdLof/nhGfeLegiEQVGeLuwVc7Y=", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz", + "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha1-Npvx+VktiridcS3O1cuBx8U1Jkk=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object.values/download/object.values-1.1.1.tgz", + "integrity": "sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz", + "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz", + "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz?cache=0&sync_timestamp=1595208391438&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopen%2Fdownload%2Fopen-6.4.0.tgz", + "integrity": "sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk=", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/opener": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.1.tgz", + "integrity": "sha1-bS8Od/GgrwAyrKcWwsH7uOfoq+0=", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/opn": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz", + "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz?cache=0&sync_timestamp=1585966141328&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptionator%2Fdownload%2Foptionator-0.8.3.tgz", + "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz?cache=0&sync_timestamp=1594997498208&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fora%2Fdownload%2Fora-3.4.0.tgz", + "integrity": "sha1-vwdSSRBZo+8+1MhQl1Md6f280xg=", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/original": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz", + "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", + "dev": true, + "dependencies": { + "url-parse": "^1.4.3" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-3.1.0.tgz?cache=0&sync_timestamp=1584865484693&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fos-locale%2Fdownload%2Fos-locale-3.1.0.tgz", + "integrity": "sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo=", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/osenv": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz", + "integrity": "sha1-hc36+uso6Gd/QW4odZK18/SepBA=", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz?cache=0&sync_timestamp=1559922734651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-defer%2Fdownload%2Fp-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz", + "integrity": "sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1594559696906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-2.1.0.tgz", + "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz", + "integrity": "sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=", + "dev": true, + "dependencies": { + "retry": "^0.12.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz", + "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=", + "dev": true + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz", + "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz?cache=0&sync_timestamp=1576721608924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.5.tgz", + "integrity": "sha1-ADJxND2ljclMrOSU+u89IUfs6g4=", + "dev": true, + "dependencies": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.0.tgz", + "integrity": "sha1-xZNByXI/QUxFKXVWTHwApo1YrNI=", + "dev": true + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-5.1.1.tgz", + "integrity": "sha1-6MdD1OkhlNUpPs3isIvjHmdGHLw=", + "dev": true, + "dependencies": { + "parse5": "^5.1.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz", + "integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz", + "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1574441431664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", + "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pathval": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/pathval/download/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz?cache=0&sync_timestamp=1591275684229&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpbkdf2%2Fdownload%2Fpbkdf2-3.1.1.tgz", + "integrity": "sha1-y4cksPramEWWhW0abrr9NYRlS5Q=", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz", + "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=", + "dev": true, + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559696906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/pluralize/download/pluralize-7.0.0.tgz", + "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/pn/download/pn-1.1.0.tgz", + "integrity": "sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs=", + "dev": true + }, + "node_modules/popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npm.taobao.org/popper.js/download/popper.js-1.16.1.tgz", + "integrity": "sha1-KiI8s9x7YhPXQOQDcr5A3kPmWxs=", + "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/portfinder": { + "version": "1.0.27", + "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.27.tgz?cache=0&sync_timestamp=1595216077180&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fportfinder%2Fdownload%2Fportfinder-1.0.27.tgz", + "integrity": "sha1-pBMzwRa15fPTgPl0WsLzUITEx1g=", + "dev": true, + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/portfinder/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.32", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.32.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.32.tgz", + "integrity": "sha1-QxDW7jRwU9o0M9sr5JKIPWLOxZ0=", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + }, + "node_modules/postcss-calc": { + "version": "7.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.2.tgz?cache=0&sync_timestamp=1582014221563&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.2.tgz", + "integrity": "sha1-UE780AjKAnMSBWiweSsWzc3oqsE=", + "dev": true, + "dependencies": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz", + "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-colormin/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz", + "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=", + "dev": true, + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-convert-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.0.tgz", + "integrity": "sha1-yE1pK3u3tB3c7ZTuYuirMbQXsAM=", + "dev": true, + "dependencies": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz", + "integrity": "sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0=", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-loader/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=", + "dev": true, + "dependencies": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=", + "dev": true, + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=", + "dev": true, + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz", + "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-params/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha1-3IfjQUjsfqtfeR981YSYMzdbdBo=", + "dev": true, + "dependencies": { + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-scope/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "dependencies": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-values/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-values/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-modules-values/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=", + "dev": true, + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=", + "dev": true, + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=", + "dev": true, + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=", + "dev": true, + "dependencies": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=", + "dev": true, + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=", + "dev": true, + "dependencies": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=", + "dev": true, + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=", + "dev": true, + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=", + "dev": true, + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.2.tgz", + "integrity": "sha1-k0z3mdAWyDQRhZ4J3Oyt4BKG7Fw=", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz", + "integrity": "sha1-F7mXvHEbMzurFDqu07jT1uPTglg=", + "dev": true, + "dependencies": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-svgo/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "node_modules/postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz", + "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", + "dev": true + }, + "node_modules/postcss/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1587491448785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz", + "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", + "dev": true, + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pretty/download/pretty-2.0.0.tgz", + "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", + "dev": true, + "dependencies": { + "condense-newlines": "^0.2.1", + "extend-shallow": "^2.0.1", + "js-beautify": "^1.6.12" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "dependencies": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "node_modules/pretty-format": { + "version": "21.2.1", + "resolved": "https://registry.npm.taobao.org/pretty-format/download/pretty-format-21.2.1.tgz?cache=0&sync_timestamp=1592925335887&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-21.2.1.tgz", + "integrity": "sha1-rlQH888hBmzQEaobpfzntqLt2zY=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/printj": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/printj/download/printj-1.1.2.tgz", + "integrity": "sha1-2Q3rKXWoufYA+zoclOP0xTx4oiI=", + "bin": { + "printj": "bin/printj.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "dev": true, + "optional": true, + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/proto-list/download/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, + "node_modules/proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz", + "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=", + "dev": true, + "dependencies": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz?cache=0&sync_timestamp=1585142991033&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpsl%2Fdownload%2Fpsl-1.8.0.tgz", + "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz", + "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz?cache=0&sync_timestamp=1569938200736&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpumpify%2Fdownload%2Fpumpify-1.5.1.tgz", + "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", + "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.1.1.tgz", + "integrity": "sha1-YOWl/WSn+L+k0qsu1v30yFutFU4=", + "dev": true + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz", + "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", + "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz", + "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz", + "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "dependencies": { + "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "dependencies": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-5.0.0.tgz", + "integrity": "sha1-c+URTJhtFD76NxLU6iTbmkJm9g8=", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.4.0.tgz?cache=0&sync_timestamp=1584985910691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.4.0.tgz", + "integrity": "sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto=", + "dev": true, + "optional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.1.tgz", + "integrity": "sha1-ytkq2Oa1kXc0hfvgWkhcr09Ffm8=", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate-unicode-properties%2Fdownload%2Fregenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.5.tgz?cache=0&sync_timestamp=1584052597708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.5.tgz", + "integrity": "sha1-2Hih0JS0MG0QuQlkhLM+vVXiZpc=", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz?cache=0&sync_timestamp=1593557393872&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.14.5.tgz", + "integrity": "sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz?cache=0&sync_timestamp=1576388379660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.0.tgz", + "integrity": "sha1-erqJs8E6ZFCdq888qNn7ub31y3U=", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/regexpp/download/regexpp-1.1.0.tgz", + "integrity": "sha1-DjUW3Qt5BPQT0tQZPc5GGMOmias=", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/regexpu-core": { + "version": "4.7.0", + "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.0.tgz?cache=0&sync_timestamp=1583949899397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.7.0.tgz", + "integrity": "sha1-/L9FjFBDGwu3tF1pZ7gZLZHz2Tg=", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.2.tgz", + "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.4.tgz", + "integrity": "sha1-p2n4aEMIQBpm6bUp0kNv9NBmYnI=", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "node_modules/renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.3.tgz", + "integrity": "sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk=", + "dev": true, + "dependencies": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "dependencies": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "node_modules/renderkid/node_modules/css-what": { + "version": "2.1.3", + "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz", + "integrity": "sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz", + "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz?cache=0&sync_timestamp=1581439006948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest%2Fdownload%2Frequest-2.88.2.tgz", + "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.3.tgz", + "integrity": "sha1-6aPAgbUTgN/qZ3M2Bh/qh5qCnuk=", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/request-promise-native/download/request-promise-native-1.0.8.tgz", + "integrity": "sha1-pFW5YLgm5E4r+Jma9k3/K/5YyzY=", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/require-from-string/download/require-from-string-2.0.2.tgz", + "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "node_modules/require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/require-uncached/download/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "dependencies": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/reselect": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/reselect/download/reselect-3.0.1.tgz", + "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.17.0.tgz", + "integrity": "sha1-sllBtUloIxzC0bt2p5y38sC/hEQ=", + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz?cache=0&sync_timestamp=1585438700247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve-url%2Fdownload%2Fresolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resumer": { + "version": "0.0.0", + "resolved": "https://registry.npm.taobao.org/resumer/download/resumer-0.0.0.tgz", + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", + "dependencies": { + "through": "~2.3.4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "node_modules/right-align": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dependencies": { + "align-text": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz", + "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rollup": { + "version": "0.25.8", + "resolved": "https://registry.npm.taobao.org/rollup/download/rollup-0.25.8.tgz?cache=0&sync_timestamp=1595099799360&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frollup%2Fdownload%2Frollup-0.25.8.tgz", + "integrity": "sha1-v2zoO4dRDRY0Ru6qV37WpvxYNeA=", + "dependencies": { + "chalk": "^1.1.1", + "minimist": "^1.2.0", + "source-map-support": "^0.3.2" + }, + "bin": { + "rollup": "bin/rollup" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frun-async%2Fdownload%2Frun-async-2.4.1.tgz", + "integrity": "sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npm.taobao.org/rw/download/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, + "node_modules/rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npm.taobao.org/rx-lite/download/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "node_modules/rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npm.taobao.org/rx-lite-aggregates/download/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "dependencies": { + "rx-lite": "*" + } + }, + "node_modules/rxjs": { + "version": "5.5.12", + "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-5.5.12.tgz?cache=0&sync_timestamp=1593794887039&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-5.5.12.tgz", + "integrity": "sha1-b6YbinfD15PbrycL7i9D9lLXQcw=", + "dev": true, + "dependencies": { + "symbol-observable": "1.0.1" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "dev": true + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true + }, + "node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npm.taobao.org/saxes/download/saxes-3.1.11.tgz", + "integrity": "sha1-1Z0f0zLskq2YouCy7mRHAjhLHFs=", + "dev": true, + "dependencies": { + "xmlchars": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.0.tgz", + "integrity": "sha1-FxUfdtjq5n+793lgwzxnatn078c=", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/select/download/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "node_modules/selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.7.tgz", + "integrity": "sha1-2lgZ/QSdVXTyjoipvMbbxubzkGs=", + "dev": true, + "dependencies": { + "node-forge": "0.9.0" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", + "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1590596706367&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-3.1.0.tgz", + "integrity": "sha1-i/OpFwcSZk7yVhtEtpHq/jmSFOo=", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1593407710477&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz?cache=0&sync_timestamp=1563425414995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsetprototypeof%2Fdownload%2Fsetprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", + "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz?cache=0&sync_timestamp=1585775409029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fset-value%2Fdownload%2Fset-value-2.0.1.tgz", + "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz?cache=0&sync_timestamp=1563425414995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsetprototypeof%2Fdownload%2Fsetprototypeof-1.1.1.tgz", + "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsha.js%2Fdownload%2Fsha.js-2.4.11.tgz", + "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz", + "integrity": "sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I=", + "dev": true + }, + "node_modules/sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/sigmund/download/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz", + "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=", + "dev": true + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz", + "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=", + "dev": true + }, + "node_modules/simplemde": { + "version": "1.11.2", + "resolved": "https://registry.npm.taobao.org/simplemde/download/simplemde-1.11.2.tgz", + "integrity": "sha1-ojo12XjSxA7wfewAjJLwcNjggOM=", + "dependencies": { + "codemirror": "*", + "codemirror-spell-checker": "*", + "marked": "*" + } + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz", + "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-1.0.0.tgz", + "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slick-carousel": { + "version": "1.8.1", + "resolved": "https://registry.npm.taobao.org/slick-carousel/download/slick-carousel-1.8.1.tgz", + "integrity": "sha1-pL+ykBSIe7Zs5Si5C9DNomLMj40=", + "peerDependencies": { + "jquery": ">=1.8.0" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sntp": { + "version": "1.0.9", + "resolved": "https://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "dev": true, + "optional": true, + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.20", + "resolved": "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.20.tgz", + "integrity": "sha1-smooPsVi74smh7RAM6Tuzqx12FU=", + "dev": true, + "dependencies": { + "faye-websocket": "^0.10.0", + "uuid": "^3.4.0", + "websocket-driver": "0.6.5" + } + }, + "node_modules/sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.4.0.tgz", + "integrity": "sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U=", + "dev": true, + "dependencies": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + } + }, + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/sockjs-client/node_modules/faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz", + "integrity": "sha1-XA6aiWjokSwoZjn96XeosgnyUI4=", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sockjs-client/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz?cache=0&sync_timestamp=1565864727994&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsort-keys%2Fdownload%2Fsort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sortablejs": { + "version": "1.10.2", + "resolved": "https://registry.npm.taobao.org/sortablejs/download/sortablejs-1.10.2.tgz", + "integrity": "sha1-bkA2TZE/mLhaFPZnj5K1wSIfUpA=" + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", + "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", + "dev": true + }, + "node_modules/source-map": { + "version": "0.1.32", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.1.32.tgz", + "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=", + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz?cache=0&sync_timestamp=1584831908370&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-resolve%2Fdownload%2Fsource-map-resolve-0.5.3.tgz", + "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.3.3", + "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.3.3.tgz?cache=0&sync_timestamp=1587719517036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.3.3.tgz", + "integrity": "sha1-NJAJd9W6PwfHdX7nLnO7GptTdU8=", + "dependencies": { + "source-map": "0.1.32" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz?cache=0&sync_timestamp=1590161967473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-correct%2Fdownload%2Fspdx-correct-3.1.1.tgz", + "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz?cache=0&sync_timestamp=1587422410312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-exceptions%2Fdownload%2Fspdx-exceptions-2.3.0.tgz", + "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz", + "integrity": "sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz", + "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz", + "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/spdy-transport/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/spdy-transport/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/spdy/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/spdy/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/ssf": { + "version": "0.10.3", + "resolved": "https://registry.npm.taobao.org/ssf/download/ssf-0.10.3.tgz", + "integrity": "sha1-jq4fwpyQpVLnkhII+BiS1vd6yys=", + "dependencies": { + "frac": "~1.1.2" + }, + "bin": { + "ssf": "bin/ssf.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", + "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz", + "integrity": "sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg=", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz", + "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "dev": true + }, + "node_modules/stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/stackframe/download/stackframe-1.2.0.tgz?cache=0&sync_timestamp=1590854148142&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstackframe%2Fdownload%2Fstackframe-1.2.0.tgz", + "integrity": "sha1-UkKUktY8YuuYmATBFVLj0i53kwM=", + "dev": true + }, + "node_modules/staged-git-files": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/staged-git-files/download/staged-git-files-1.0.0.tgz", + "integrity": "sha1-zbhHg3wfzFLAioctSIPMCHdmioA=", + "dev": true + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1587328859420&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz?cache=0&sync_timestamp=1587041519870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-browserify%2Fdownload%2Fstream-browserify-2.0.2.tgz", + "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz", + "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz?cache=0&sync_timestamp=1588701035785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-http%2Fdownload%2Fstream-http-2.8.3.tgz", + "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz?cache=0&sync_timestamp=1576147145118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-shift%2Fdownload%2Fstream-shift-1.0.1.tgz", + "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=", + "dev": true + }, + "node_modules/stream-to-observable": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/stream-to-observable/download/stream-to-observable-0.2.0.tgz", + "integrity": "sha1-WdbqOT2HwsDdrBCqDVYbxrpvDhA=", + "dev": true, + "dependencies": { + "any-observable": "^0.2.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.padend": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string.prototype.padend/download/string.prototype.padend-3.1.0.tgz?cache=0&sync_timestamp=1576312069927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.padend%2Fdownload%2Fstring.prototype.padend-3.1.0.tgz", + "integrity": "sha1-3Aj1eoAQ3FwVNVAxj2fhOtu3KsM=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.padstart": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string.prototype.padstart/download/string.prototype.padstart-3.1.0.tgz", + "integrity": "sha1-tHwIdUDQcQvlpJN1dRoKYnvU/5A=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/string.prototype.trim/download/string.prototype.trim-1.2.1.tgz", + "integrity": "sha1-FBIz3/Msgr+tgGhNfl8Iae4Pt4I=", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz?cache=0&sync_timestamp=1586465409341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.1.tgz", + "integrity": "sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM=", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz?cache=0&sync_timestamp=1586465413621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.1.tgz", + "integrity": "sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ=", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz", + "integrity": "sha1-cDBlrvyhkwDTzoivT1s5VtdVZik=", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/stringify-object/node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npm.taobao.org/stringstream/download/stringstream-0.0.6.tgz", + "integrity": "sha1-eIAiWw1K0Q4wkn0Weh1vL9OzOnI=", + "dev": true, + "optional": true + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz", + "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz?cache=0&sync_timestamp=1594567586410&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz", + "integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/stylehacks/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1572433264480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz", + "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/symbol-observable": { + "version": "0.2.4", + "resolved": "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-0.2.4.tgz", + "integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npm.taobao.org/symbol-tree/download/symbol-tree-3.2.4.tgz", + "integrity": "sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I=", + "dev": true + }, + "node_modules/table": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/table/download/table-4.0.2.tgz", + "integrity": "sha1-ozRHN1OR52atNNNIbm4q7chNLjY=", + "dev": true, + "dependencies": { + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "5.5.2", + "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/table/node_modules/ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true, + "peerDependencies": { + "ajv": "^5.0.0" + } + }, + "node_modules/table/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz?cache=0&sync_timestamp=1591599666712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "node_modules/table/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz", + "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tape": { + "version": "4.13.3", + "resolved": "https://registry.npm.taobao.org/tape/download/tape-4.13.3.tgz?cache=0&sync_timestamp=1590380169759&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftape%2Fdownload%2Ftape-4.13.3.tgz", + "integrity": "sha1-UbPZHINmjHpFsaWUtgfe4KC0Yng=", + "dependencies": { + "deep-equal": "~1.1.1", + "defined": "~1.0.0", + "dotignore": "~0.1.2", + "for-each": "~0.3.3", + "function-bind": "~1.1.1", + "glob": "~7.1.6", + "has": "~1.0.3", + "inherits": "~2.0.4", + "is-regex": "~1.0.5", + "minimist": "~1.2.5", + "object-inspect": "~1.7.0", + "resolve": "~1.17.0", + "resumer": "~0.0.0", + "string.prototype.trim": "~1.2.1", + "through": "~2.3.8" + }, + "bin": { + "tape": "bin/tape" + } + }, + "node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1593953635939&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.8.0.tgz", + "integrity": "sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc=", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "1.4.4", + "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.4.tgz?cache=0&sync_timestamp=1594910785474&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.4.tgz", + "integrity": "sha1-LGNUQ0cyS6r6mla6rd8WNMir/C8=", + "dev": true, + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^3.1.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/terser-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719517036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", + "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/thenify/download/thenify-3.3.1.tgz", + "integrity": "sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8=", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npm.taobao.org/thread-loader/download/thread-loader-2.1.3.tgz", + "integrity": "sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo=", + "dev": true, + "dependencies": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + }, + "engines": { + "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz", + "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz?cache=0&sync_timestamp=1571043401546&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthunky%2Fdownload%2Fthunky-1.1.0.tgz", + "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=", + "dev": true + }, + "node_modules/timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz", + "integrity": "sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8=", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/tiny-emitter/download/tiny-emitter-2.1.0.tgz", + "integrity": "sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM=" + }, + "node_modules/tinycolor2": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/tinycolor2/download/tinycolor2-1.4.1.tgz", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=", + "engines": { + "node": "*" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz?cache=0&sync_timestamp=1588178571895&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftmp%2Fdownload%2Ftmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz", + "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/toposort": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftough-cookie%2Fdownload%2Ftough-cookie-2.5.0.tgz", + "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/tr46/download/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/tree-table-vue": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/tree-table-vue/download/tree-table-vue-1.1.0.tgz", + "integrity": "sha1-ETpL2dhPqmQ5csS4AoCanbZjDYk=", + "dependencies": { + "clonedeep": "^2.0.0", + "iview": "^3.1.5", + "vue": "^2.5.17" + }, + "engines": { + "node": ">= 4.0.0", + "npm": ">= 3.0.0" + }, + "peerDependencies": { + "vue": "^2.4.3" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz", + "integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg=", + "dev": true + }, + "node_modules/tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npm.taobao.org/tsconfig-paths/download/tsconfig-paths-3.9.0.tgz", + "integrity": "sha1-CYVHpsREiAfo/Ljq4IEGTumjyQs=", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tslib": { + "version": "1.13.0", + "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.13.0.tgz", + "integrity": "sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM=", + "dev": true + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1581365146868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npm.taobao.org/type-detect/download/type-detect-4.0.8.tgz", + "integrity": "sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz", + "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", + "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/typo-js": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/typo-js/download/typo-js-1.1.0.tgz", + "integrity": "sha1-pan1kry0U2Zr9wyWlNpYcF0CXtg=" + }, + "node_modules/uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz?cache=0&sync_timestamp=1592744803278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dependencies": { + "source-map": "~0.5.1", + "yargs": "~3.10.0" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + }, + "optionalDependencies": { + "uglify-to-browserify": "~1.0.0" + } + }, + "node_modules/uglify-js/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "node_modules/uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/uglifyjs-webpack-plugin/download/uglifyjs-webpack-plugin-1.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglifyjs-webpack-plugin%2Fdownload%2Fuglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha1-dfVIFghYFjoIZD4IbV/v4YpdZ94=", + "dev": true, + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "engines": { + "node": ">= 4.8 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/cacache": { + "version": "10.0.4", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-10.0.4.tgz?cache=0&sync_timestamp=1594429684526&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-10.0.4.tgz", + "integrity": "sha1-ZFI2eZnv+dQYiu/ZoU6dfGomNGA=", + "dev": true, + "dependencies": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.13.0.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.13.0.tgz", + "integrity": "sha1-aWS8pnaF33wfFDDFhPB9dZeIW5w=", + "dev": true + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz?cache=0&sync_timestamp=1587567875186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz", + "integrity": "sha1-NEKlCPr8KFAEhv7qmUCWduTuWm8=", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz", + "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz", + "integrity": "sha1-z8IArvd7YAxH2pu4FJyUPnmML9s=", + "dev": true + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/ssri": { + "version": "5.3.0", + "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-5.3.0.tgz", + "integrity": "sha1-ujhyycbTOgcEp9cf8EXl7EiZnQY=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npm.taobao.org/uglify-es/download/uglify-es-3.3.9.tgz", + "integrity": "sha1-DBxPBwC+2NvBJM2zBNJZLKID5nc=", + "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", + "dev": true, + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglifyjs-webpack-plugin/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-match-property-value-ecmascript%2Fdownload%2Funicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz?cache=0&sync_timestamp=1583945805856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz", + "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz", + "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz", + "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1583531006552&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz", + "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case%2Fdownload%2Fupper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz", + "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/url-loader/download/url-loader-1.1.2.tgz", + "integrity": "sha1-uXHRkbg69pPF4/6kBkvp4fLX+Ng=", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^3.0.0 || ^4.0.0" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npm.taobao.org/url-parse/download/url-parse-1.4.7.tgz", + "integrity": "sha1-qKg1NejACjFuQDpdtKwbm4U64ng=", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz", + "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz?cache=0&sync_timestamp=1588238457176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.11.1.tgz", + "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.1.tgz", + "integrity": "sha1-a693dLgO6w91INi4HQeYKlmruu4=", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v-click-outside-x": { + "version": "3.7.1", + "resolved": "https://registry.npm.taobao.org/v-click-outside-x/download/v-click-outside-x-3.7.1.tgz?cache=0&sync_timestamp=1579043108278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv-click-outside-x%2Fdownload%2Fv-click-outside-x-3.7.1.tgz", + "integrity": "sha1-qgPqoOQeRMtSB9z4bC2fDdZAhME=", + "engines": { + "node": ">=8.11.4", + "npm": "6.4.1" + } + }, + "node_modules/v-org-tree": { + "version": "1.0.12", + "resolved": "https://registry.npm.taobao.org/v-org-tree/download/v-org-tree-1.0.12.tgz", + "integrity": "sha1-Vmsu8dO4jI+tTO4zZaa0v+rjtI0=", + "dependencies": { + "clonedeep": "^2.0.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz?cache=0&sync_timestamp=1579857147055&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvendors%2Fdownload%2Fvendors-1.0.4.tgz", + "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/venn.js": { + "version": "0.2.20", + "resolved": "https://registry.npm.taobao.org/venn.js/download/venn.js-0.2.20.tgz", + "integrity": "sha1-Pw5QzHXLofWGkqijL2e9eq8apvo=", + "dependencies": { + "d3-selection": "^1.0.2", + "d3-transition": "^1.0.1", + "fmin": "0.0.2" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/view-design": { + "version": "4.3.2", + "resolved": "https://registry.npm.taobao.org/view-design/download/view-design-4.3.2.tgz", + "integrity": "sha1-bwgcZzt3QgObs4o6UZOO+rtg0KI=", + "dependencies": { + "async-validator": "^3.3.0", + "deepmerge": "^2.2.1", + "element-resize-detector": "^1.2.0", + "js-calendar": "^1.2.3", + "lodash.throttle": "^4.1.1", + "popper.js": "^1.14.6", + "tinycolor2": "^1.4.1", + "v-click-outside-x": "^3.7.1" + }, + "engines": { + "node": ">=8.9.1", + "npm": ">=5.5.1", + "yarn": ">=1.3.2" + }, + "peerDependencies": { + "vue": "^2.5.2" + } + }, + "node_modules/view-design/node_modules/async-validator": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-3.3.0.tgz", + "integrity": "sha1-HZIZO75g1tbIskZpLHAF6e0UqO4=" + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1572870776965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz", + "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=", + "dev": true + }, + "node_modules/vue": { + "version": "2.6.11", + "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.11.tgz", + "integrity": "sha1-dllNh31LEiNEBuhONSdcbVFBJcU=" + }, + "node_modules/vue-data-loading": { + "version": "0.2.4", + "resolved": "https://registry.npm.taobao.org/vue-data-loading/download/vue-data-loading-0.2.4.tgz", + "integrity": "sha1-kftt9j7aXGXTrzM2foYqnh/Bhu8=", + "dependencies": { + "vue": "^2.0.0" + }, + "engines": { + "node": ">= 4.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/vue-enum": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/vue-enum/download/vue-enum-1.0.5.tgz", + "integrity": "sha1-cQfD4tfXnp1HKLsWzvS83TTBziM=" + }, + "node_modules/vue-eslint-parser": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-2.0.3.tgz?cache=0&sync_timestamp=1589539313907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-2.0.3.tgz", + "integrity": "sha1-wmjJbG2Uz+PZOKX3WTlZsMozYNE=", + "dev": true, + "optional": true, + "dependencies": { + "debug": "^3.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.2", + "esquery": "^1.0.0", + "lodash": "^4.17.4" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": ">=3.9.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-3.7.3.tgz", + "integrity": "sha1-u1ByANPRf2AkdjYWC0gmKEsQhTU=", + "dev": true, + "optional": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-hot-reload-api%2Fdownload%2Fvue-hot-reload-api-2.3.4.tgz", + "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", + "dev": true + }, + "node_modules/vue-i18n": { + "version": "7.8.1", + "resolved": "https://registry.npm.taobao.org/vue-i18n/download/vue-i18n-7.8.1.tgz", + "integrity": "sha1-LOS2795nmh4F3bXZB7/BvCGIA7I=" + }, + "node_modules/vue-infinite-loading": { + "version": "2.4.5", + "resolved": "https://registry.npm.taobao.org/vue-infinite-loading/download/vue-infinite-loading-2.4.5.tgz", + "integrity": "sha1-zCD9QK9/IBiABkQ8mbYEcM8d4bM=", + "peerDependencies": { + "vue": "^2.6.10" + } + }, + "node_modules/vue-json-viewer": { + "version": "2.2.12", + "resolved": "https://registry.npm.taobao.org/vue-json-viewer/download/vue-json-viewer-2.2.12.tgz", + "integrity": "sha1-9y94pAIOa+QqQwAOCdIEf2iWJlY=", + "dependencies": { + "clipboard": "^2.0.4", + "vue": "^2.6.9" + } + }, + "node_modules/vue-json-views": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/vue-json-views/download/vue-json-views-0.1.1.tgz", + "integrity": "sha1-8YAXKr4EvK9Cag9DoBkk4EJuvPw=", + "dependencies": { + "vue": "^2.5.11", + "vue-json-views": "^0.0.2" + } + }, + "node_modules/vue-json-views/node_modules/vue-json-views": { + "version": "0.0.2", + "resolved": "https://registry.npm.taobao.org/vue-json-views/download/vue-json-views-0.0.2.tgz", + "integrity": "sha1-xadQA6glOnXDN81xftikVMMCXx0=", + "dependencies": { + "vue": "^2.5.11" + } + }, + "node_modules/vue-loader": { + "version": "15.9.3", + "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.9.3.tgz?cache=0&sync_timestamp=1593355754768&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-15.9.3.tgz", + "integrity": "sha1-DeNdnlVdPtU5aVFsrFziVTEpndo=", + "dev": true, + "dependencies": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "peerDependencies": { + "css-loader": "*", + "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "cache-loader": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/vue-router": { + "version": "3.3.4", + "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.3.4.tgz?cache=0&sync_timestamp=1594111718735&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.3.4.tgz", + "integrity": "sha1-Tjirw0oRxBtsPYJERJouNjumJQs=" + }, + "node_modules/vue-slick": { + "version": "1.1.15", + "resolved": "https://registry.npm.taobao.org/vue-slick/download/vue-slick-1.1.15.tgz", + "integrity": "sha1-KRYTRTH9H5Y4VI8roVJuTxEDJYg=", + "dependencies": { + "slick-carousel": "^1.6.0" + }, + "peerDependencies": { + "jquery": "*" + } + }, + "node_modules/vue-style-loader": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.2.tgz", + "integrity": "sha1-3t80mAbyXOtOZPOtfApE+6c1/Pg=", + "dev": true, + "dependencies": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "node_modules/vue-template-compiler": { + "version": "2.6.11", + "resolved": "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.11.tgz", + "integrity": "sha1-wEcE749JixUxMAGJk+VjCdRpgIA=", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "node_modules/vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=", + "dev": true + }, + "node_modules/vuedraggable": { + "version": "2.24.0", + "resolved": "https://registry.npm.taobao.org/vuedraggable/download/vuedraggable-2.24.0.tgz?cache=0&sync_timestamp=1594052423588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvuedraggable%2Fdownload%2Fvuedraggable-2.24.0.tgz", + "integrity": "sha1-HuBp7rkfYfy1QPryDxxrLU2ZCiY=", + "dependencies": { + "sortablejs": "^1.10.1" + } + }, + "node_modules/vuex": { + "version": "3.5.1", + "resolved": "https://registry.npm.taobao.org/vuex/download/vuex-3.5.1.tgz?cache=0&sync_timestamp=1593445037188&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvuex%2Fdownload%2Fvuex-3.5.1.tgz", + "integrity": "sha1-8bjc6mSbwlJUz09DWAgdv12hiz0=", + "peerDependencies": { + "vue": "^2.0.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz?cache=0&sync_timestamp=1583455604765&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fw3c-hr-time%2Fdownload%2Fw3c-hr-time-1.0.2.tgz", + "integrity": "sha1-ConN9cwVgi35w2BUNnaWPgzDCM0=", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/w3c-xmlserializer/download/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha1-MEhcp9cKb9BSQgo9Ev2Q5jOc55Q=", + "dev": true, + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/wangeditor": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/wangeditor/download/wangeditor-3.1.1.tgz", + "integrity": "sha1-+9PB1JdpI8nt67hbKdMLNVEq0Dk=" + }, + "node_modules/watchpack": { + "version": "1.7.2", + "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.2.tgz", + "integrity": "sha1-wC5NTUmRPD5+EiwzJTZa+dMx6ao=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.0", + "watchpack-chokidar2": "^2.0.0" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha1-mUihhmy71suCTeoTp+1pH2yN3/A=", + "dev": true, + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + }, + "engines": { + "node": "<8.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1593261363626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1594864731636&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1588787369955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz", + "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1584985910691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "dev": true, + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", + "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebidl-conversions%2Fdownload%2Fwebidl-conversions-4.0.2.tgz", + "integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=", + "dev": true + }, + "node_modules/webpack": { + "version": "4.43.0", + "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.43.0.tgz?cache=0&sync_timestamp=1594294511041&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.43.0.tgz", + "integrity": "sha1-xIVHsR1WMiTFYdrRFyyKoLimeOY=", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.1", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "3.8.0", + "resolved": "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.8.0.tgz", + "integrity": "sha1-zms/kI2vBp/R9yZvaSy7O97ZuhY=", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.15", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 6.14.4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn": { + "version": "7.3.1", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.3.1.tgz?cache=0&sync_timestamp=1591869432510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.3.1.tgz", + "integrity": "sha1-hQEHVNtTw/uvO56j4IOqXF0Uf/0=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.2.0.tgz", + "integrity": "sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-chain": { + "version": "4.12.1", + "resolved": "https://registry.npm.taobao.org/webpack-chain/download/webpack-chain-4.12.1.tgz?cache=0&sync_timestamp=1593639477219&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-chain%2Fdownload%2Fwebpack-chain-4.12.1.tgz", + "integrity": "sha1-bIQ5u7KrVQlS1g4eqTGRQZBsAqY=", + "dev": true, + "dependencies": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^1.6.0" + } + }, + "node_modules/webpack-chain/node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz", + "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.2.tgz?cache=0&sync_timestamp=1594744804453&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.2.tgz", + "integrity": "sha1-ABnD23FuP6XOy/ZPKriKdLqzMfM=", + "dev": true, + "dependencies": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "3.11.0", + "resolved": "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.11.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-3.11.0.tgz", + "integrity": "sha1-jxVKO84bz9HMYY705wMniFXn/4w=", + "dev": true, + "dependencies": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.20", + "sockjs-client": "1.4.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 6.11.5" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1593261363626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1594864731636&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/webpack-dev-server/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1588787369955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz", + "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/webpack-dev-server/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/webpack-dev-server/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz", + "integrity": "sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-dev-server/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559696906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-dev-server/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1584985910691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/webpack-dev-server/node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack-dev-server/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/webpack-dev-server/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1594421046064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz", + "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1595125190020&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz", + "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=", + "dev": true, + "dependencies": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.2.tgz?cache=0&sync_timestamp=1594294904067&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-merge%2Fdownload%2Fwebpack-merge-4.2.2.tgz", + "integrity": "sha1-onxS6ng9E5iv0gh/VH17nS9DY00=", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz", + "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.6.5.tgz?cache=0&sync_timestamp=1591289007652&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebsocket-driver%2Fdownload%2Fwebsocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "dev": true, + "dependencies": { + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz", + "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz", + "integrity": "sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA=", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78=", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-7.1.0.tgz?cache=0&sync_timestamp=1588965133257&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-7.1.0.tgz", + "integrity": "sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY=", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1574116262707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/window-size": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/wolfy87-eventemitter": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/wolfy87-eventemitter/download/wolfy87-eventemitter-5.1.0.tgz", + "integrity": "sha1-NcGsDdGsDBXjXZgVCPwiCEoToBE=" + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz", + "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=", + "dev": true, + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/write/download/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ws": { + "version": "6.2.1", + "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz?cache=0&sync_timestamp=1593925420205&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.1.tgz", + "integrity": "sha1-RC/fCkftZPWbal2P8TD0dI7VJPs=", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/xlsx": { + "version": "0.13.5", + "resolved": "https://registry.npm.taobao.org/xlsx/download/xlsx-0.13.5.tgz", + "integrity": "sha1-ZYJroZRMb01sAjt+tsiea24Ncbc=", + "dependencies": { + "adler-32": "~1.2.0", + "cfb": "~1.0.8", + "codepage": "~1.14.0", + "commander": "~2.15.1", + "crc-32": "~1.2.0", + "exit-on-epipe": "~1.0.1", + "ssf": "~0.10.2" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xlsx/node_modules/commander": { + "version": "2.15.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.15.1.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.15.1.tgz", + "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=" + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz", + "integrity": "sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo=", + "dev": true + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/xmlchars/download/xmlchars-2.2.0.tgz", + "integrity": "sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs=", + "dev": true + }, + "node_modules/xss": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/xss/download/xss-1.0.7.tgz?cache=0&sync_timestamp=1591583567013&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxss%2Fdownload%2Fxss-1.0.7.tgz", + "integrity": "sha1-pVTL1ekJMkvWiT+0f/9EGtVOKpU=", + "dependencies": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + }, + "bin": { + "xss": "bin/xss" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", + "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz", + "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms=", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz", + "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", + "dev": true + }, + "node_modules/yargs": { + "version": "3.10.0", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz?cache=0&sync_timestamp=1594421046064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dependencies": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-9.0.2.tgz?cache=0&sync_timestamp=1595125190020&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/yargs-parser/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz", + "integrity": "sha1-kkEZEtQ1IU4SxRwq4Qk+VLa7g9k=", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/yorkie/node_modules/execa": { + "version": "0.8.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz?cache=0&sync_timestamp=1594145237072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/yorkie/node_modules/normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yorkie/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/zrender": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/zrender/download/zrender-4.3.1.tgz", + "integrity": "sha1-uviqbcgYei+BlpLX1fm+36K5D6M=" + } + }, + "dependencies": { + "@antv/adjust": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/@antv/adjust/download/@antv/adjust-0.1.1.tgz", + "integrity": "sha1-4mOrDhoZQaZIhC/Ahs9lp+O3Xpg=", + "requires": { + "@antv/util": "~1.3.1" + } + }, + "@antv/attr": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/@antv/attr/download/@antv/attr-0.1.2.tgz", + "integrity": "sha1-LusSL8qvhRoth0mrx8YFGdP3fjc=", + "requires": { + "@antv/util": "~1.3.1" + } + }, + "@antv/component": { + "version": "0.3.9", + "resolved": "https://registry.npm.taobao.org/@antv/component/download/@antv/component-0.3.9.tgz", + "integrity": "sha1-7VYcY5t3OM4D/2OoZvWeJR3oKhc=", + "requires": { + "@antv/attr": "~0.1.2", + "@antv/g": "~3.3.5", + "@antv/util": "~1.3.1", + "wolfy87-eventemitter": "~5.1.0" + }, + "dependencies": { + "@antv/g": { + "version": "3.3.6", + "resolved": "https://registry.npm.taobao.org/@antv/g/download/@antv/g-3.3.6.tgz", + "integrity": "sha1-Ef7Z3cntTloqokS3yKu5gqAD8gE=", + "requires": { + "@antv/gl-matrix": "~2.7.1", + "@antv/util": "~1.3.1", + "d3-ease": "~1.0.3", + "d3-interpolate": "~1.1.5", + "d3-timer": "~1.0.6", + "wolfy87-eventemitter": "~5.1.0" + } + } + } + }, + "@antv/coord": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/@antv/coord/download/@antv/coord-0.1.0.tgz", + "integrity": "sha1-SKgK420HVS+WZX5/gJUifGPwwKk=", + "requires": { + "@antv/util": "~1.3.1" + } + }, + "@antv/g": { + "version": "3.4.10", + "resolved": "https://registry.npm.taobao.org/@antv/g/download/@antv/g-3.4.10.tgz", + "integrity": "sha1-57YWqiGxesUYUNAzMypa+N6P4BU=", + "requires": { + "@antv/gl-matrix": "~2.7.1", + "@antv/util": "~1.3.1", + "d3-ease": "~1.0.3", + "d3-interpolate": "~1.1.5", + "d3-timer": "~1.0.6", + "detect-browser": "^5.1.0" + } + }, + "@antv/g2": { + "version": "3.5.17", + "resolved": "https://registry.npm.taobao.org/@antv/g2/download/@antv/g2-3.5.17.tgz", + "integrity": "sha1-Asi6xhDSHSi04jYAvHbEjn9ZyRk=", + "requires": { + "@antv/adjust": "~0.1.0", + "@antv/attr": "~0.1.2", + "@antv/component": "~0.3.3", + "@antv/coord": "~0.1.0", + "@antv/g": "~3.4.10", + "@antv/scale": "~0.1.1", + "@antv/util": "~1.3.1", + "venn.js": "~0.2.20", + "wolfy87-eventemitter": "~5.1.0" + } + }, + "@antv/gl-matrix": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/@antv/gl-matrix/download/@antv/gl-matrix-2.7.1.tgz", + "integrity": "sha1-rLjjf3qz3wE0WrpDcteUK+QuuhQ=" + }, + "@antv/scale": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/@antv/scale/download/@antv/scale-0.1.5.tgz", + "integrity": "sha1-JDJm6LkEfPZLL9/ED5g0zwhGSW4=", + "requires": { + "@antv/util": "~1.3.1", + "fecha": "~2.3.3" + } + }, + "@antv/util": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/@antv/util/download/@antv/util-1.3.1.tgz", + "integrity": "sha1-MKNLIB/5Em7A1YxyyBZqnD5kTM0=", + "requires": { + "@antv/gl-matrix": "^2.7.1" + } + }, + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.10.4.tgz?cache=0&sync_timestamp=1593521174697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.10.4.tgz", + "integrity": "sha1-Fo2ho26Q2miujUnA8bSMfGJJITo=", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/core": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.10.5.tgz?cache=0&sync_timestamp=1594750809694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.10.5.tgz", + "integrity": "sha1-HxXizKitmh14o43bphL158270zA=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.5", + "@babel/types": "^7.10.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.10.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.10.5.tgz", + "integrity": "sha1-G5A1VLyMWD7o0l8eiWlzLmuCmmk=", + "dev": true, + "requires": { + "@babel/types": "^7.10.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha1-W/DUlaP3V6w72ki1vzs7ownHK6M=", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha1-uwt18xv5jL+f8UPBrleLhydK4aM=", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.10.5.tgz?cache=0&sync_timestamp=1594751493358&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.10.5.tgz", + "integrity": "sha1-n2FEa6gOgkCwpchcb9rIRZ1vJZ0=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.10.5", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.10.4.tgz", + "integrity": "sha1-/dYNiFJGWaC2lZwFeZJeQlcU87g=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-regex": "^7.10.4", + "regexpu-core": "^4.7.0" + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.10.5.tgz?cache=0&sync_timestamp=1594751492980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-define-map%2Fdownload%2F%40babel%2Fhelper-define-map-7.10.5.tgz", + "integrity": "sha1-tTwQ23imQIABUmkrEzkxR6y5uzA=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.10.4.tgz?cache=0&sync_timestamp=1593522841702&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.10.4.tgz", + "integrity": "sha1-QKHNkXv/Eoj2malKdbN6Gi29jHw=", + "dev": true, + "requires": { + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.10.4.tgz?cache=0&sync_timestamp=1593521218775&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.10.4.tgz", + "integrity": "sha1-0tOyDFmtjEcRL6fSqUvAnV74Lxo=", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.10.4.tgz?cache=0&sync_timestamp=1593522827189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.10.4.tgz", + "integrity": "sha1-mMHL6g4jMvM/mkZhuM4VBbLBm6I=", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.10.4.tgz?cache=0&sync_timestamp=1593521259807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.10.4.tgz", + "integrity": "sha1-1JsAHR1aaMpeZgTdoBpil/fJOB4=", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.10.5.tgz?cache=0&sync_timestamp=1594751492273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.10.5.tgz", + "integrity": "sha1-Fy9W56Y+eBEvOgQFXyQ2WvcC5+4=", + "dev": true, + "requires": { + "@babel/types": "^7.10.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.10.4.tgz", + "integrity": "sha1-TFxUvgS9MWcKc4J5fXW5+i5bViA=", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.10.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.10.5.tgz", + "integrity": "sha1-EgwnHAszU2c/zf2MBT2zxUSiYNY=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.10.4.tgz?cache=0&sync_timestamp=1593522827576&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha1-UNyWQT1ZT5lad5BZBbBYk813lnM=", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha1-L3WoMSadT2d95JmG3/WZJ1M883U=", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.10.5.tgz?cache=0&sync_timestamp=1594751487108&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-regex%2Fdownload%2F%40babel%2Fhelper-regex-7.10.5.tgz", + "integrity": "sha1-Mt+7eYmQc8QVVXBToZvQVarlCuA=", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.10.4.tgz?cache=0&sync_timestamp=1593521228698&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-remap-async-to-generator%2Fdownload%2F%40babel%2Fhelper-remap-async-to-generator-7.10.4.tgz", + "integrity": "sha1-/Oi+pOlpC76SMFbe0h5UtOi2jtU=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.10.4.tgz", + "integrity": "sha1-1YXNk4jqBuYDHkzUS2cTy+rZ5s8=", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.10.4.tgz?cache=0&sync_timestamp=1593521217867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.10.4.tgz", + "integrity": "sha1-D1zNopRSd6KnotOoIeFTle3PNGE=", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.10.4.tgz?cache=0&sync_timestamp=1593522826673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.10.4.tgz", + "integrity": "sha1-LHBXbqo7VgmyTLmdsoiMw/xCUdE=", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.10.4.tgz?cache=0&sync_timestamp=1593522843594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.10.4.tgz", + "integrity": "sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI=", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.10.4.tgz?cache=0&sync_timestamp=1593522949000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.10.4.tgz", + "integrity": "sha1-im9wHqsP8592W1oc/vQJmQ5iS4c=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.10.4.tgz", + "integrity": "sha1-Kr6w1yGv98Cpc3a54fb2XXpHUEQ=", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.10.4.tgz?cache=0&sync_timestamp=1593522962210&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.10.4.tgz", + "integrity": "sha1-fRvf1ldTU4+r5sOFls23bZrGAUM=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.10.5.tgz?cache=0&sync_timestamp=1594750823758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.10.5.tgz", + "integrity": "sha1-58a/Wn3v+VfOyfBLVR4nYpCdgms=", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.10.5.tgz?cache=0&sync_timestamp=1594751487997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-async-generator-functions%2Fdownload%2F%40babel%2Fplugin-proposal-async-generator-functions-7.10.5.tgz", + "integrity": "sha1-NJHKvy98F5q4IGBs7Cf+0V4OhVg=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.10.4.tgz", + "integrity": "sha1-ozv2Mto5ClnHqMVwBF0RFc13iAc=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.10.5.tgz?cache=0&sync_timestamp=1594751494194&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-decorators%2Fdownload%2F%40babel%2Fplugin-proposal-decorators-7.10.5.tgz", + "integrity": "sha1-QomLukeLxLGuJCpwOpU6etNQ/7Q=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-decorators": "^7.10.4" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.10.4.tgz", + "integrity": "sha1-WT5ZxjUoFgIzvTIbGuvgggwjQds=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.10.4.tgz", + "integrity": "sha1-UBKawha5pqVbOFP92SPnS/VTpMA=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.10.4.tgz", + "integrity": "sha1-Mck4MJ0kp4pJ1o/av/qoY3WFVN0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.10.4.tgz", + "integrity": "sha1-RIPNpTBBzjQTt/4vAAImZd36p10=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.10.4.tgz", + "integrity": "sha1-aFMIWyxCn50yLQL1pjUBjN6yNgw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.10.4.tgz?cache=0&sync_timestamp=1593522939386&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-jsx%2Fdownload%2F%40babel%2Fplugin-syntax-jsx-7.10.4.tgz", + "integrity": "sha1-Oauq48v3EMQ3PYQpSE5rohNAFmw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz?cache=0&sync_timestamp=1578950070697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.10.4.tgz?cache=0&sync_timestamp=1593522807583&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-arrow-functions%2Fdownload%2F%40babel%2Fplugin-transform-arrow-functions-7.10.4.tgz", + "integrity": "sha1-4ilg135pfHT0HFAdRNc9v4pqZM0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.10.4.tgz?cache=0&sync_timestamp=1593522851748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-async-to-generator%2Fdownload%2F%40babel%2Fplugin-transform-async-to-generator-7.10.4.tgz", + "integrity": "sha1-QaUBfknrbzzak5KlHu8pQFskWjc=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.10.4.tgz?cache=0&sync_timestamp=1593521910347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.10.4.tgz", + "integrity": "sha1-GvpZV0T3XkOpGvc7DZmOz+Trwug=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.10.5.tgz?cache=0&sync_timestamp=1594751488558&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.10.5.tgz", + "integrity": "sha1-uBuKr++/5o8PZffvOXuezmimA30=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.10.4.tgz?cache=0&sync_timestamp=1593521236444&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-classes%2Fdownload%2F%40babel%2Fplugin-transform-classes-7.10.4.tgz", + "integrity": "sha1-QFE2rys+IYvEoZJiKLyRerGgrcc=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.10.4.tgz?cache=0&sync_timestamp=1593522921161&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-computed-properties%2Fdownload%2F%40babel%2Fplugin-transform-computed-properties-7.10.4.tgz", + "integrity": "sha1-ne2DqBboLe0o1S1LTsvdgQzfwOs=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.10.4.tgz", + "integrity": "sha1-cN3Ss9G+qD0BUJ6bsl3bOnT8heU=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.10.4.tgz", + "integrity": "sha1-RpwgYhBcHragQOr0+sS0iAeDle4=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.10.4.tgz", + "integrity": "sha1-aX5Qyf7hQ4D+hD0fMGspVhdDHkc=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.10.4.tgz?cache=0&sync_timestamp=1593521230232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.10.4.tgz", + "integrity": "sha1-WuM4xX+M9AAb2zVgeuZrktZlry4=", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.10.4.tgz", + "integrity": "sha1-wIiS6IGdOl2ykDGxFa9RHbv+uuk=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.10.4.tgz", + "integrity": "sha1-akZ4gOD8ljhRS6NpERgR3b4mRLc=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.10.4.tgz", + "integrity": "sha1-n0K6CEEQChNfInEtDjkcRi9XHzw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.10.5.tgz?cache=0&sync_timestamp=1594751493579&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-amd%2Fdownload%2F%40babel%2Fplugin-transform-modules-amd-7.10.5.tgz", + "integrity": "sha1-G5zdrwXZ6Is6rTOcs+RFxPAgqbE=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.10.4.tgz", + "integrity": "sha1-ZmZ8Pu2h6/eJbUHx8WsXEFovvKA=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.10.5.tgz?cache=0&sync_timestamp=1594751492758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.10.5.tgz", + "integrity": "sha1-YnAJnIVAZmgbrp4F+H4bnK2+jIU=", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.10.4.tgz?cache=0&sync_timestamp=1593522937615&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.10.4.tgz", + "integrity": "sha1-moSB/oG4JGVLOgtl2j34nz0hg54=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", + "integrity": "sha1-eLTZeIELbzvPA/njGPL8DtQa7LY=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.10.4.tgz?cache=0&sync_timestamp=1593522495673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-new-target%2Fdownload%2F%40babel%2Fplugin-transform-new-target-7.10.4.tgz", + "integrity": "sha1-kJfXU8t7Aky3OBo7LlLpUTqcaIg=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.10.4.tgz", + "integrity": "sha1-1xRsTROUM+emUm+IjGZ+MUoJOJQ=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.10.5.tgz?cache=0&sync_timestamp=1594751489267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-parameters%2Fdownload%2F%40babel%2Fplugin-transform-parameters-7.10.5.tgz", + "integrity": "sha1-WdM51Y0LGVBDX0BD504lEABeLEo=", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.10.4.tgz?cache=0&sync_timestamp=1593521089707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-regenerator%2Fdownload%2F%40babel%2Fplugin-transform-regenerator-7.10.4.tgz", + "integrity": "sha1-IBXlnYOQdOdoON4hWdtCGWb9i2M=", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.10.5.tgz?cache=0&sync_timestamp=1594751489022&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-runtime%2Fdownload%2F%40babel%2Fplugin-transform-runtime-7.10.5.tgz", + "integrity": "sha1-Ozm3skgw4MLY/3pEif5c+Z+6zoY=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.10.4.tgz", + "integrity": "sha1-n9Jexc3VVbt/Rz5ebuHJce7eTdY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.10.4.tgz?cache=0&sync_timestamp=1593522927458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-spread%2Fdownload%2F%40babel%2Fplugin-transform-spread-7.10.4.tgz", + "integrity": "sha1-TiyF6g1quu4bJNz7uuQm/o1nTP8=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.10.4.tgz", + "integrity": "sha1-jziJ7oZXWBEwop2cyR18c7fEoo0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-regex": "^7.10.4" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.10.5.tgz?cache=0&sync_timestamp=1594751489580&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-template-literals%2Fdownload%2F%40babel%2Fplugin-transform-template-literals-7.10.5.tgz", + "integrity": "sha1-eLxdYmpmQtszEtnQ8AH152Of3ow=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.10.4.tgz", + "integrity": "sha1-lQnxp+7DHE7b/+E3wWzDP/C8W/w=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.10.4.tgz?cache=0&sync_timestamp=1593522855498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-regex%2Fdownload%2F%40babel%2Fplugin-transform-unicode-regex-7.10.4.tgz", + "integrity": "sha1-5W1x+SgvrG2wnIJ0IFVXbV5tgKg=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.3.4", + "resolved": "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.3.4.tgz", + "integrity": "sha1-iHzzi20jyC8ZtRNSmL2xYAYuM+E=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.3.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.3.4", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.3.4", + "@babel/plugin-transform-classes": "^7.3.4", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.2.0", + "@babel/plugin-transform-dotall-regex": "^7.2.0", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.2.0", + "@babel/plugin-transform-function-name": "^7.2.0", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "@babel/plugin-transform-modules-systemjs": "^7.3.4", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", + "@babel/plugin-transform-new-target": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.3.4", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.2.0", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.2.0", + "browserslist": "^4.3.4", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" + } + }, + "@babel/runtime": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.10.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.10.5.tgz", + "integrity": "sha1-MD2L1EDs1aSR6uYRf9M2dphnTFw=", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs2": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/runtime-corejs2/download/@babel/runtime-corejs2-7.10.5.tgz?cache=0&sync_timestamp=1594751489791&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime-corejs2%2Fdownload%2F%40babel%2Fruntime-corejs2-7.10.5.tgz", + "integrity": "sha1-jaoc7MwEaOXC4V8STj9RwrMDO0k=", + "dev": true, + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.10.4.tgz", + "integrity": "sha1-MlGZbEIA68cdGo/EBfupQPNrong=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/traverse": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.10.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.10.5.tgz", + "integrity": "sha1-d85GT1sli+Jlr2GNj93wU28gtWQ=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/types": "^7.10.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.10.5", + "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.10.5.tgz?cache=0&sync_timestamp=1594750825865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.10.5.tgz", + "integrity": "sha1-2Irn4v3oa/v+hR1Nga+nCpl7XRU=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz?cache=0&sync_timestamp=1593993745797&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-2.1.4.tgz", + "integrity": "sha1-XWftQ/P9QaadS5/3tW58DR0KgeU=", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz", + "integrity": "sha1-CnCVreoGckPOMoPhtWuKj0U7JCo=", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz", + "integrity": "sha1-/elgZMpEbeyMVajC8TCVewcMbgY=", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz", + "integrity": "sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc=", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npm.taobao.org/@hapi/topo/download/@hapi/topo-3.1.6.tgz?cache=0&sync_timestamp=1593916080558&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Ftopo%2Fdownload%2F%40hapi%2Ftopo-3.1.6.tgz", + "integrity": "sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck=", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha1-vnx4RhKLiPapsdEmGgrQbrXA/fg=", + "dev": true, + "requires": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", + "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz", + "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=", + "dev": true + }, + "@soda/friendly-errors-webpack-plugin": { + "version": "1.7.1", + "resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.7.1.tgz", + "integrity": "sha1-cG9kvLSouWQrSK46zkRMcDNNYV0=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "error-stack-parser": "^2.0.0", + "string-width": "^2.0.0" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz", + "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA=", + "dev": true + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.3.tgz", + "integrity": "sha1-5rqA82t9qtLGhazZJmOC5omFwYM=", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.5", + "resolved": "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.5.tgz?cache=0&sync_timestamp=1591720749429&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.5.tgz", + "integrity": "sha1-3M5EMOZLRDuolF8CkPtWStW6xt0=", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npm.taobao.org/@types/json5/download/@types/json5-0.0.29.tgz?cache=0&sync_timestamp=1588201498029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson5%2Fdownload%2F%40types%2Fjson5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz", + "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=", + "dev": true + }, + "@types/node": { + "version": "14.0.24", + "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-14.0.24.tgz?cache=0&sync_timestamp=1595281751560&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.0.24.tgz", + "integrity": "sha1-sPhvWFZPoCooto+LVdTN7ELjudY=", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz", + "integrity": "sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4=", + "dev": true + }, + "@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz", + "integrity": "sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ=", + "dev": true + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz", + "integrity": "sha1-BI/leZWNpAj7eosqPsBQtQpmEEA=", + "dev": true + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.1.2.tgz", + "integrity": "sha1-wKPm78Ai515CR7RIqPxrhvA+kcA=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-preset-app": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/babel-preset-app/download/@vue/babel-preset-app-3.12.1.tgz", + "integrity": "sha1-JMR3BS8HjzD9t3NRA7FN0fosv+E=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-decorators": "^7.1.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.4.0", + "@babel/preset-env": "^7.0.0 < 7.4.0", + "@babel/runtime": "^7.0.0", + "@babel/runtime-corejs2": "^7.2.0", + "@vue/babel-preset-jsx": "^1.0.0", + "babel-plugin-dynamic-import-node": "^2.2.0", + "babel-plugin-module-resolver": "3.2.0", + "core-js": "^2.6.5" + } + }, + "@vue/babel-preset-jsx": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.1.2.tgz", + "integrity": "sha1-LhaetMIE6jfKZsLqhaiAv8mdTyA=", + "dev": true, + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "@vue/babel-sugar-functional-vue": "^1.1.2", + "@vue/babel-sugar-inject-h": "^1.1.2", + "@vue/babel-sugar-v-model": "^1.1.2", + "@vue/babel-sugar-v-on": "^1.1.2" + } + }, + "@vue/babel-sugar-functional-vue": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.1.2.tgz", + "integrity": "sha1-9+JPugnm8e5wEEVgqICAV1VfGpo=", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-inject-h": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.1.2.tgz", + "integrity": "sha1-ilJ2ttji7Rb/yAeKrZQjYnTm7fA=", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-v-model": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.1.2.tgz", + "integrity": "sha1-H/b9G4ACI/ycsehNzrXlLXN6gZI=", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + } + } + }, + "@vue/babel-sugar-v-on": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.1.2.tgz", + "integrity": "sha1-su+ZuPL6sJ++rSWq1w70Lhz1sTs=", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "camelcase": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + } + } + }, + "@vue/cli-overlay": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-overlay/download/@vue/cli-overlay-3.12.1.tgz?cache=0&sync_timestamp=1592976328085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-overlay%2Fdownload%2F%40vue%2Fcli-overlay-3.12.1.tgz", + "integrity": "sha1-vf3o9xI1YasG5OTGC4VMxQkvWrE=", + "dev": true + }, + "@vue/cli-plugin-babel": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-babel/download/@vue/cli-plugin-babel-3.12.1.tgz", + "integrity": "sha1-mnkVnejNCGsBP6bXijmDCy4uxwY=", + "dev": true, + "requires": { + "@babel/core": "^7.0.0", + "@vue/babel-preset-app": "^3.12.1", + "@vue/cli-shared-utils": "^3.12.1", + "babel-loader": "^8.0.5", + "webpack": "^4.0.0" + } + }, + "@vue/cli-plugin-eslint": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-eslint/download/@vue/cli-plugin-eslint-3.12.1.tgz", + "integrity": "sha1-MCxGOGfzjnkLuZbq/fcVnHgtyM8=", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^3.12.1", + "babel-eslint": "^10.0.1", + "eslint": "^4.19.1", + "eslint-loader": "^2.1.2", + "eslint-plugin-vue": "^4.7.1", + "globby": "^9.2.0", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + } + }, + "@vue/cli-plugin-unit-mocha": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-plugin-unit-mocha/download/@vue/cli-plugin-unit-mocha-3.12.1.tgz?cache=0&sync_timestamp=1592978125871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-plugin-unit-mocha%2Fdownload%2F%40vue%2Fcli-plugin-unit-mocha-3.12.1.tgz", + "integrity": "sha1-lwxTZHW/RwqoVLDUzEFO2bJCZjY=", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^3.12.1", + "jsdom": "^13.2.0", + "jsdom-global": "^3.0.2", + "mocha": "^5.2.0", + "mocha-webpack": "^2.0.0-beta.0" + } + }, + "@vue/cli-service": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-service/download/@vue/cli-service-3.12.1.tgz", + "integrity": "sha1-EyILHBiSVOfAAzkN8ykIb5tud+Y=", + "dev": true, + "requires": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@vue/cli-overlay": "^3.12.1", + "@vue/cli-shared-utils": "^3.12.1", + "@vue/component-compiler-utils": "^3.0.0", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^6.1.1", + "acorn-walk": "^6.1.1", + "address": "^1.0.3", + "autoprefixer": "^9.5.1", + "browserslist": "^4.5.4", + "cache-loader": "^2.0.1", + "case-sensitive-paths-webpack-plugin": "^2.2.0", + "chalk": "^2.4.2", + "cli-highlight": "^2.1.0", + "clipboardy": "^2.0.0", + "cliui": "^5.0.0", + "copy-webpack-plugin": "^4.6.0", + "css-loader": "^1.0.1", + "cssnano": "^4.1.10", + "current-script-polyfill": "^1.0.0", + "debug": "^4.1.1", + "default-gateway": "^5.0.2", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "escape-string-regexp": "^1.0.5", + "file-loader": "^3.0.1", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^1.0.2", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.8.0", + "minimist": "^1.2.0", + "ora": "^3.4.0", + "portfinder": "^1.0.20", + "postcss-loader": "^3.0.0", + "read-pkg": "^5.0.0", + "semver": "^6.0.0", + "slash": "^2.0.0", + "source-map-url": "^0.4.0", + "ssri": "^6.0.1", + "string.prototype.padend": "^3.0.0", + "terser-webpack-plugin": "^1.2.3", + "thread-loader": "^2.1.2", + "url-loader": "^1.1.2", + "vue-loader": "^15.7.0", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.3.0", + "webpack-chain": "^4.11.0", + "webpack-dev-server": "^3.4.1", + "webpack-merge": "^4.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } + } + }, + "@vue/cli-shared-utils": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-3.12.1.tgz", + "integrity": "sha1-vPB2KH3a3uu7l8anSN/p/1DsjfA=", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.1", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.7", + "semver": "^6.0.0", + "string.prototype.padstart": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@vue/component-compiler-utils": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.1.2.tgz", + "integrity": "sha1-ghOl/zIC+fITf+VTcPnouWVggcM=", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.14", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "@vue/eslint-config-standard": { + "version": "3.0.5", + "resolved": "https://registry.npm.taobao.org/@vue/eslint-config-standard/download/@vue/eslint-config-standard-3.0.5.tgz", + "integrity": "sha1-fWroCerskJk8YDPZVD9I9oe56/E=", + "dev": true, + "requires": { + "eslint-config-standard": "^12.0.0-alpha.0", + "eslint-plugin-import": "^2.11.0", + "eslint-plugin-node": "^6.0.1", + "eslint-plugin-promise": "^3.7.0", + "eslint-plugin-standard": "^3.1.0" + } + }, + "@vue/preload-webpack-plugin": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.1.tgz", + "integrity": "sha1-GHI1MNME9EMCHaIpLW7JUCgmEEo=", + "dev": true, + "requires": {} + }, + "@vue/test-utils": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/@vue/test-utils/download/@vue/test-utils-1.0.3.tgz", + "integrity": "sha1-WHxN2bQktmAi8YjBm8YF2izpHG8=", + "dev": true, + "requires": { + "dom-event-types": "^1.0.0", + "lodash": "^4.17.15", + "pretty": "^2.0.0" + } + }, + "@vue/web-component-wrapper": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.2.0.tgz", + "integrity": "sha1-uw5G8VhafiibTuYGfcxaauYvHdE=", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz", + "integrity": "sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ=", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.9.0.tgz", + "integrity": "sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q=", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz", + "integrity": "sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI=", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz?cache=0&sync_timestamp=1580600188490&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.9.0.tgz", + "integrity": "sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA=", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.9.0.tgz", + "integrity": "sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-fsm%2Fdownload%2F%40webassemblyjs%2Fhelper-fsm-1.9.0.tgz", + "integrity": "sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg=", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-module-context%2Fdownload%2F%40webassemblyjs%2Fhelper-module-context-1.9.0.tgz", + "integrity": "sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-bytecode%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A=", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.9.0.tgz", + "integrity": "sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.9.0.tgz", + "integrity": "sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.9.0.tgz", + "integrity": "sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz", + "integrity": "sha1-BNM7Y2945qaBMifoJAL3Y3tiKas=", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.9.0.tgz", + "integrity": "sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.9.0.tgz", + "integrity": "sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.9.0.tgz", + "integrity": "sha1-IhEYHlsxMmRDzIES658LkChyGmE=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.9.0.tgz", + "integrity": "sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-parser%2Fdownload%2F%40webassemblyjs%2Fwast-parser-1.9.0.tgz", + "integrity": "sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz?cache=0&sync_timestamp=1580599638157&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.9.0.tgz", + "integrity": "sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", + "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", + "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", + "dev": true + }, + "abab": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/abab/download/abab-2.0.3.tgz", + "integrity": "sha1-Yj4gdeAustPyR15J+ZyRhGRnkHo=", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz", + "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", + "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.4.1.tgz?cache=0&sync_timestamp=1591869432510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.4.1.tgz", + "integrity": "sha1-Ux5Yuj9RudrLmmZGyk3r9bFMpHQ=", + "dev": true + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-4.3.4.tgz", + "integrity": "sha1-n6GSat3BHJcwjE5m163Q1Awycuc=", + "dev": true, + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "^3.0.4" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz?cache=0&sync_timestamp=1591869432510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-6.2.0.tgz", + "integrity": "sha1-Ejy487hMIXHx9/slJhWxx4prGow=", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz?cache=0&sync_timestamp=1588851806210&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faddress%2Fdownload%2Faddress-1.1.2.tgz", + "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=", + "dev": true + }, + "adler-32": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/adler-32/download/adler-32-1.2.0.tgz", + "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.0.1.tgz?cache=0&sync_timestamp=1570167911603&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faggregate-error%2Fdownload%2Faggregate-error-3.0.1.tgz", + "integrity": "sha1-2y/nJG5Tb0DZtUQqOeEX191qJOA=", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.3", + "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.3.tgz", + "integrity": "sha1-GMWvOKER3etPJpe9eNaKvByr1wY=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz", + "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", + "dev": true, + "requires": {} + }, + "ajv-keywords": { + "version": "3.5.1", + "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.1.tgz", + "integrity": "sha1-uDyonF1C1pAx9CTK1JqtoCNsaVc=", + "dev": true, + "requires": {} + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz", + "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=", + "dev": true + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz", + "integrity": "sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "any-observable": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/any-observable/download/any-observable-0.2.0.tgz", + "integrity": "sha1-xnhwBYADV5AJCD9UrAq6+1wz0kI=", + "dev": true + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz", + "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "app-root-path": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/app-root-path/download/app-root-path-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fapp-root-path%2Fdownload%2Fapp-root-path-2.2.1.tgz", + "integrity": "sha1-0N9KaC7kCCc1g9Q/b3npiSYkvJo=", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz", + "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", + "dev": true + }, + "arch": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/arch/download/arch-2.1.2.tgz", + "integrity": "sha1-DFK75zRLtPomDEQ9LLrZwA/y8L8=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.1.tgz", + "integrity": "sha1-zdZ+aFK9+cEhVGB4ZzIlXtJFk0g=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/array.prototype.flat/download/array.prototype.flat-1.2.3.tgz", + "integrity": "sha1-DegrQmsDGNv9uUAInjiwQ9N/bHs=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true, + "optional": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", + "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz", + "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz", + "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1588238457176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/assertion-error/download/assertion-error-1.1.0.tgz", + "integrity": "sha1-5gtrDo8wG9l+U3UhW9pAbIURjAs=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", + "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz?cache=0&sync_timestamp=1574272018408&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-limiter%2Fdownload%2Fasync-limiter-1.0.1.tgz", + "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=", + "dev": true + }, + "async-validator": { + "version": "1.12.2", + "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.12.2.tgz", + "integrity": "sha1-vq5nHnF00pOLe0tp0vt+cit/1yw=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", + "dev": true + }, + "autoprefixer": { + "version": "9.8.5", + "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.5.tgz?cache=0&sync_timestamp=1594444612318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.5.tgz", + "integrity": "sha1-LCJd4indr+HRQkwCeR0MPhDMzKo=", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001097", + "colorette": "^1.2.0", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.10.0", + "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.10.0.tgz", + "integrity": "sha1-oXs6jqgRBg501H0wYSJACtRJeuI=", + "dev": true + }, + "axios": { + "version": "0.18.1", + "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.18.1.tgz", + "integrity": "sha1-/z8N4ue10YDnV62YAA8Qgbh7zqM=", + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz", + "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM=" + } + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + } + } + }, + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz", + "integrity": "sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-loader": { + "version": "8.1.0", + "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.1.0.tgz", + "integrity": "sha1-xhHVESvVIJq+i5+oTD5NolJ18cM=", + "dev": true, + "requires": { + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-module-resolver": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-module-resolver/download/babel-plugin-module-resolver-3.2.0.tgz", + "integrity": "sha1-3fpeMB47mqEthSqZefGLN4gf9ac=", + "dev": true, + "requires": { + "find-babel-config": "^1.1.0", + "glob": "^7.1.2", + "pkg-up": "^2.0.0", + "reselect": "^3.0.1", + "resolve": "^1.4.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1584052597708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz", + "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=", + "dev": true + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true + } + } + }, + "base64-arraybuffer": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/base64-arraybuffer/download/base64-arraybuffer-0.2.0.tgz", + "integrity": "sha1-S5RPrAGRqlkHr+LYyZnMxXzoD0U=" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz", + "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "batch-processor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/batch-processor/download/batch-processor-1.0.0.tgz", + "integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg=" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz", + "integrity": "sha1-MlyGGoIryzWKQceKM7jm4ght3n8=", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", + "dev": true + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.1.0.tgz?cache=0&sync_timestamp=1593261363626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.1.0.tgz", + "integrity": "sha1-MPpAyef+B9vIlWeM0ocCTeokHdk=", + "dev": true, + "optional": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz", + "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", + "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", + "dev": true + }, + "bn.js": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-5.1.2.tgz", + "integrity": "sha1-yWhpAtPJoncp9DqxD515wgBNp7A=", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz", + "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-2.1.2.tgz", + "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "optional": true, + "requires": { + "hoek": "2.x.x" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY=", + "dev": true + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.1.tgz", + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz", + "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz", + "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz", + "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + } + } + }, + "browserify-sign": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.0.tgz", + "integrity": "sha1-VF0LGwfmssmSEQgr8bEsznoLDhE=", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz", + "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.13.0", + "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.13.0.tgz?cache=0&sync_timestamp=1593912387376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.13.0.tgz", + "integrity": "sha1-QlVsugEeGwondbYRy6ao7KGOlA0=", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001093", + "electron-to-chromium": "^1.3.488", + "escalade": "^3.0.1", + "node-releases": "^1.1.58" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1588706716358&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz", + "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz", + "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz?cache=0&sync_timestamp=1594429684526&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-12.0.4.tgz", + "integrity": "sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-loader": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/cache-loader/download/cache-loader-2.0.1.tgz", + "integrity": "sha1-V1j0GmLXwjlB48PHAW5vrrA6ywc=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.0", + "normalize-path": "^3.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz?cache=0&sync_timestamp=1562668933683&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaller-callsite%2Fdownload%2Fcaller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz?cache=0&sync_timestamp=1576748709736&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz", + "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001104", + "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001104.tgz?cache=0&sync_timestamp=1595226955587&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001104.tgz", + "integrity": "sha1-Tj1bOx3Tw1KfEMt/UZxiuj5Xn10=", + "dev": true + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.3.0.tgz", + "integrity": "sha1-I6xhPMmoVuT4j/i7c7u16YmCXPc=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "cfb": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/cfb/download/cfb-1.0.8.tgz?cache=0&sync_timestamp=1594276069691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcfb%2Fdownload%2Fcfb-1.0.8.tgz", + "integrity": "sha1-d/ITST1pfXVP2cD1UR6rWtctAs8=", + "requires": { + "commander": "^2.14.1", + "printj": "~1.1.2" + } + }, + "chai": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/chai/download/chai-4.2.0.tgz", + "integrity": "sha1-dgqnLPION5XoSxKHfODoNzeqKeU=", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.4.2.tgz?cache=0&sync_timestamp=1594010705529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/check-error/download/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcheck-types%2Fdownload%2Fcheck-types-8.0.3.tgz", + "integrity": "sha1-M1bMoZyIlUTy16le1JzlCKDs9VI=", + "dev": true + }, + "chokidar": { + "version": "3.4.1", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.1.tgz?cache=0&sync_timestamp=1594864731636&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.1.tgz", + "integrity": "sha1-6QW97PEOqgoLHbDGZEgcxMvCK6E=", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true, + "optional": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz", + "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz", + "integrity": "sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/ci-info/download/ci-info-1.6.0.tgz", + "integrity": "sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", + "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npm.taobao.org/circular-json/download/circular-json-0.3.3.tgz", + "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz", + "integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/clean-stack/download/clean-stack-2.2.0.tgz?cache=0&sync_timestamp=1592035230294&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-stack%2Fdownload%2Fclean-stack-2.2.0.tgz", + "integrity": "sha1-7oRy27Ep5yezHooQpCfe6d/kAIs=", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-highlight": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/cli-highlight/download/cli-highlight-2.1.4.tgz?cache=0&sync_timestamp=1573948719956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-highlight%2Fdownload%2Fcli-highlight-2.1.4.tgz", + "integrity": "sha1-CYy2Qs8X9CrcHBFF4H+WDsTXUis=", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "highlight.js": "^9.6.0", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^5.1.1", + "yargs": "^15.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz", + "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz", + "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz", + "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559696906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz", + "integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz", + "integrity": "sha1-lSGCxGzHssMT0VluYjmSvRY7crU=", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz", + "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-15.4.1.tgz?cache=0&sync_timestamp=1594421046064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-15.4.1.tgz", + "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1595125190020&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz", + "integrity": "sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "cli-spinners": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.4.0.tgz?cache=0&sync_timestamp=1595080565423&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-spinners%2Fdownload%2Fcli-spinners-2.4.0.tgz", + "integrity": "sha1-xiVtsha4eM+6RyDnGc7Hz3JoXX8=", + "dev": true + }, + "cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/cli-truncate/download/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", + "dev": true, + "requires": { + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz", + "integrity": "sha1-sEM9C06chH7xiGik7xb9X8gnHEg=", + "dev": true + }, + "clipboard": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/clipboard/download/clipboard-2.0.6.tgz", + "integrity": "sha1-UpISlu7A/fd+rRdJQhshyWhkc3Y=", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.3.0.tgz", + "integrity": "sha1-PCkDZQxo5GqRs4iYW8J3QofbopA=", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.2.0.tgz?cache=0&sync_timestamp=1588494180082&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-2.2.0.tgz", + "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clonedeep": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/clonedeep/download/clonedeep-2.0.0.tgz", + "integrity": "sha1-jOygd39He78x/oyHGq9jo5C7wnI=" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz", + "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "codemirror": { + "version": "5.56.0", + "resolved": "https://registry.npm.taobao.org/codemirror/download/codemirror-5.56.0.tgz", + "integrity": "sha1-Z1ZA/MeAEFzSLT+qc4tdfqZCb2E=" + }, + "codemirror-spell-checker": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/codemirror-spell-checker/download/codemirror-spell-checker-1.1.2.tgz", + "integrity": "sha1-HGYPkIlIPMtRE7m6nKGcP0mTNx4=", + "requires": { + "typo-js": "*" + } + }, + "codepage": { + "version": "1.14.0", + "resolved": "https://registry.npm.taobao.org/codepage/download/codepage-1.14.0.tgz", + "integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=", + "requires": { + "commander": "~2.14.1", + "exit-on-epipe": "~1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.14.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.14.1.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.14.1.tgz", + "integrity": "sha1-IjUSPjevjKPGXfRbAm29NXsBuao=" + } + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/color/download/color-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor%2Fdownload%2Fcolor-3.1.2.tgz", + "integrity": "sha1-aBSOf4XUGtdknF+oyBBvCY0inhA=", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz", + "integrity": "sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw=", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.1.tgz?cache=0&sync_timestamp=1593955829055&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.1.tgz", + "integrity": "sha1-TQuSEyXBT6+SYzCGpTbbbolWSxs=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", + "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz", + "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz?cache=0&sync_timestamp=1578286264482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompressible%2Fdownload%2Fcompressible-2.0.18.tgz", + "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompression%2Fdownload%2Fcompression-1.7.4.tgz", + "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "compression-webpack-plugin": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/compression-webpack-plugin/download/compression-webpack-plugin-3.1.0.tgz?cache=0&sync_timestamp=1589291140068&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompression-webpack-plugin%2Fdownload%2Fcompression-webpack-plugin-3.1.0.tgz", + "integrity": "sha1-n1EBcqe1+uWq07ZwZS6L15l67so=", + "dev": true, + "requires": { + "cacache": "^13.0.1", + "find-cache-dir": "^3.0.0", + "neo-async": "^2.5.0", + "schema-utils": "^2.6.1", + "serialize-javascript": "^2.1.2", + "webpack-sources": "^1.0.1" + }, + "dependencies": { + "cacache": { + "version": "13.0.1", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&sync_timestamp=1594429684526&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz", + "integrity": "sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw=", + "dev": true, + "requires": { + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz", + "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567875186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz", + "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559696906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-3.0.0.tgz", + "integrity": "sha1-1wTZr4orpoTiYA2aIVmD1BQal50=", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz", + "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-2.1.2.tgz", + "integrity": "sha1-7OxTsOAxe9yV73arcHS3OEeF+mE=", + "dev": true + }, + "ssri": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-7.1.0.tgz", + "integrity": "sha1-ksJBv23oI2W1x/tL126XVSLhKU0=", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" + } + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", + "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "condense-newlines": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/condense-newlines/download/condense-newlines-0.2.1.tgz", + "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-whitespace": "^0.3.0", + "kind-of": "^3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npm.taobao.org/config-chain/download/config-chain-1.1.12.tgz", + "integrity": "sha1-D96NCRIA616AjK8l/mGMAvSOTvo=", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz", + "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.15.1.tgz", + "integrity": "sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcontent-disposition%2Fdownload%2Fcontent-disposition-0.5.3.tgz", + "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "dev": true + }, + "contour_plot": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/contour_plot/download/contour_plot-0.0.1.tgz", + "integrity": "sha1-R1hw8DK44zhBKqX8UHiA8L9JXHc=" + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz", + "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz", + "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", + "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha1-5/QN2KaEd9QF3Rt6hUquMksVi64=", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "dependencies": { + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-10.0.4.tgz?cache=0&sync_timestamp=1594429684526&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-10.0.4.tgz", + "integrity": "sha1-ZFI2eZnv+dQYiu/ZoU6dfGomNGA=", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz?cache=0&sync_timestamp=1587567875186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz", + "integrity": "sha1-NEKlCPr8KFAEhv7qmUCWduTuWm8=", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz", + "integrity": "sha1-z8IArvd7YAxH2pu4FJyUPnmML9s=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-5.3.0.tgz", + "integrity": "sha1-ujhyycbTOgcEp9cf8EXl7EiZnQY=", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz?cache=0&sync_timestamp=1586450269267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.11.tgz", + "integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz", + "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "countup": { + "version": "1.8.2", + "resolved": "https://registry.npm.taobao.org/countup/download/countup-1.8.2.tgz", + "integrity": "sha1-AhzMam+WRUDGsn7WRoGvJ/tV8BA=" + }, + "crc-32": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/crc-32/download/crc-32-1.2.0.tgz", + "integrity": "sha1-yy224puIUI4y2d0OwWk+e0Ghggg=", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz", + "integrity": "sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz", + "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz", + "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cropperjs": { + "version": "1.5.7", + "resolved": "https://registry.npm.taobao.org/cropperjs/download/cropperjs-1.5.7.tgz", + "integrity": "sha1-tlAZcluuHGKF6IH7ZhshQfpXAls=" + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "optional": true, + "requires": { + "boom": "2.x.x" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", + "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-line-break": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/css-line-break/download/css-line-break-1.1.1.tgz", + "integrity": "sha1-1em90peEAJnrBQPHMQ/TSSegJu8=", + "requires": { + "base64-arraybuffer": "^0.2.0" + } + }, + "css-loader": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/css-loader/download/css-loader-1.0.1.tgz?cache=0&sync_timestamp=1592056914630&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-loader%2Fdownload%2Fcss-loader-1.0.1.tgz", + "integrity": "sha1-aIW7UjOzXsR7AGBX2gHMZAtref4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash": "^4.17.11", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz", + "integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=", + "dev": true + }, + "css-selector-tokenizer": { + "version": "0.7.2", + "resolved": "https://registry.npm.taobao.org/css-selector-tokenizer/download/css-selector-tokenizer-0.7.2.tgz", + "integrity": "sha1-EeXifJpI2QKE8i1FBhwwPXolrYc=", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2", + "regexpu-core": "^4.6.0" + } + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.37.tgz", + "integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-what": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-3.3.0.tgz", + "integrity": "sha1-EP7Glqns4uWRrHctdZqsq6w4zTk=", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz", + "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", + "dev": true + }, + "cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npm.taobao.org/cssfilter/download/cssfilter-0.0.10.tgz", + "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=" + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz", + "integrity": "sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI=", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y=", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=", + "dev": true + }, + "csso": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.0.3.tgz?cache=0&sync_timestamp=1585052130344&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.0.3.tgz", + "integrity": "sha1-DZmF3IUsfMKyys+74QeQFNGo6QM=", + "dev": true, + "requires": { + "css-tree": "1.0.0-alpha.39" + }, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.39.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.39.tgz", + "integrity": "sha1-K/8//huz93bPfu/ZHuXLp3oUnus=", + "dev": true, + "requires": { + "mdn-data": "2.0.6", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.6.tgz?cache=0&sync_timestamp=1593510420945&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.6.tgz", + "integrity": "sha1-hS3GD8ql2qLoz2yRicRA7T4EKXg=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz?cache=0&sync_timestamp=1573719337707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssom%2Fdownload%2Fcssom-0.3.8.tgz", + "integrity": "sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o=", + "dev": true + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/cssstyle/download/cssstyle-1.4.0.tgz?cache=0&sync_timestamp=1588171504463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssstyle%2Fdownload%2Fcssstyle-1.4.0.tgz", + "integrity": "sha1-nTEyginTxWXGHlhrAgQaKPzNzPE=", + "dev": true, + "requires": { + "cssom": "0.3.x" + } + }, + "current-script-polyfill": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/current-script-polyfill/download/current-script-polyfill-1.0.0.tgz", + "integrity": "sha1-8xz35PPiGLBybnOMqSoC00iO9hU=", + "dev": true + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "d3-color": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/d3-color/download/d3-color-1.4.1.tgz", + "integrity": "sha1-xSACv4hGraRCTVXZeYL+8m6zvIo=" + }, + "d3-dispatch": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/d3-dispatch/download/d3-dispatch-1.0.6.tgz", + "integrity": "sha1-ANN7zuTdjNl3Kd2JOgrCnKq6XVg=" + }, + "d3-ease": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/d3-ease/download/d3-ease-1.0.6.tgz?cache=0&sync_timestamp=1592460740468&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fd3-ease%2Fdownload%2Fd3-ease-1.0.6.tgz", + "integrity": "sha1-69ttoi36wKIiIvLU2gb2bEFqDsA=" + }, + "d3-interpolate": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/d3-interpolate/download/d3-interpolate-1.1.6.tgz", + "integrity": "sha1-LPOVriOBgE3wiqG/dmt/l7X2j7Y=", + "requires": { + "d3-color": "1" + } + }, + "d3-selection": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/d3-selection/download/d3-selection-1.4.1.tgz", + "integrity": "sha1-mO7bvghfvaW6+i+ePzovTX1iKpg=" + }, + "d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.npm.taobao.org/d3-timer/download/d3-timer-1.0.10.tgz", + "integrity": "sha1-3+dripF0iDGxO22ceT/71QjdneU=" + }, + "d3-transition": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/d3-transition/download/d3-transition-1.3.2.tgz", + "integrity": "sha1-qY7yFRvo2GAFQ0NMHKgBQK4js5g=", + "requires": { + "d3-color": "1", + "d3-dispatch": "1", + "d3-ease": "1", + "d3-interpolate": "1", + "d3-selection": "^1.1.0", + "d3-timer": "1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/data-urls/download/data-urls-1.1.0.tgz", + "integrity": "sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4=", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npm.taobao.org/date-fns/download/date-fns-1.30.1.tgz?cache=0&sync_timestamp=1594999213209&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdate-fns%2Fdownload%2Fdate-fns-1.30.1.tgz", + "integrity": "sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw=", + "dev": true + }, + "dayjs": { + "version": "1.8.29", + "resolved": "https://registry.npm.taobao.org/dayjs/download/dayjs-1.8.29.tgz?cache=0&sync_timestamp=1593707172703&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdayjs%2Fdownload%2Fdayjs-1.8.29.tgz", + "integrity": "sha1-XSPjQd5r+9IGwBE20vsPAYd4IPU=" + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1580010393599&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decimal.js": { + "version": "10.2.0", + "resolved": "https://registry.npm.taobao.org/decimal.js/download/decimal.js-10.2.0.tgz", + "integrity": "sha1-OUZhE6ngNhEdAvgkibX9awte0jE=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npm.taobao.org/dedent/download/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/deep-eql/download/deep-eql-3.0.1.tgz", + "integrity": "sha1-38lARACtHI/gI+faHfHBR8S0RN8=", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz", + "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-2.2.1.tgz", + "integrity": "sha1-XT/yKgHAD2RUBaL7wX0HeKGAEXA=" + }, + "default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-5.0.5.tgz?cache=0&sync_timestamp=1590419212936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-5.0.5.tgz", + "integrity": "sha1-T9a9XShV05s0zFpZUFSG6ar8mxA=", + "dev": true, + "requires": { + "execa": "^3.3.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", + "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz?cache=0&sync_timestamp=1594145237072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-3.4.0.tgz", + "integrity": "sha1-wI7UVQ72XYWPrCaf/IVyRG8364k=", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.1.0.tgz", + "integrity": "sha1-ASA83JJZf5uQkGfD5lbMH008Tck=", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz", + "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz", + "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.0.tgz", + "integrity": "sha1-//DzyRYX/mK7UBiWNumayKbfe+U=", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz", + "integrity": "sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1574441431664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz?cache=0&sync_timestamp=1574116262707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz", + "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/delegate/download/delegate-3.2.0.tgz", + "integrity": "sha1-tmtxwxWFIuirV0T3INjKDCr1kWY=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz", + "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-browser": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/detect-browser/download/detect-browser-5.1.1.tgz?cache=0&sync_timestamp=1592803473542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdetect-browser%2Fdownload%2Fdetect-browser-5.1.1.tgz", + "integrity": "sha1-qADbkdP9YNCGFmn1mE8b6f++AJw=" + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz", + "integrity": "sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=", + "dev": true + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz", + "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", + "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + } + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz", + "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz", + "integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz", + "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", + "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-event-types": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/dom-event-types/download/dom-event-types-1.0.0.tgz", + "integrity": "sha1-WDCgop4b+Df+UKcM2ApZcjKBPK4=", + "dev": true + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1589067578490&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", + "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz", + "integrity": "sha1-H4vf6R9aeAYydOgDtL3O326U+U0=", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz", + "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/domexception/download/domexception-1.0.1.tgz?cache=0&sync_timestamp=1576355459111&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomexception%2Fdownload%2Fdomexception-1.0.1.tgz", + "integrity": "sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA=", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz", + "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz", + "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.2.0.tgz?cache=0&sync_timestamp=1572621117377&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.2.0.tgz", + "integrity": "sha1-w07MKVVtxF8fTCJpe29JBODMT8s=", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/dotenv/download/dotenv-7.0.0.tgz", + "integrity": "sha1-or481Sc2ZzIG6KhftSEO6ilijnw=", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-5.1.0.tgz", + "integrity": "sha1-P7rwIL/XlIhAcuomsel5HUWmKfA=", + "dev": true + }, + "dotignore": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/dotignore/download/dotignore-0.1.2.tgz", + "integrity": "sha1-+ULyIA0ow6dvvdbw7p8yV8ii6QU=", + "requires": { + "minimatch": "^3.0.4" + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz", + "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "e-guide-layer": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/e-guide-layer/download/e-guide-layer-0.1.1.tgz", + "integrity": "sha1-AcGvAJqak9CQaSnWAFGrHH6I/V8=", + "requires": { + "core-js": "^3.6.5", + "normalize.css": "^8.0.1", + "vue": "^2.6.11" + }, + "dependencies": { + "core-js": { + "version": "3.8.1", + "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-3.8.1.tgz?cache=0&sync_timestamp=1607215997560&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-3.8.1.tgz", + "integrity": "sha1-9RUjZorIopTRKFw7nbRAJf2mbUc=" + } + } + }, + "easy-stack": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/easy-stack/download/easy-stack-1.0.0.tgz", + "integrity": "sha1-EskbMIWjfwuqM26UhurEv5Tj54g=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "echarts": { + "version": "4.8.0", + "resolved": "https://registry.npm.taobao.org/echarts/download/echarts-4.8.0.tgz", + "integrity": "sha1-ssHPuSKbE9No7hBPyO6mALV01MQ=", + "requires": { + "zrender": "4.3.1" + } + }, + "editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npm.taobao.org/editorconfig/download/editorconfig-0.15.3.tgz", + "integrity": "sha1-vvhMTnX7jcsM5c7o79UcFZmb78U=", + "dev": true, + "requires": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz", + "integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.502", + "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.502.tgz?cache=0&sync_timestamp=1595302504119&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.502.tgz", + "integrity": "sha1-alXpk+9goB+9whUu9eR+4AyIXJg=", + "dev": true + }, + "elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/elegant-spinner/download/elegant-spinner-1.0.1.tgz", + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", + "dev": true + }, + "element-resize-detector": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/element-resize-detector/download/element-resize-detector-1.2.1.tgz", + "integrity": "sha1-sDBRlER6SGMVXljxMyOgrvMIUdE=", + "requires": { + "batch-processor": "1.0.0" + } + }, + "elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.3.tgz?cache=0&sync_timestamp=1592492805287&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felliptic%2Fdownload%2Felliptic-6.5.3.tgz", + "integrity": "sha1-y1nrLv2vc6C9eMzXAVpirW4Pk9Y=", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.3.0.tgz?cache=0&sync_timestamp=1594972300336&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.3.0.tgz", + "integrity": "sha1-O4BvO/r8HsfeaVUe+TzKRsFwQSY=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz?cache=0&sync_timestamp=1570537491040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.5.0.tgz", + "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.0.3.tgz?cache=0&sync_timestamp=1591227679482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.0.3.tgz", + "integrity": "sha1-XEh+V0Krk8Fau12iJ1m4WQ7AO38=", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz", + "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz?cache=0&sync_timestamp=1578288503034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ferror-stack-parser%2Fdownload%2Ferror-stack-parser-2.0.6.tgz", + "integrity": "sha1-WpmnB716TFinl5AtSNgoA+3mqtg=", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.6.tgz?cache=0&sync_timestamp=1592109199190&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.6.tgz", + "integrity": "sha1-kUIHFweFeyysx7iey2cDFsPi1So=", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "dependencies": { + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.0.tgz", + "integrity": "sha1-7OOOOJ5JDfDcIcrqK9WW+Yf3Z/8=", + "requires": { + "has-symbols": "^1.0.1" + } + } + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.0.2.tgz?cache=0&sync_timestamp=1594743037384&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.0.2.tgz", + "integrity": "sha1-algNcO24eIDyK0yR0NVgeN9pYsQ=", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1587627107924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npm.taobao.org/escodegen/download/escodegen-1.14.3.tgz?cache=0&sync_timestamp=1592866195968&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescodegen%2Fdownload%2Fescodegen-1.14.3.tgz", + "integrity": "sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM=", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "optional": true + } + } + }, + "eslint": { + "version": "4.19.1", + "resolved": "https://registry.npm.taobao.org/eslint/download/eslint-4.19.1.tgz?cache=0&sync_timestamp=1595098868314&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-4.19.1.tgz", + "integrity": "sha1-MtHWU+HZBAiFS/spbwdux+GGowA=", + "dev": true, + "requires": { + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", + "table": "4.0.2", + "text-table": "~0.2.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-3.7.3.tgz", + "integrity": "sha1-u1ByANPRf2AkdjYWC0gmKEsQhTU=", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz?cache=0&sync_timestamp=1591599666712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "eslint-config-standard": { + "version": "12.0.0", + "resolved": "https://registry.npm.taobao.org/eslint-config-standard/download/eslint-config-standard-12.0.0.tgz?cache=0&sync_timestamp=1584727519567&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-config-standard%2Fdownload%2Feslint-config-standard-12.0.0.tgz", + "integrity": "sha1-Y4tMZdsL1aQTGflruh8V3a0hB9k=", + "dev": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha1-hf+oGULCUBLYIxCW3fZ5wDBCxxc=", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz", + "integrity": "sha1-KLnBLaVAV68IReKmEScBova/gzc=", + "dev": true, + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + } + }, + "eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.6.0.tgz", + "integrity": "sha1-V569CU9Wr3eX0ZyYZsnJSGYpv6Y=", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-cypress": { + "version": "2.11.1", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-cypress/download/eslint-plugin-cypress-2.11.1.tgz", + "integrity": "sha1-qUXid0uIIR4scGoFnUMeJitcKGI=", + "dev": true, + "requires": { + "globals": "^11.12.0" + } + }, + "eslint-plugin-import": { + "version": "2.22.0", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.22.0.tgz?cache=0&sync_timestamp=1593237313662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-import%2Fdownload%2Feslint-plugin-import-2.22.0.tgz", + "integrity": "sha1-kvdzb+H94+Led2I8g43Zkv9f+34=", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.3", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + } + } + }, + "eslint-plugin-node": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-node/download/eslint-plugin-node-6.0.1.tgz?cache=0&sync_timestamp=1585396050025&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-node%2Fdownload%2Feslint-plugin-node-6.0.1.tgz", + "integrity": "sha1-vxlkIpgGQ3kxXXpLKnWTc3b6BeQ=", + "dev": true, + "requires": { + "ignore": "^3.3.6", + "minimatch": "^3.0.4", + "resolve": "^1.3.3", + "semver": "^5.4.1" + } + }, + "eslint-plugin-promise": { + "version": "3.8.0", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-promise/download/eslint-plugin-promise-3.8.0.tgz", + "integrity": "sha1-ZevyeoRePB6db2pWIt3TgBaUtiE=", + "dev": true + }, + "eslint-plugin-standard": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-standard/download/eslint-plugin-standard-3.1.0.tgz", + "integrity": "sha1-Kp4hJZukxHwC1TstDJE11LECLUc=", + "dev": true, + "requires": {} + }, + "eslint-plugin-vue": { + "version": "4.7.1", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-4.7.1.tgz?cache=0&sync_timestamp=1595148924086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-4.7.1.tgz", + "integrity": "sha1-yCm5/GJYLBiXtaC5Sv1E7MpRHmM=", + "dev": true, + "optional": true, + "requires": { + "vue-eslint-parser": "^2.0.3" + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz", + "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npm.taobao.org/espree/download/espree-3.5.4.tgz?cache=0&sync_timestamp=1595033675028&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-3.5.4.tgz", + "integrity": "sha1-sPRHGHyKi+2US4FaZgvd9d610ac=", + "dev": true, + "requires": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-5.7.4.tgz?cache=0&sync_timestamp=1591869432510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-5.7.4.tgz", + "integrity": "sha1-Po2KmUfQWZoXltECJddDL0pKz14=", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesprima%2Fdownload%2Fesprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "dev": true + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesquery%2Fdownload%2Fesquery-1.3.1.tgz", + "integrity": "sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc=", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.1.0.tgz?cache=0&sync_timestamp=1586996117385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.1.0.tgz", + "integrity": "sha1-N0MJ05/ZNa5QDnuS6Ka0xyDllkI=", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz", + "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1586996117385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz?cache=0&sync_timestamp=1564535492241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesutils%2Fdownload%2Fesutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/event-pubsub/download/event-pubsub-4.3.0.tgz", + "integrity": "sha1-9o2Ba8KfHsAsU53FjI3UDOcss24=", + "dev": true + }, + "eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.4.tgz?cache=0&sync_timestamp=1589283150629&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.4.tgz", + "integrity": "sha1-tUY6zmNaCD0Bi9x8kXtMXxCoU4Q=", + "dev": true + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/events/download/events-3.1.0.tgz?cache=0&sync_timestamp=1578498298945&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevents%2Fdownload%2Fevents-3.1.0.tgz", + "integrity": "sha1-hCea8bNMt1qoi/X/KR9tC9mzGlk=", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/eventsource/download/eventsource-1.0.7.tgz", + "integrity": "sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA=", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", + "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1594145237072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/exit-hook/download/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, + "exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/exit-on-epipe/download/exit-on-epipe-1.0.1.tgz", + "integrity": "sha1-C92S6H1ShdJn2qgXHQ6wYVlolpI=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&sync_timestamp=1585185316222&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz", + "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-2.2.0.tgz?cache=0&sync_timestamp=1562602052556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexternal-editor%2Fdownload%2Fexternal-editor-2.2.0.tgz", + "integrity": "sha1-BFURz9jRM/OEZnPRBHwVTiFK09U=", + "dev": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1591599666712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz", + "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/fastparse/download/fastparse-1.1.2.tgz", + "integrity": "sha1-kXKMWllC7O2FMSg8eUQe5BIsNak=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fecha": { + "version": "2.3.3", + "resolved": "https://registry.npm.taobao.org/fecha/download/fecha-2.3.3.tgz", + "integrity": "sha1-lI50FX3xoy/RsSw6PDzctuydls0=" + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz", + "integrity": "sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "file-loader": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-3.0.1.tgz", + "integrity": "sha1-+OC6C1mZGLUa3+RdZtHnca1WD6o=", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", + "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", + "dev": true, + "optional": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz", + "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", + "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "find-babel-config": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/find-babel-config/download/find-babel-config-1.2.0.tgz", + "integrity": "sha1-qbezF+tbmGDNqdVHQKjIM3oig6I=", + "dev": true, + "requires": { + "json5": "^0.5.1", + "path-exists": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz", + "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-parent-dir": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/find-parent-dir/download/find-parent-dir-0.3.0.tgz", + "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-1.3.4.tgz", + "integrity": "sha1-LC73dSXMKSkAff/6HdMUqpyd7m8=", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz", + "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz", + "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "fmin": { + "version": "0.0.2", + "resolved": "https://registry.npm.taobao.org/fmin/download/fmin-0.0.2.tgz", + "integrity": "sha1-Wbu0DUP/3ByUzQClaMQflfGXMBc=", + "requires": { + "contour_plot": "^0.0.1", + "json2module": "^0.0.3", + "rollup": "^0.25.8", + "tape": "^4.5.1", + "uglify-js": "^2.6.2" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.5.10.tgz?cache=0&sync_timestamp=1592518281721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.5.10.tgz", + "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=", + "requires": { + "debug": "=3.1.0" + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npm.taobao.org/for-each/download/for-each-0.3.3.tgz", + "integrity": "sha1-abRH6IoKXTLD5whPPxcQA0shN24=", + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz?cache=0&sync_timestamp=1573184298867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffor-in%2Fdownload%2Ffor-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz", + "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "frac": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/frac/download/frac-1.1.2.tgz", + "integrity": "sha1-PXT39keMiKG1AgMG10fcYxPHTQs=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz", + "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz?cache=0&sync_timestamp=1579628584498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-minipass%2Fdownload%2Ffs-minipass-2.1.0.tgz", + "integrity": "sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz?cache=0&sync_timestamp=1588787369955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.1.3.tgz", + "integrity": "sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz", + "integrity": "sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk=", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz", + "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=", + "dev": true + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/get-func-name/download/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha1-tf3nfyLL4185C04ImSLFC85u9mQ=", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz?cache=0&sync_timestamp=1573078079496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz", + "integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "dev": true + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz", + "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + } + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/good-listener/download/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "requires": { + "delegate": "^3.1.2" + } + }, + "gq-plus": { + "version": "2.1.5", + "resolved": "https://registry.npm.taobao.org/gq-plus/download/gq-plus-2.1.5.tgz", + "integrity": "sha1-xGkLE10oAAukXd7nuopA10RvVJM=", + "requires": { + "async-validator": "^1.10.0", + "axios": "^0.15.3", + "deepmerge": "^2.2.1", + "element-resize-detector": "^1.2.0", + "js-calendar": "^1.2.3", + "lodash.throttle": "^4.1.1", + "popper.js": "^1.14.6", + "tinycolor2": "^1.4.1", + "v-click-outside-x": "^3.5.6" + }, + "dependencies": { + "axios": { + "version": "0.15.3", + "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.15.3.tgz", + "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=", + "requires": { + "follow-redirects": "1.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "follow-redirects": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.0.0.tgz?cache=0&sync_timestamp=1592518281721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.0.0.tgz", + "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=", + "requires": { + "debug": "^2.2.0" + } + } + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz?cache=0&sync_timestamp=1588086924019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgraceful-fs%2Fdownload%2Fgraceful-fs-4.2.4.tgz", + "integrity": "sha1-Ila94U02MpWMRl68ltxGfKB6Kfs=", + "dev": true + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npm.taobao.org/growl/download/growl-1.10.5.tgz", + "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=", + "dev": true + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz", + "integrity": "sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz", + "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.3.tgz", + "integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz", + "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz", + "integrity": "sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", + "dev": true + } + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhash-sum%2Fdownload%2Fhash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz", + "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "optional": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/he/download/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz", + "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=", + "dev": true + }, + "highlight.js": { + "version": "9.18.1", + "resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-9.18.1.tgz", + "integrity": "sha1-7SGqAB/mJSuxCj121HVzxlOf4Tw=" + }, + "highlight.js-async-webpack": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/highlight.js-async-webpack/download/highlight.js-async-webpack-1.0.4.tgz", + "integrity": "sha1-wGtnv5nwSQRdYrdW5YVbCRLsYWw=" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true, + "optional": true + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz", + "integrity": "sha1-YJIH1mEQADOpqUAq096mdzgcGx0=", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1594428020608&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz", + "integrity": "sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg=", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz", + "integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=", + "dev": true + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg=", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "html-entities": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.3.1.tgz", + "integrity": "sha1-+5oaS1sUxdq6gtPjTGrk/nAaDkQ=", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz", + "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz", + "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", + "dev": true + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1592744803278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz", + "integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz", + "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=", + "dev": true + } + } + } + } + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz?cache=0&sync_timestamp=1588268411154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz", + "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz", + "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } + } + }, + "html2canvas": { + "version": "1.0.0-rc.5", + "resolved": "https://registry.npm.taobao.org/html2canvas/download/html2canvas-1.0.0-rc.5.tgz", + "integrity": "sha1-TuPKyfbiCg+gwvNab5nJYK5+xME=", + "requires": { + "css-line-break": "1.1.1" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz", + "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1591227679482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz", + "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1593407710477&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz", + "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz", + "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz?cache=0&sync_timestamp=1594312982456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy-middleware%2Fdownload%2Fhttp-proxy-middleware-0.19.1.tgz", + "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz?cache=0&sync_timestamp=1584198662293&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhuman-signals%2Fdownload%2Fhuman-signals-1.1.1.tgz", + "integrity": "sha1-xbHNFPUK6uCatsWf5jujOV/k36M=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz", + "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz", + "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "dependencies": { + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", + "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz", + "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz", + "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz", + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", + "dev": true + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-3.3.0.tgz?cache=0&sync_timestamp=1594661205347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-3.3.0.tgz", + "integrity": "sha1-ndLyrXZdyrH/BEO0kUQqILoifck=", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz", + "integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "dependencies": { + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz?cache=0&sync_timestamp=1590419212936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-4.2.0.tgz", + "integrity": "sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + } + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.4.0.tgz", + "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finvariant%2Fdownload%2Finvariant-2.2.4.tgz", + "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz?cache=0&sync_timestamp=1589565904735&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finvert-kv%2Fdownload%2Finvert-kv-2.0.0.tgz", + "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz", + "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", + "dev": true + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz", + "integrity": "sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM=" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.0.tgz?cache=0&sync_timestamp=1591427607174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.2.0.tgz", + "integrity": "sha1-gzNlYLVKOONeOi33r9BFTWkUaLs=" + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/is-ci/download/is-ci-1.2.1.tgz", + "integrity": "sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw=", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz?cache=0&sync_timestamp=1576729182289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.2.tgz", + "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-docker": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-docker/download/is-docker-2.0.0.tgz", + "integrity": "sha1-LLDfDnXi0GT+GGTDfN6st7Lc8ls=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-finite/download/is-finite-1.1.0.tgz", + "integrity": "sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz", + "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=", + "dev": true + }, + "is-observable": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/is-observable/download/is-observable-0.2.0.tgz", + "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", + "dev": true, + "requires": { + "symbol-observable": "^0.2.2" + } + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz", + "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-2.1.0.tgz", + "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1595290593289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/is-promise/download/is-promise-2.2.2.tgz?cache=0&sync_timestamp=1588001830257&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-promise%2Fdownload%2Fis-promise-2.2.2.tgz", + "integrity": "sha1-OauVnMv5p3TPB597QMeib3YxNfE=", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.5.tgz", + "integrity": "sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4=", + "requires": { + "has": "^1.0.3" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", + "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz", + "integrity": "sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y=", + "dev": true + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz", + "integrity": "sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.3.tgz", + "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-whitespace": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/is-whitespace/download/is-whitespace-0.3.0.tgz", + "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1588494180082&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "iview": { + "version": "3.5.4", + "resolved": "https://registry.npm.taobao.org/iview/download/iview-3.5.4.tgz", + "integrity": "sha1-1Ra5LnO2F/Lcf0WDH5kFnWmTL4I=", + "requires": { + "async-validator": "^1.12.2", + "deepmerge": "^2.2.1", + "element-resize-detector": "^1.2.0", + "js-calendar": "^1.2.3", + "lodash.throttle": "^4.1.1", + "popper.js": "^1.14.6", + "tinycolor2": "^1.4.1", + "v-click-outside-x": "^4.0.19" + }, + "dependencies": { + "v-click-outside-x": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/v-click-outside-x/download/v-click-outside-x-4.1.0.tgz?cache=0&sync_timestamp=1579043108278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv-click-outside-x%2Fdownload%2Fv-click-outside-x-4.1.0.tgz", + "integrity": "sha1-voJmgOLSVmaooYUzKSnUYkSqJEc=" + } + } + }, + "javascript-stringify": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-1.6.0.tgz", + "integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=", + "dev": true + }, + "jest-get-type": { + "version": "21.2.0", + "resolved": "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-21.2.0.tgz", + "integrity": "sha1-9jdqudtLYNgeOfMHScbEZvQNSiM=", + "dev": true + }, + "jest-validate": { + "version": "21.2.1", + "resolved": "https://registry.npm.taobao.org/jest-validate/download/jest-validate-21.2.1.tgz?cache=0&sync_timestamp=1592925336825&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-validate%2Fdownload%2Fjest-validate-21.2.1.tgz", + "integrity": "sha1-zAy8plPNVJN7pPKhEXlndFMN08c=", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^21.2.0", + "leven": "^2.1.0", + "pretty-format": "^21.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jquery": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/jquery/download/jquery-2.2.4.tgz", + "integrity": "sha1-LInWiJterFIqfuoywUUhVZxsvwI=" + }, + "js-beautify": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/js-beautify/download/js-beautify-1.11.0.tgz", + "integrity": "sha1-r7hz3EfViYY2AJPctplR6LzV3tI=", + "dev": true, + "requires": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "mkdirp": "~1.0.3", + "nopt": "^4.0.3" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-1.0.4.tgz", + "integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=", + "dev": true + } + } + }, + "js-calendar": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/js-calendar/download/js-calendar-1.2.3.tgz", + "integrity": "sha1-pYOwZEtOaVujlPNE0QPbzHp6fT4=" + }, + "js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/js-cookie/download/js-cookie-2.2.1.tgz", + "integrity": "sha1-aeEG3F1YBolFYpAqpbrsN0Tpsrg=" + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/js-levenshtein/download/js-levenshtein-1.1.6.tgz", + "integrity": "sha1-xs7ljrNVA3LfjeuF+tXOZs4B1Z0=", + "dev": true + }, + "js-message": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/js-message/download/js-message-1.0.5.tgz", + "integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU=", + "dev": true + }, + "js-queue": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/js-queue/download/js-queue-2.0.0.tgz", + "integrity": "sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=", + "dev": true, + "requires": { + "easy-stack": "^1.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz?cache=0&sync_timestamp=1590172122543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.0.tgz", + "integrity": "sha1-p6NBcPJqIbsWJCTYray0ETpp5II=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "13.2.0", + "resolved": "https://registry.npm.taobao.org/jsdom/download/jsdom-13.2.0.tgz?cache=0&sync_timestamp=1594341172783&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsdom%2Fdownload%2Fjsdom-13.2.0.tgz", + "integrity": "sha1-saDb2twlVDUmK+jqNyPS26DX6zo=", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^6.0.4", + "acorn-globals": "^4.3.0", + "array-equal": "^1.0.0", + "cssom": "^0.3.4", + "cssstyle": "^1.1.1", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.0", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.0.9", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "saxes": "^3.1.5", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.5.0", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^6.1.2", + "xml-name-validator": "^3.0.0" + } + }, + "jsdom-global": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/jsdom-global/download/jsdom-global-3.0.2.tgz", + "integrity": "sha1-a9KZwTsMRiay2iwDk81DhdYGrLk=", + "dev": true, + "requires": {} + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz", + "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "optional": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json2module": { + "version": "0.0.3", + "resolved": "https://registry.npm.taobao.org/json2module/download/json2module-0.0.3.tgz", + "integrity": "sha1-APtfSpt638PwZHwpyxe80Zeb6bI=", + "requires": { + "rw": "^1.3.2" + } + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz", + "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.1.3.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.1.3.tgz", + "integrity": "sha1-ybD3+pIzv+WAf+ZvzzpWF+1ZfUM=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz", + "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "launch-editor": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/launch-editor/download/launch-editor-2.2.1.tgz", + "integrity": "sha1-hxtaPuOdZoD8wm03kwtu7aidsMo=", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "shell-quote": "^1.6.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "launch-editor-middleware": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz", + "integrity": "sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc=", + "dev": true, + "requires": { + "launch-editor": "^2.2.1" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz", + "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "less": { + "version": "2.7.3", + "resolved": "https://registry.npm.taobao.org/less/download/less-2.7.3.tgz?cache=0&sync_timestamp=1594913896834&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fless%2Fdownload%2Fless-2.7.3.tgz", + "integrity": "sha1-zBJg9RyQCp7A2R+2mYE54CUHtjs=", + "dev": true, + "requires": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "mime": "^1.2.11", + "mkdirp": "^0.5.0", + "promise": "^7.1.1", + "request": "2.81.0", + "source-map": "^0.5.3" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "optional": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "optional": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + } + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "dev": true, + "optional": true, + "requires": { + "ajv": "^4.9.1", + "har-schema": "^1.0.5" + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1590596706367&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true, + "optional": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true, + "optional": true + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true, + "optional": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true, + "optional": true + }, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npm.taobao.org/request/download/request-2.81.0.tgz?cache=0&sync_timestamp=1581439006948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest%2Fdownload%2Frequest-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "optional": true + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftough-cookie%2Fdownload%2Ftough-cookie-2.3.4.tgz", + "integrity": "sha1-7GDO44rGdQY//JelwYlwV47oNlU=", + "dev": true, + "optional": true, + "requires": { + "punycode": "^1.4.1" + } + } + } + }, + "less-loader": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/less-loader/download/less-loader-4.1.0.tgz?cache=0&sync_timestamp=1593787586071&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fless-loader%2Fdownload%2Fless-loader-4.1.0.tgz", + "integrity": "sha1-LBNSxbCaT4QQFJAnT9UWdN5BNj4=", + "dev": true, + "requires": { + "clone": "^2.1.1", + "loader-utils": "^1.1.0", + "pify": "^3.0.0" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/leven/download/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "lint-staged": { + "version": "6.1.1", + "resolved": "https://registry.npm.taobao.org/lint-staged/download/lint-staged-6.1.1.tgz?cache=0&sync_timestamp=1592387031001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flint-staged%2Fdownload%2Flint-staged-6.1.1.tgz", + "integrity": "sha1-zQjE2bjMwtNxmNHEfOd9Ir5s8yQ=", + "dev": true, + "requires": { + "app-root-path": "^2.0.0", + "chalk": "^2.1.0", + "commander": "^2.11.0", + "cosmiconfig": "^4.0.0", + "debug": "^3.1.0", + "dedent": "^0.7.0", + "execa": "^0.8.0", + "find-parent-dir": "^0.3.0", + "is-glob": "^4.0.0", + "jest-validate": "^21.1.0", + "listr": "^0.13.0", + "lodash": "^4.17.4", + "log-symbols": "^2.0.0", + "minimatch": "^3.0.0", + "npm-which": "^3.0.1", + "p-map": "^1.1.1", + "path-is-inside": "^1.0.2", + "pify": "^3.0.0", + "staged-git-files": "1.0.0", + "stringify-object": "^3.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cosmiconfig": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-4.0.0.tgz", + "integrity": "sha1-dgORVJWAu9LfHlYrwXexPCkJctw=", + "dev": true, + "requires": { + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "parse-json": "^4.0.0", + "require-from-string": "^2.0.1" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz?cache=0&sync_timestamp=1594145237072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-1.2.0.tgz", + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "listr": { + "version": "0.13.0", + "resolved": "https://registry.npm.taobao.org/listr/download/listr-0.13.0.tgz", + "integrity": "sha1-ILsLowuuZg7oTMBQPfS+PVYjiH0=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "figures": "^1.7.0", + "indent-string": "^2.1.0", + "is-observable": "^0.2.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.4.0", + "listr-verbose-renderer": "^0.4.0", + "log-symbols": "^1.0.2", + "log-update": "^1.0.2", + "ora": "^0.2.3", + "p-map": "^1.1.1", + "rxjs": "^5.4.2", + "stream-to-observable": "^0.2.0", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "cli-spinners": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-0.1.2.tgz?cache=0&sync_timestamp=1595080565423&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-spinners%2Fdownload%2Fcli-spinners-0.1.2.tgz", + "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=", + "dev": true + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "^1.0.0" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "ora": { + "version": "0.2.3", + "resolved": "https://registry.npm.taobao.org/ora/download/ora-0.2.3.tgz?cache=0&sync_timestamp=1594997498208&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fora%2Fdownload%2Fora-0.2.3.tgz", + "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "cli-cursor": "^1.0.2", + "cli-spinners": "^0.1.2", + "object-assign": "^4.0.1" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-1.2.0.tgz", + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + } + } + }, + "listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/listr-silent-renderer/download/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", + "dev": true + }, + "listr-update-renderer": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/listr-update-renderer/download/listr-update-renderer-0.4.0.tgz", + "integrity": "sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^1.0.2", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "^1.0.0" + } + } + } + }, + "listr-verbose-renderer": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/listr-verbose-renderer/download/listr-verbose-renderer-0.4.1.tgz", + "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "cli-cursor": "^1.0.2", + "date-fns": "^1.27.2", + "figures": "^1.7.0" + }, + "dependencies": { + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + } + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz", + "integrity": "sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k=", + "dev": true, + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1593786163963&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz", + "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.19.tgz?cache=0&sync_timestamp=1594226805918&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.19.tgz", + "integrity": "sha1-5I3e2+MLMyF4PFtDAfvTU7weSks=" + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npm.taobao.org/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY=", + "dev": true + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", + "dev": true + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/lodash.throttle/download/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz", + "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", + "dev": true, + "requires": { + "chalk": "^2.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "log-update": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/log-update/download/log-update-1.0.2.tgz?cache=0&sync_timestamp=1582186637481&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flog-update%2Fdownload%2Flog-update-1.0.2.tgz", + "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", + "dev": true, + "requires": { + "ansi-escapes": "^1.0.0", + "cli-cursor": "^1.0.2" + }, + "dependencies": { + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + } + } + }, + "loglevel": { + "version": "1.6.8", + "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.6.8.tgz", + "integrity": "sha1-iiX7ddCSIw7NRFcnDYC1TigBEXE=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz", + "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz", + "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1587567875186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz", + "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "marked": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/marked/download/marked-1.1.1.tgz?cache=0&sync_timestamp=1594690149591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmarked%2Fdownload%2Fmarked-1.1.1.tgz", + "integrity": "sha1-5dYbaYQiENXfV7BYVuDJFXJwPmo=" + }, + "mavon-editor": { + "version": "2.9.0", + "resolved": "https://registry.npm.taobao.org/mavon-editor/download/mavon-editor-2.9.0.tgz", + "integrity": "sha1-5Ru83N4YuSNjM6nOsS/tLYRUKQA=", + "requires": { + "highlight.js": "^9.11.0", + "highlight.js-async-webpack": "^1.0.4", + "xss": "^1.0.6" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", + "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz?cache=0&sync_timestamp=1593510420945&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.4.tgz", + "integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmem%2Fdownload%2Fmem-4.3.0.tgz", + "integrity": "sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg=", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz?cache=0&sync_timestamp=1570537491040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz", + "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", + "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz", + "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true + } + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz", + "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + } + } + }, + "mime": { + "version": "2.4.6", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-2.4.6.tgz?cache=0&sync_timestamp=1590596706367&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-2.4.6.tgz", + "integrity": "sha1-5bQHyQ20QvK+tbFiNz0Htpr/pNE=", + "dev": true + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz", + "integrity": "sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I=", + "dev": true + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.27.tgz?cache=0&sync_timestamp=1587700357245&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.27.tgz", + "integrity": "sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8=", + "dev": true, + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz", + "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.8.2.tgz?cache=0&sync_timestamp=1576856580721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.8.2.tgz", + "integrity": "sha1-qHXhab6yfIivd92WJ3HJ7tw9oWE=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/minipass/download/minipass-3.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-3.1.3.tgz", + "integrity": "sha1-fUL/HzljVILhX5zbUxhN7r1YFf0=", + "dev": true, + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true + } + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/minipass-collect/download/minipass-collect-1.0.2.tgz", + "integrity": "sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/minipass-flush/download/minipass-flush-1.0.5.tgz", + "integrity": "sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/minipass-pipeline/download/minipass-pipeline-1.2.3.tgz", + "integrity": "sha1-VfeDkwfXSFnW6K2pw+vnLOwhajQ=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz", + "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mocha": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/mocha/download/mocha-5.2.0.tgz", + "integrity": "sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY=", + "dev": true, + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.15.1.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.15.1.tgz", + "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz?cache=0&sync_timestamp=1573078079496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz", + "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "mocha-webpack": { + "version": "2.0.0-beta.0", + "resolved": "https://registry.npm.taobao.org/mocha-webpack/download/mocha-webpack-2.0.0-beta.0.tgz", + "integrity": "sha1-2F/Jpw+CpK1ZW3cCoRgWBd+llUk=", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "chalk": "^2.3.0", + "chokidar": "^2.0.2", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "interpret": "^1.0.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "lodash": "^4.3.0", + "memory-fs": "^0.4.1", + "nodent-runtime": "^3.0.3", + "normalize-path": "^2.0.1", + "progress": "^2.0.0", + "source-map-support": "^0.5.0", + "strip-ansi": "^4.0.0", + "toposort": "^1.0.0", + "yargs": "^11.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1593261363626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1594864731636&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true + } + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz", + "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1588787369955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz", + "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1584985910691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719517036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", + "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "11.1.1", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-11.1.1.tgz?cache=0&sync_timestamp=1594421046064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-11.1.1.tgz", + "integrity": "sha1-UFLv40RqTfXtZpyZWIbMDxNwJ2Y=", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + } + } + }, + "moment": { + "version": "2.27.0", + "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.27.0.tgz?cache=0&sync_timestamp=1592516115109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.27.0.tgz", + "integrity": "sha1-i/9OPiaiNiIN/j423nVrbrqgEF0=" + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz", + "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz", + "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.14.1", + "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.1.tgz?cache=0&sync_timestamp=1587497111086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.1.tgz", + "integrity": "sha1-174036MQW5FJTDFHCJMV7/iHSwE=", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", + "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", + "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz", + "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz?cache=0&sync_timestamp=1576748705107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-2.3.2.tgz", + "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz", + "integrity": "sha1-1iQFDtu0SHStyhK7mlLsY8t4JXk=", + "dev": true + }, + "node-ipc": { + "version": "9.1.1", + "resolved": "https://registry.npm.taobao.org/node-ipc/download/node-ipc-9.1.1.tgz", + "integrity": "sha1-TiRe1pOOZRAOWV68XcNLFujdXWk=", + "dev": true, + "requires": { + "event-pubsub": "4.3.0", + "js-message": "1.0.5", + "js-queue": "2.0.0" + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz", + "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.59", + "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.59.tgz?cache=0&sync_timestamp=1594212234484&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.59.tgz", + "integrity": "sha1-TWSDMGQc7HBL/xD45P4o5FOrjo4=", + "dev": true + }, + "nodent-runtime": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/nodent-runtime/download/nodent-runtime-3.2.1.tgz", + "integrity": "sha1-nidV2F4592Qojw1HUuvP4+VB4A4=", + "dev": true + }, + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-4.0.3.tgz", + "integrity": "sha1-o3XK2dAv2SEnjZVMIlTVqlfhXkg=", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz", + "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=", + "dev": true + }, + "normalize.css": { + "version": "8.0.1", + "resolved": "https://registry.npm.taobao.org/normalize.css/download/normalize.css-8.0.1.tgz?cache=0&sync_timestamp=1588361527323&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize.css%2Fdownload%2Fnormalize.css-8.0.1.tgz", + "integrity": "sha1-m5iiCHOLnMJjTKrLxC0THJdIe/M=" + }, + "npm-path": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/npm-path/download/npm-path-2.0.4.tgz", + "integrity": "sha1-xkE0el/51qCeTZvOVYDE9QUnjmQ=", + "dev": true, + "requires": { + "which": "^1.2.10" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npm-which": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/npm-which/download/npm-which-3.0.1.tgz", + "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=", + "dev": true, + "requires": { + "commander": "^2.9.0", + "npm-path": "^2.0.2", + "which": "^1.2.10" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz", + "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/nwsapi/download/nwsapi-2.2.0.tgz", + "integrity": "sha1-IEh5qePQaP8qVROcLHcngGgaOLc=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", + "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz", + "integrity": "sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8=", + "dev": true + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.7.0.tgz?cache=0&sync_timestamp=1592545149361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.7.0.tgz", + "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=" + }, + "object-is": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.2.tgz?cache=0&sync_timestamp=1586894009620&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.2.tgz", + "integrity": "sha1-xdLof/nhGfeLegiEQVGeLuwVc7Y=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz", + "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha1-Npvx+VktiridcS3O1cuBx8U1Jkk=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object.values/download/object.values-1.1.1.tgz", + "integrity": "sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz", + "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz", + "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz?cache=0&sync_timestamp=1595208391438&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopen%2Fdownload%2Fopen-6.4.0.tgz", + "integrity": "sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk=", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opener": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.1.tgz", + "integrity": "sha1-bS8Od/GgrwAyrKcWwsH7uOfoq+0=", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz", + "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz?cache=0&sync_timestamp=1585966141328&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptionator%2Fdownload%2Foptionator-0.8.3.tgz", + "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz?cache=0&sync_timestamp=1594997498208&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fora%2Fdownload%2Fora-3.4.0.tgz", + "integrity": "sha1-vwdSSRBZo+8+1MhQl1Md6f280xg=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz", + "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-3.1.0.tgz?cache=0&sync_timestamp=1584865484693&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fos-locale%2Fdownload%2Fos-locale-3.1.0.tgz", + "integrity": "sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo=", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz", + "integrity": "sha1-hc36+uso6Gd/QW4odZK18/SepBA=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz?cache=0&sync_timestamp=1559922734651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-defer%2Fdownload%2Fp-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz", + "integrity": "sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1594559696906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-2.1.0.tgz", + "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz", + "integrity": "sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz", + "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz", + "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz?cache=0&sync_timestamp=1576721608924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.5.tgz", + "integrity": "sha1-ADJxND2ljclMrOSU+u89IUfs6g4=", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.0.tgz", + "integrity": "sha1-xZNByXI/QUxFKXVWTHwApo1YrNI=", + "dev": true + }, + "parse5-htmlparser2-tree-adapter": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-5.1.1.tgz", + "integrity": "sha1-6MdD1OkhlNUpPs3isIvjHmdGHLw=", + "dev": true, + "requires": { + "parse5": "^5.1.1" + }, + "dependencies": { + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz", + "integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz", + "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1574441431664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", + "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/pathval/download/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz?cache=0&sync_timestamp=1591275684229&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpbkdf2%2Fdownload%2Fpbkdf2-3.1.1.tgz", + "integrity": "sha1-y4cksPramEWWhW0abrr9NYRlS5Q=", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz", + "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=", + "dev": true, + "optional": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", + "dev": true, + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559696906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + } + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/pluralize/download/pluralize-7.0.0.tgz", + "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=", + "dev": true + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/pn/download/pn-1.1.0.tgz", + "integrity": "sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs=", + "dev": true + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npm.taobao.org/popper.js/download/popper.js-1.16.1.tgz", + "integrity": "sha1-KiI8s9x7YhPXQOQDcr5A3kPmWxs=" + }, + "portfinder": { + "version": "1.0.27", + "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.27.tgz?cache=0&sync_timestamp=1595216077180&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fportfinder%2Fdownload%2Fportfinder-1.0.27.tgz", + "integrity": "sha1-pBMzwRa15fPTgPl0WsLzUITEx1g=", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.32", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.32.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.32.tgz", + "integrity": "sha1-QxDW7jRwU9o0M9sr5JKIPWLOxZ0=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "7.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.2.tgz?cache=0&sync_timestamp=1582014221563&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.2.tgz", + "integrity": "sha1-UE780AjKAnMSBWiweSsWzc3oqsE=", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz", + "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz", + "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.0.tgz", + "integrity": "sha1-yE1pK3u3tB3c7ZTuYuirMbQXsAM=", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz", + "integrity": "sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz", + "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha1-3IfjQUjsfqtfeR981YSYMzdbdBo=", + "dev": true, + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1591102414113&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz", + "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.2.tgz", + "integrity": "sha1-k0z3mdAWyDQRhZ4J3Oyt4BKG7Fw=", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz", + "integrity": "sha1-F7mXvHEbMzurFDqu07jT1uPTglg=", + "dev": true, + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz", + "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1587491448785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz", + "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", + "dev": true, + "optional": true + }, + "pretty": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pretty/download/pretty-2.0.0.tgz", + "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", + "dev": true, + "requires": { + "condense-newlines": "^0.2.1", + "extend-shallow": "^2.0.1", + "js-beautify": "^1.6.12" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "pretty-format": { + "version": "21.2.1", + "resolved": "https://registry.npm.taobao.org/pretty-format/download/pretty-format-21.2.1.tgz?cache=0&sync_timestamp=1592925335887&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-21.2.1.tgz", + "integrity": "sha1-rlQH888hBmzQEaobpfzntqLt2zY=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + } + } + }, + "printj": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/printj/download/printj-1.1.2.tgz", + "integrity": "sha1-2Q3rKXWoufYA+zoclOP0xTx4oiI=" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "dev": true, + "optional": true, + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/proto-list/download/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz", + "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz?cache=0&sync_timestamp=1585142991033&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpsl%2Fdownload%2Fpsl-1.8.0.tgz", + "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz", + "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", + "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", + "dev": true + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz?cache=0&sync_timestamp=1569938200736&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpumpify%2Fdownload%2Fpumpify-1.5.1.tgz", + "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", + "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.1.1.tgz", + "integrity": "sha1-YOWl/WSn+L+k0qsu1v30yFutFU4=", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz", + "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", + "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz", + "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz", + "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-5.0.0.tgz", + "integrity": "sha1-c+URTJhtFD76NxLU6iTbmkJm9g8=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + } + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.4.0.tgz?cache=0&sync_timestamp=1584985910691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.4.0.tgz", + "integrity": "sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto=", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.1.tgz", + "integrity": "sha1-ytkq2Oa1kXc0hfvgWkhcr09Ffm8=", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate-unicode-properties%2Fdownload%2Fregenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.5.tgz?cache=0&sync_timestamp=1584052597708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.5.tgz", + "integrity": "sha1-2Hih0JS0MG0QuQlkhLM+vVXiZpc=", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz?cache=0&sync_timestamp=1593557393872&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.14.5.tgz", + "integrity": "sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz?cache=0&sync_timestamp=1576388379660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.0.tgz", + "integrity": "sha1-erqJs8E6ZFCdq888qNn7ub31y3U=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/regexpp/download/regexpp-1.1.0.tgz", + "integrity": "sha1-DjUW3Qt5BPQT0tQZPc5GGMOmias=", + "dev": true + }, + "regexpu-core": { + "version": "4.7.0", + "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.0.tgz?cache=0&sync_timestamp=1583949899397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.7.0.tgz", + "integrity": "sha1-/L9FjFBDGwu3tF1pZ7gZLZHz2Tg=", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.2.tgz", + "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=", + "dev": true + }, + "regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.4.tgz", + "integrity": "sha1-p2n4aEMIQBpm6bUp0kNv9NBmYnI=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.3.tgz", + "integrity": "sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk=", + "dev": true, + "requires": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + }, + "dependencies": { + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz", + "integrity": "sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI=", + "dev": true + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + } + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz", + "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz?cache=0&sync_timestamp=1581439006948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest%2Fdownload%2Frequest-2.88.2.tgz", + "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.3.tgz", + "integrity": "sha1-6aPAgbUTgN/qZ3M2Bh/qh5qCnuk=", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/request-promise-native/download/request-promise-native-1.0.8.tgz", + "integrity": "sha1-pFW5YLgm5E4r+Jma9k3/K/5YyzY=", + "dev": true, + "requires": { + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/require-from-string/download/require-from-string-2.0.2.tgz", + "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/require-uncached/download/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "reselect": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/reselect/download/reselect-3.0.1.tgz", + "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.17.0.tgz", + "integrity": "sha1-sllBtUloIxzC0bt2p5y38sC/hEQ=", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz?cache=0&sync_timestamp=1585438700247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve-url%2Fdownload%2Fresolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "resumer": { + "version": "0.0.0", + "resolved": "https://registry.npm.taobao.org/resumer/download/resumer-0.0.0.tgz", + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", + "requires": { + "through": "~2.3.4" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz", + "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rollup": { + "version": "0.25.8", + "resolved": "https://registry.npm.taobao.org/rollup/download/rollup-0.25.8.tgz?cache=0&sync_timestamp=1595099799360&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frollup%2Fdownload%2Frollup-0.25.8.tgz", + "integrity": "sha1-v2zoO4dRDRY0Ru6qV37WpvxYNeA=", + "requires": { + "chalk": "^1.1.1", + "minimist": "^1.2.0", + "source-map-support": "^0.3.2" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frun-async%2Fdownload%2Frun-async-2.4.1.tgz", + "integrity": "sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=", + "dev": true + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npm.taobao.org/rw/download/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npm.taobao.org/rx-lite/download/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npm.taobao.org/rx-lite-aggregates/download/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "*" + } + }, + "rxjs": { + "version": "5.5.12", + "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-5.5.12.tgz?cache=0&sync_timestamp=1593794887039&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-5.5.12.tgz", + "integrity": "sha1-b6YbinfD15PbrycL7i9D9lLXQcw=", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + }, + "dependencies": { + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "dev": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true + }, + "saxes": { + "version": "3.1.11", + "resolved": "https://registry.npm.taobao.org/saxes/download/saxes-3.1.11.tgz", + "integrity": "sha1-1Z0f0zLskq2YouCy7mRHAjhLHFs=", + "dev": true, + "requires": { + "xmlchars": "^2.1.1" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.0.tgz", + "integrity": "sha1-FxUfdtjq5n+793lgwzxnatn078c=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/select/download/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.7.tgz", + "integrity": "sha1-2lgZ/QSdVXTyjoipvMbbxubzkGs=", + "dev": true, + "requires": { + "node-forge": "0.9.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", + "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1590596706367&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-3.1.0.tgz", + "integrity": "sha1-i/OpFwcSZk7yVhtEtpHq/jmSFOo=", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1593407710477&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz?cache=0&sync_timestamp=1563425414995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsetprototypeof%2Fdownload%2Fsetprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", + "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz?cache=0&sync_timestamp=1585775409029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fset-value%2Fdownload%2Fset-value-2.0.1.tgz", + "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz?cache=0&sync_timestamp=1563425414995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsetprototypeof%2Fdownload%2Fsetprototypeof-1.1.1.tgz", + "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsha.js%2Fdownload%2Fsha.js-2.4.11.tgz", + "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz", + "integrity": "sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/sigmund/download/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz", + "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz", + "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=", + "dev": true + } + } + }, + "simplemde": { + "version": "1.11.2", + "resolved": "https://registry.npm.taobao.org/simplemde/download/simplemde-1.11.2.tgz", + "integrity": "sha1-ojo12XjSxA7wfewAjJLwcNjggOM=", + "requires": { + "codemirror": "*", + "codemirror-spell-checker": "*", + "marked": "*" + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz", + "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=", + "dev": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-1.0.0.tgz", + "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "slick-carousel": { + "version": "1.8.1", + "resolved": "https://registry.npm.taobao.org/slick-carousel/download/slick-carousel-1.8.1.tgz", + "integrity": "sha1-pL+ykBSIe7Zs5Si5C9DNomLMj40=", + "requires": {} + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "optional": true, + "requires": { + "hoek": "2.x.x" + } + }, + "sockjs": { + "version": "0.3.20", + "resolved": "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.20.tgz", + "integrity": "sha1-smooPsVi74smh7RAM6Tuzqx12FU=", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.4.0", + "websocket-driver": "0.6.5" + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.4.0.tgz", + "integrity": "sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U=", + "dev": true, + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz", + "integrity": "sha1-XA6aiWjokSwoZjn96XeosgnyUI4=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz?cache=0&sync_timestamp=1565864727994&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsort-keys%2Fdownload%2Fsort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sortablejs": { + "version": "1.10.2", + "resolved": "https://registry.npm.taobao.org/sortablejs/download/sortablejs-1.10.2.tgz", + "integrity": "sha1-bkA2TZE/mLhaFPZnj5K1wSIfUpA=" + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", + "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", + "dev": true + }, + "source-map": { + "version": "0.1.32", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.1.32.tgz", + "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=", + "requires": { + "amdefine": ">=0.0.4" + } + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz?cache=0&sync_timestamp=1584831908370&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-resolve%2Fdownload%2Fsource-map-resolve-0.5.3.tgz", + "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.3.3", + "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.3.3.tgz?cache=0&sync_timestamp=1587719517036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.3.3.tgz", + "integrity": "sha1-NJAJd9W6PwfHdX7nLnO7GptTdU8=", + "requires": { + "source-map": "0.1.32" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz?cache=0&sync_timestamp=1590161967473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-correct%2Fdownload%2Fspdx-correct-3.1.1.tgz", + "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz?cache=0&sync_timestamp=1587422410312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-exceptions%2Fdownload%2Fspdx-exceptions-2.3.0.tgz", + "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz", + "integrity": "sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz", + "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + } + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz", + "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "ssf": { + "version": "0.10.3", + "resolved": "https://registry.npm.taobao.org/ssf/download/ssf-0.10.3.tgz", + "integrity": "sha1-jq4fwpyQpVLnkhII+BiS1vd6yys=", + "requires": { + "frac": "~1.1.2" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", + "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz", + "integrity": "sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg=", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz", + "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=", + "dev": true + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/stackframe/download/stackframe-1.2.0.tgz?cache=0&sync_timestamp=1590854148142&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstackframe%2Fdownload%2Fstackframe-1.2.0.tgz", + "integrity": "sha1-UkKUktY8YuuYmATBFVLj0i53kwM=", + "dev": true + }, + "staged-git-files": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/staged-git-files/download/staged-git-files-1.0.0.tgz", + "integrity": "sha1-zbhHg3wfzFLAioctSIPMCHdmioA=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1587328859420&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz?cache=0&sync_timestamp=1587041519870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-browserify%2Fdownload%2Fstream-browserify-2.0.2.tgz", + "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz", + "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz?cache=0&sync_timestamp=1588701035785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-http%2Fdownload%2Fstream-http-2.8.3.tgz", + "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz?cache=0&sync_timestamp=1576147145118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-shift%2Fdownload%2Fstream-shift-1.0.1.tgz", + "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=", + "dev": true + }, + "stream-to-observable": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/stream-to-observable/download/stream-to-observable-0.2.0.tgz", + "integrity": "sha1-WdbqOT2HwsDdrBCqDVYbxrpvDhA=", + "dev": true, + "requires": { + "any-observable": "^0.2.0" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.padend": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string.prototype.padend/download/string.prototype.padend-3.1.0.tgz?cache=0&sync_timestamp=1576312069927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.padend%2Fdownload%2Fstring.prototype.padend-3.1.0.tgz", + "integrity": "sha1-3Aj1eoAQ3FwVNVAxj2fhOtu3KsM=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "string.prototype.padstart": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string.prototype.padstart/download/string.prototype.padstart-3.1.0.tgz", + "integrity": "sha1-tHwIdUDQcQvlpJN1dRoKYnvU/5A=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "string.prototype.trim": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/string.prototype.trim/download/string.prototype.trim-1.2.1.tgz", + "integrity": "sha1-FBIz3/Msgr+tgGhNfl8Iae4Pt4I=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz?cache=0&sync_timestamp=1586465409341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.1.tgz", + "integrity": "sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz?cache=0&sync_timestamp=1586465413621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.1.tgz", + "integrity": "sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz", + "integrity": "sha1-cDBlrvyhkwDTzoivT1s5VtdVZik=", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "dependencies": { + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + } + } + }, + "stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npm.taobao.org/stringstream/download/stringstream-0.0.6.tgz", + "integrity": "sha1-eIAiWw1K0Q4wkn0Weh1vL9OzOnI=", + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz", + "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz?cache=0&sync_timestamp=1594567586410&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz", + "integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1572433264480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz", + "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "symbol-observable": { + "version": "0.2.4", + "resolved": "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-0.2.4.tgz", + "integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A=", + "dev": true + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npm.taobao.org/symbol-tree/download/symbol-tree-3.2.4.tgz", + "integrity": "sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I=", + "dev": true + }, + "table": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/table/download/table-4.0.2.tgz", + "integrity": "sha1-ozRHN1OR52atNNNIbm4q7chNLjY=", + "dev": true, + "requires": { + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true, + "requires": {} + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz?cache=0&sync_timestamp=1591599666712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz", + "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=", + "dev": true + }, + "tape": { + "version": "4.13.3", + "resolved": "https://registry.npm.taobao.org/tape/download/tape-4.13.3.tgz?cache=0&sync_timestamp=1590380169759&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftape%2Fdownload%2Ftape-4.13.3.tgz", + "integrity": "sha1-UbPZHINmjHpFsaWUtgfe4KC0Yng=", + "requires": { + "deep-equal": "~1.1.1", + "defined": "~1.0.0", + "dotignore": "~0.1.2", + "for-each": "~0.3.3", + "function-bind": "~1.1.1", + "glob": "~7.1.6", + "has": "~1.0.3", + "inherits": "~2.0.4", + "is-regex": "~1.0.5", + "minimist": "~1.2.5", + "object-inspect": "~1.7.0", + "resolve": "~1.17.0", + "resumer": "~0.0.0", + "string.prototype.trim": "~1.2.1", + "through": "~2.3.8" + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1593953635939&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.8.0.tgz", + "integrity": "sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc=", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719517036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", + "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.4", + "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.4.tgz?cache=0&sync_timestamp=1594910785474&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.4.tgz", + "integrity": "sha1-LGNUQ0cyS6r6mla6rd8WNMir/C8=", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^3.1.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/thenify/download/thenify-3.3.1.tgz", + "integrity": "sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8=", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npm.taobao.org/thread-loader/download/thread-loader-2.1.3.tgz", + "integrity": "sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo=", + "dev": true, + "requires": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz", + "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz?cache=0&sync_timestamp=1571043401546&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthunky%2Fdownload%2Fthunky-1.1.0.tgz", + "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz", + "integrity": "sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8=", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/tiny-emitter/download/tiny-emitter-2.1.0.tgz", + "integrity": "sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM=" + }, + "tinycolor2": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/tinycolor2/download/tinycolor2-1.4.1.tgz", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz?cache=0&sync_timestamp=1588178571895&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftmp%2Fdownload%2Ftmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz", + "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", + "dev": true + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftough-cookie%2Fdownload%2Ftough-cookie-2.5.0.tgz", + "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/tr46/download/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "tree-table-vue": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/tree-table-vue/download/tree-table-vue-1.1.0.tgz", + "integrity": "sha1-ETpL2dhPqmQ5csS4AoCanbZjDYk=", + "requires": { + "clonedeep": "^2.0.0", + "iview": "^3.1.5", + "vue": "^2.5.17" + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz", + "integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg=", + "dev": true + }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npm.taobao.org/tsconfig-paths/download/tsconfig-paths-3.9.0.tgz", + "integrity": "sha1-CYVHpsREiAfo/Ljq4IEGTumjyQs=", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.13.0.tgz", + "integrity": "sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM=", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1581365146868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npm.taobao.org/type-detect/download/type-detect-4.0.8.tgz", + "integrity": "sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw=", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz", + "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", + "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typo-js": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/typo-js/download/typo-js-1.1.0.tgz", + "integrity": "sha1-pan1kry0U2Zr9wyWlNpYcF0CXtg=" + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz?cache=0&sync_timestamp=1592744803278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/uglifyjs-webpack-plugin/download/uglifyjs-webpack-plugin-1.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglifyjs-webpack-plugin%2Fdownload%2Fuglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha1-dfVIFghYFjoIZD4IbV/v4YpdZ94=", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "dependencies": { + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-10.0.4.tgz?cache=0&sync_timestamp=1594429684526&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-10.0.4.tgz", + "integrity": "sha1-ZFI2eZnv+dQYiu/ZoU6dfGomNGA=", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.13.0.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.13.0.tgz", + "integrity": "sha1-aWS8pnaF33wfFDDFhPB9dZeIW5w=", + "dev": true + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz?cache=0&sync_timestamp=1587567875186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz", + "integrity": "sha1-NEKlCPr8KFAEhv7qmUCWduTuWm8=", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz", + "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz", + "integrity": "sha1-z8IArvd7YAxH2pu4FJyUPnmML9s=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-5.3.0.tgz", + "integrity": "sha1-ujhyycbTOgcEp9cf8EXl7EiZnQY=", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npm.taobao.org/uglify-es/download/uglify-es-3.3.9.tgz", + "integrity": "sha1-DBxPBwC+2NvBJM2zBNJZLKID5nc=", + "dev": true, + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-match-property-value-ecmascript%2Fdownload%2Funicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz?cache=0&sync_timestamp=1583945805856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz", + "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz", + "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz", + "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1583531006552&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz", + "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case%2Fdownload%2Fupper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz", + "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/url-loader/download/url-loader-1.1.2.tgz", + "integrity": "sha1-uXHRkbg69pPF4/6kBkvp4fLX+Ng=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npm.taobao.org/url-parse/download/url-parse-1.4.7.tgz", + "integrity": "sha1-qKg1NejACjFuQDpdtKwbm4U64ng=", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz", + "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz?cache=0&sync_timestamp=1588238457176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.11.1.tgz", + "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.1.tgz", + "integrity": "sha1-a693dLgO6w91INi4HQeYKlmruu4=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", + "dev": true + }, + "v-click-outside-x": { + "version": "3.7.1", + "resolved": "https://registry.npm.taobao.org/v-click-outside-x/download/v-click-outside-x-3.7.1.tgz?cache=0&sync_timestamp=1579043108278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv-click-outside-x%2Fdownload%2Fv-click-outside-x-3.7.1.tgz", + "integrity": "sha1-qgPqoOQeRMtSB9z4bC2fDdZAhME=" + }, + "v-org-tree": { + "version": "1.0.12", + "resolved": "https://registry.npm.taobao.org/v-org-tree/download/v-org-tree-1.0.12.tgz", + "integrity": "sha1-Vmsu8dO4jI+tTO4zZaa0v+rjtI0=", + "requires": { + "clonedeep": "^2.0.0" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz?cache=0&sync_timestamp=1579857147055&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvendors%2Fdownload%2Fvendors-1.0.4.tgz", + "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=", + "dev": true + }, + "venn.js": { + "version": "0.2.20", + "resolved": "https://registry.npm.taobao.org/venn.js/download/venn.js-0.2.20.tgz", + "integrity": "sha1-Pw5QzHXLofWGkqijL2e9eq8apvo=", + "requires": { + "d3-selection": "^1.0.2", + "d3-transition": "^1.0.1", + "fmin": "0.0.2" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "view-design": { + "version": "4.3.2", + "resolved": "https://registry.npm.taobao.org/view-design/download/view-design-4.3.2.tgz", + "integrity": "sha1-bwgcZzt3QgObs4o6UZOO+rtg0KI=", + "requires": { + "async-validator": "^3.3.0", + "deepmerge": "^2.2.1", + "element-resize-detector": "^1.2.0", + "js-calendar": "^1.2.3", + "lodash.throttle": "^4.1.1", + "popper.js": "^1.14.6", + "tinycolor2": "^1.4.1", + "v-click-outside-x": "^3.7.1" + }, + "dependencies": { + "async-validator": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-3.3.0.tgz", + "integrity": "sha1-HZIZO75g1tbIskZpLHAF6e0UqO4=" + } + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1572870776965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz", + "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=", + "dev": true + }, + "vue": { + "version": "2.6.11", + "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.11.tgz", + "integrity": "sha1-dllNh31LEiNEBuhONSdcbVFBJcU=" + }, + "vue-data-loading": { + "version": "0.2.4", + "resolved": "https://registry.npm.taobao.org/vue-data-loading/download/vue-data-loading-0.2.4.tgz", + "integrity": "sha1-kftt9j7aXGXTrzM2foYqnh/Bhu8=", + "requires": { + "vue": "^2.0.0" + } + }, + "vue-enum": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/vue-enum/download/vue-enum-1.0.5.tgz", + "integrity": "sha1-cQfD4tfXnp1HKLsWzvS83TTBziM=" + }, + "vue-eslint-parser": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-2.0.3.tgz?cache=0&sync_timestamp=1589539313907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-2.0.3.tgz", + "integrity": "sha1-wmjJbG2Uz+PZOKX3WTlZsMozYNE=", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.2", + "esquery": "^1.0.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-3.7.3.tgz", + "integrity": "sha1-u1ByANPRf2AkdjYWC0gmKEsQhTU=", + "dev": true, + "optional": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + } + } + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-hot-reload-api%2Fdownload%2Fvue-hot-reload-api-2.3.4.tgz", + "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", + "dev": true + }, + "vue-i18n": { + "version": "7.8.1", + "resolved": "https://registry.npm.taobao.org/vue-i18n/download/vue-i18n-7.8.1.tgz", + "integrity": "sha1-LOS2795nmh4F3bXZB7/BvCGIA7I=" + }, + "vue-infinite-loading": { + "version": "2.4.5", + "resolved": "https://registry.npm.taobao.org/vue-infinite-loading/download/vue-infinite-loading-2.4.5.tgz", + "integrity": "sha1-zCD9QK9/IBiABkQ8mbYEcM8d4bM=", + "requires": {} + }, + "vue-json-viewer": { + "version": "2.2.12", + "resolved": "https://registry.npm.taobao.org/vue-json-viewer/download/vue-json-viewer-2.2.12.tgz", + "integrity": "sha1-9y94pAIOa+QqQwAOCdIEf2iWJlY=", + "requires": { + "clipboard": "^2.0.4", + "vue": "^2.6.9" + } + }, + "vue-json-views": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/vue-json-views/download/vue-json-views-0.1.1.tgz", + "integrity": "sha1-8YAXKr4EvK9Cag9DoBkk4EJuvPw=", + "requires": { + "vue": "^2.5.11", + "vue-json-views": "^0.0.2" + }, + "dependencies": { + "vue-json-views": { + "version": "0.0.2", + "resolved": "https://registry.npm.taobao.org/vue-json-views/download/vue-json-views-0.0.2.tgz", + "integrity": "sha1-xadQA6glOnXDN81xftikVMMCXx0=", + "requires": { + "vue": "^2.5.11" + } + } + } + }, + "vue-loader": { + "version": "15.9.3", + "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.9.3.tgz?cache=0&sync_timestamp=1593355754768&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-15.9.3.tgz", + "integrity": "sha1-DeNdnlVdPtU5aVFsrFziVTEpndo=", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + } + }, + "vue-router": { + "version": "3.3.4", + "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.3.4.tgz?cache=0&sync_timestamp=1594111718735&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.3.4.tgz", + "integrity": "sha1-Tjirw0oRxBtsPYJERJouNjumJQs=" + }, + "vue-slick": { + "version": "1.1.15", + "resolved": "https://registry.npm.taobao.org/vue-slick/download/vue-slick-1.1.15.tgz", + "integrity": "sha1-KRYTRTH9H5Y4VI8roVJuTxEDJYg=", + "requires": { + "slick-carousel": "^1.6.0" + } + }, + "vue-style-loader": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.2.tgz", + "integrity": "sha1-3t80mAbyXOtOZPOtfApE+6c1/Pg=", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "vue-template-compiler": { + "version": "2.6.11", + "resolved": "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.11.tgz", + "integrity": "sha1-wEcE749JixUxMAGJk+VjCdRpgIA=", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=", + "dev": true + }, + "vuedraggable": { + "version": "2.24.0", + "resolved": "https://registry.npm.taobao.org/vuedraggable/download/vuedraggable-2.24.0.tgz?cache=0&sync_timestamp=1594052423588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvuedraggable%2Fdownload%2Fvuedraggable-2.24.0.tgz", + "integrity": "sha1-HuBp7rkfYfy1QPryDxxrLU2ZCiY=", + "requires": { + "sortablejs": "^1.10.1" + } + }, + "vuex": { + "version": "3.5.1", + "resolved": "https://registry.npm.taobao.org/vuex/download/vuex-3.5.1.tgz?cache=0&sync_timestamp=1593445037188&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvuex%2Fdownload%2Fvuex-3.5.1.tgz", + "integrity": "sha1-8bjc6mSbwlJUz09DWAgdv12hiz0=", + "requires": {} + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz?cache=0&sync_timestamp=1583455604765&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fw3c-hr-time%2Fdownload%2Fw3c-hr-time-1.0.2.tgz", + "integrity": "sha1-ConN9cwVgi35w2BUNnaWPgzDCM0=", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/w3c-xmlserializer/download/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha1-MEhcp9cKb9BSQgo9Ev2Q5jOc55Q=", + "dev": true, + "requires": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "wangeditor": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/wangeditor/download/wangeditor-3.1.1.tgz", + "integrity": "sha1-+9PB1JdpI8nt67hbKdMLNVEq0Dk=" + }, + "watchpack": { + "version": "1.7.2", + "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.2.tgz", + "integrity": "sha1-wC5NTUmRPD5+EiwzJTZa+dMx6ao=", + "dev": true, + "requires": { + "chokidar": "^3.4.0", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha1-mUihhmy71suCTeoTp+1pH2yN3/A=", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1593261363626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1594864731636&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1588787369955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz", + "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1584985910691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", + "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebidl-conversions%2Fdownload%2Fwebidl-conversions-4.0.2.tgz", + "integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=", + "dev": true + }, + "webpack": { + "version": "4.43.0", + "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.43.0.tgz?cache=0&sync_timestamp=1594294511041&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.43.0.tgz", + "integrity": "sha1-xIVHsR1WMiTFYdrRFyyKoLimeOY=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.1", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "3.8.0", + "resolved": "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.8.0.tgz", + "integrity": "sha1-zms/kI2vBp/R9yZvaSy7O97ZuhY=", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.15", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "dependencies": { + "acorn": { + "version": "7.3.1", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.3.1.tgz?cache=0&sync_timestamp=1591869432510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.3.1.tgz", + "integrity": "sha1-hQEHVNtTw/uvO56j4IOqXF0Uf/0=", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.2.0.tgz", + "integrity": "sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "webpack-chain": { + "version": "4.12.1", + "resolved": "https://registry.npm.taobao.org/webpack-chain/download/webpack-chain-4.12.1.tgz?cache=0&sync_timestamp=1593639477219&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-chain%2Fdownload%2Fwebpack-chain-4.12.1.tgz", + "integrity": "sha1-bIQ5u7KrVQlS1g4eqTGRQZBsAqY=", + "dev": true, + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^1.6.0" + }, + "dependencies": { + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz", + "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.2.tgz?cache=0&sync_timestamp=1594744804453&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.2.tgz", + "integrity": "sha1-ABnD23FuP6XOy/ZPKriKdLqzMfM=", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "3.11.0", + "resolved": "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.11.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-3.11.0.tgz", + "integrity": "sha1-jxVKO84bz9HMYY705wMniFXn/4w=", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.20", + "sockjs-client": "1.4.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1593261363626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1594864731636&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1588787369955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz", + "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz", + "integrity": "sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559696906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1584985910691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1594421046064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz", + "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1595125190020&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz", + "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.2.tgz?cache=0&sync_timestamp=1594294904067&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-merge%2Fdownload%2Fwebpack-merge-4.2.2.tgz", + "integrity": "sha1-onxS6ng9E5iv0gh/VH17nS9DY00=", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz", + "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.6.5.tgz?cache=0&sync_timestamp=1591289007652&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebsocket-driver%2Fdownload%2Fwebsocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "dev": true, + "requires": { + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz", + "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz", + "integrity": "sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA=", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78=", + "dev": true + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-7.1.0.tgz?cache=0&sync_timestamp=1588965133257&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-7.1.0.tgz", + "integrity": "sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY=", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1574116262707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "wolfy87-eventemitter": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/wolfy87-eventemitter/download/wolfy87-eventemitter-5.1.0.tgz", + "integrity": "sha1-NcGsDdGsDBXjXZgVCPwiCEoToBE=" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz", + "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/write/download/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz?cache=0&sync_timestamp=1593925420205&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.1.tgz", + "integrity": "sha1-RC/fCkftZPWbal2P8TD0dI7VJPs=", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xlsx": { + "version": "0.13.5", + "resolved": "https://registry.npm.taobao.org/xlsx/download/xlsx-0.13.5.tgz", + "integrity": "sha1-ZYJroZRMb01sAjt+tsiea24Ncbc=", + "requires": { + "adler-32": "~1.2.0", + "cfb": "~1.0.8", + "codepage": "~1.14.0", + "commander": "~2.15.1", + "crc-32": "~1.2.0", + "exit-on-epipe": "~1.0.1", + "ssf": "~0.10.2" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.15.1.tgz?cache=0&sync_timestamp=1595168173997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.15.1.tgz", + "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=" + } + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz", + "integrity": "sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo=", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/xmlchars/download/xmlchars-2.2.0.tgz", + "integrity": "sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs=", + "dev": true + }, + "xss": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/xss/download/xss-1.0.7.tgz?cache=0&sync_timestamp=1591583567013&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxss%2Fdownload%2Fxss-1.0.7.tgz", + "integrity": "sha1-pVTL1ekJMkvWiT+0f/9EGtVOKpU=", + "requires": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", + "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz", + "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms=", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz", + "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz?cache=0&sync_timestamp=1594421046064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-9.0.2.tgz?cache=0&sync_timestamp=1595125190020&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } + } + }, + "yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz", + "integrity": "sha1-kkEZEtQ1IU4SxRwq4Qk+VLa7g9k=", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz?cache=0&sync_timestamp=1594145237072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427569171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "zrender": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/zrender/download/zrender-4.3.1.tgz", + "integrity": "sha1-uviqbcgYei+BlpLX1fm+36K5D6M=" + } + } +} diff --git a/smart_admin_v1/smart-admin-web/package.json b/smart_admin_v1/smart-admin-web/package.json new file mode 100644 index 00000000..ee82b487 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/package.json @@ -0,0 +1,89 @@ +{ + "name": "smart-admin", + "version": "1.0.0", + "author": "1024创新实验室<1024lab@sina.com>", + "private": false, + "scripts": { + "dev": "vue-cli-service serve --open", + "local": "vue-cli-service serve --open --mode local", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint", + "test:unit": "vue-cli-service test:unit", + "test:e2e": "vue-cli-service test:e2e", + "development": "vue-cli-service build --mode development", + "sit": "vue-cli-service build --mode sit", + "prod": "vue-cli-service build --mode prod" + }, + "dependencies": { + "@antv/g2": "^3.5.8-beta.1", + "axios": "^0.18.0", + "clipboard": "^2.0.0", + "codemirror": "^5.38.0", + "countup": "^1.8.2", + "cropperjs": "^1.2.2", + "dayjs": "^1.7.7", + "decimal.js": "^10.1.1", + "core-js":"^2.0.0", + "e-guide-layer": "^0.1.1", + "echarts": "^4.0.4", + "gq-plus": "^2.1.5", + "html2canvas": "^1.0.0-alpha.12", + "jquery": "^2.2.3", + "js-cookie": "^2.2.0", + "lodash": "^4.17.15", + "mavon-editor": "^2.7.5", + "moment": "^2.24.0", + "simplemde": "^1.11.2", + "sortablejs": "^1.7.0", + "tree-table-vue": "^1.1.0", + "v-org-tree": "^1.0.6", + "view-design": "^4.0.2", + "vue": "^2.5.10", + "vue-data-loading": "^0.2.4", + "vue-enum": "1.0.5", + "vue-i18n": "^7.8.0", + "vue-infinite-loading": "^2.4.4", + "vue-json-viewer": "^2.2.0", + "vue-json-views": "^0.1.1", + "vue-router": "^3.1.3", + "vue-slick": "^1.1.15", + "vuedraggable": "^2.16.0", + "vuex": "^3.0.1", + "wangeditor": "^3.1.1", + "xlsx": "^0.13.3" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "^3.0.1", + "@vue/cli-plugin-eslint": "^3.0.1", + "@vue/cli-plugin-unit-mocha": "^3.0.1", + "@vue/cli-service": "^3.0.1", + "@vue/eslint-config-standard": "^3.0.0-beta.10", + "@vue/test-utils": "^1.0.0-beta.10", + "chai": "^4.1.2", + "compression-webpack-plugin": "^3.0.0", + "eslint-plugin-cypress": "^2.0.1", + "less": "^2.7.3", + "less-loader": "^4.0.5", + "lint-staged": "^6.0.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "vue-template-compiler": "^2.5.13" + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not ie <= 8" + ], + "gitHooks": { + "pre-commit": "lint-staged" + }, + "lint-staged": { + "*.js": [ + "vue-cli-service lint", + "git add" + ], + "*.vue": [ + "vue-cli-service lint", + "git add" + ] + } +} diff --git a/smart-admin-web/typescript-ant-design-vue3/public/favicon.ico b/smart_admin_v1/smart-admin-web/public/favicon.ico similarity index 100% rename from smart-admin-web/typescript-ant-design-vue3/public/favicon.ico rename to smart_admin_v1/smart-admin-web/public/favicon.ico diff --git a/smart_admin_v1/smart-admin-web/public/index.html b/smart_admin_v1/smart-admin-web/public/index.html new file mode 100644 index 00000000..97eb0895 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/public/index.html @@ -0,0 +1,19 @@ + + + + + + + + + + + +
+ + + + diff --git a/smart_admin_v1/smart-admin-web/src/App.vue b/smart_admin_v1/smart-admin-web/src/App.vue new file mode 100644 index 00000000..0d189502 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/App.vue @@ -0,0 +1,31 @@ + + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/api/data-scope.js b/smart_admin_v1/smart-admin-web/src/api/data-scope.js new file mode 100644 index 00000000..14799315 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/data-scope.js @@ -0,0 +1,15 @@ +import { postAxios, getAxios } from '@/lib/http'; +export const dataScopeApi = { + // 批量设置某角色数据范围 + updateDataScope: data => { + return postAxios('/dataScope/batchSet', data); + }, + // 数据权限列表 + getDataScopeList: () => { + return getAxios('/dataScope/list'); + }, + // 获取某角色所设置的数据范围 + getDataScopeByRoleId: roleId => { + return getAxios('/dataScope/listByRole/' + roleId); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/department.js b/smart_admin_v1/smart-admin-web/src/api/department.js new file mode 100644 index 00000000..2e4ebfa0 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/department.js @@ -0,0 +1,47 @@ +import { postAxios, getAxios } from '@/lib/http'; +export const departmentApi = { + // 加载所有的部门子部门 + getLoadDepartment: () => { + return getAxios('/department/list'); + }, + // 查询部门及员工列表 + getDepartmentEmployeeList: () => { + return getAxios('/department/listEmployee'); + }, + // 添加部门 + addDepartment: (data) => { + return postAxios('/department/add', data); + }, + // 编辑部门 + updateDepartment: (data) => { + return postAxios('/department/update', data); + }, + // 删除部门 + deleteDepartment: (data) => { + return postAxios('/department/delete/' + data); + }, + // 根据id获取部门信息 + getDepartmentById: (data) => { + return getAxios('/department/query/' + data); + }, + // 查询部门列表 + getDepartmentAll: () => { + return getAxios('/department/listAll'); + }, + // 根据部门名称获取员工列表 + getListEmployeeByDepartmentName: (departmentName) => { + return getAxios('/department/listEmployeeByDepartmentName?departmentName=' + departmentName); + }, + // 上下移动 + upOrDown: (departmentId, swapId) => { + return getAxios('/department/upOrDown/' + departmentId + '/' + swapId); + }, + // 升级 + upGrade: (departmentId) => { + return getAxios('/department/upgrade/' + departmentId); + }, + // 降级 + downGrade: (departmentId, preId) => { + return getAxios('/department/downgrade/' + departmentId + '/' + preId); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/email.js b/smart_admin_v1/smart-admin-web/src/api/email.js new file mode 100644 index 00000000..cb541021 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/email.js @@ -0,0 +1,27 @@ +import { postAxios, getAxios } from '@/lib/http'; +export const emailApi = { + // 新增邮件 + addEmail: (data) => { + return postAxios('/email/add', data); + }, + // 分页查询邮件 + getEmail: (data) => { + return postAxios('/email/page/query', data); + }, + // 删除邮件 + deleteEmail: (id) => { + return getAxios('/email/delete/' + id); + }, + // 查看邮件详情 + getEmailDetails: (id) => { + return getAxios('/email/detail/' + id); + }, + // 发送邮件 + sendEmail: (id) => { + return getAxios('/email/send/' + id); + }, + // 更新编辑邮件 + updateEmail: (data) => { + return postAxios('/email/update', data); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/employee.js b/smart_admin_v1/smart-admin-web/src/api/employee.js new file mode 100644 index 00000000..7f1d8001 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/employee.js @@ -0,0 +1,43 @@ +import { postAxios, getAxios } from '@/lib/http'; +export const employeeApi = { + // 员工管理查询 + getEmployeeList: (data) => { + return postAxios('/employee/query', data); + }, + // 添加员工 + addEmployee: (data) => { + return postAxios('/employee/add', data); + }, + // 更新员工信息 + updateEmployee: (data) => { + return postAxios('/employee/update', data); + }, + // 禁用启用单个员工 + updateStatus: (employeeId, status) => { + return getAxios('/employee/updateStatus/' + employeeId + '/' + status); + }, + // 批量禁用 + updateStatusBatch: (data) => { + return postAxios('/employee/batchUpdateStatus', data); + }, + // 单个员工角色授权 + updateRoles: (data) => { + return postAxios('/employee/updateRoles', data); + }, + // 修改密码 + updatePwd: (data) => { + return postAxios('/employee/updatePwd', data); + }, + // 重置密码 + resetPassword: (employeeId) => { + return getAxios('/employee/resetPasswd/' + employeeId); + }, + // 通过部门id获取当前部门的人员&没有部门的人 + getListEmployeeByDeptId: (departmentId) => { + return getAxios('/employee/listEmployeeByDeptId/' + departmentId); + }, + // 删除员工 + deleteEmployee: (employeeId) => { + return postAxios('/employee/delete/' + employeeId); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/file.js b/smart_admin_v1/smart-admin-web/src/api/file.js new file mode 100644 index 00000000..e8f80248 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/file.js @@ -0,0 +1,28 @@ +import { postAxios, getAxios, getDownloadAxios} from '@/lib/http'; +import config from '@/config'; +const baseUrl = config.baseUrl.apiUrl; +export const fileApi = { + // 系统文件查询 + queryFileList: data => { + return postAxios('/api/file/query', data); + }, + // 系统文件下载通过接口 + downLoadFile: id => { + return getDownloadAxios('/api/file/downLoad?id=' + id); + }, + // 文件上传 + fileUpload: (type, data) => { + // return postAxios('/api/file/localUpload/' + type, data); + return this.fileUploadUrl; + }, + // 文件保存 + addFile: data => { + return postAxios('/api/file/save', data); + }, + // 上传路径:本地 + fileUploadLocalUrl: baseUrl + '/api/file/localUpload/', + // 上传路径:阿里OSS + fileUploadAliUrl: baseUrl + '/api/file/aliYunUpload/', + // 上传路径:七牛 + fileUploadQiNiuUrl: baseUrl + '/api/file/qiNiuUpload/' +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/heart-beat.js b/smart_admin_v1/smart-admin-web/src/api/heart-beat.js new file mode 100644 index 00000000..c5ec2486 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/heart-beat.js @@ -0,0 +1,7 @@ +import { postAxios, getAxios } from '@/lib/http'; +export const heartBeatApi = { + // 分页查询所有岗位 + queryHeartBeatRecord: data => { + return postAxios('/heartBeat/query', data); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/login.js b/smart_admin_v1/smart-admin-web/src/api/login.js new file mode 100644 index 00000000..83338d56 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/login.js @@ -0,0 +1,19 @@ +import { postAxios, getAxios } from '@/lib/http'; +export const loginApi = { + // 登录 + login: data => { + return postAxios('/session/login', data); + }, + // 根据token获取session + getSession: () => { + return getAxios('/session/get'); + }, + // 登出 + logout: (token) => { + return getAxios(`/session/logOut?x-access-token=${token}`); + }, + // 获取验证码 + getVerificationCode: () => { + return getAxios('/session/verificationCode'); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/notice.js b/smart_admin_v1/smart-admin-web/src/api/notice.js new file mode 100644 index 00000000..fad6ad83 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/notice.js @@ -0,0 +1,43 @@ +// 任务调度API +import { + postAxios, + getAxios +} from '@/lib/http'; +export const noticeApi = { + // 查询消息列表 + getNoticeList: (data) => { + return postAxios('/notice/page/query', data); + }, + // 未读消息列表 + getNoticeUnreadList: (data) => { + return postAxios('/notice/unread/page/query', data); + }, + // 查询个人消息列表 + getPersonNoticeList: (data) => { + return postAxios('/notice/receive/page/query', data); + }, + // 添加消息 + addNotice: (data) => { + return postAxios('/notice/add', data); + }, + // 标记已读 + addNoticeRecord: (id) => { + return getAxios(`/notice/read/${id}`); + }, + // 修改消息 + updateNotice: (data) => { + return postAxios('/notice/update', data); + }, + // 删除消息 + deleteNotice: (id) => { + return getAxios(`/notice/delete/${id}`); + }, + // 获取通知详情 + getNoticeDetail: (id) => { + return getAxios(`/notice/detail/${id}`); + }, + // 发送消息 + sendNotice: (id) => { + return getAxios(`/notice/send/${id}`); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/online-user.js b/smart_admin_v1/smart-admin-web/src/api/online-user.js new file mode 100644 index 00000000..b7847b9b --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/online-user.js @@ -0,0 +1,12 @@ +// 任务调度API +import { + postAxios, + getAxios +} from '@/lib/http'; +export const onlineUserApi = { + // 查询在线员工列表 + getOnlineUserList: (data) => { + return postAxios('/userOnLine/query', data); + } + +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/peony.js b/smart_admin_v1/smart-admin-web/src/api/peony.js new file mode 100644 index 00000000..0c41d54f --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/peony.js @@ -0,0 +1,28 @@ +import { postAxios, getAxios, postDownloadAxios } from '@/lib/http'; + +export const peonyApi = { + // 添加牡丹花 @author 卓大 + addPeony: (data) => { + return postAxios('/peony/add', data); + }, + // 分页查询牡丹花 @author 卓大 + queryPeony: (data) => { + return postAxios('/peony/page/query', data); + }, + // 批量删除牡丹花 @author 卓大 + batchDeletePeony: (idList) => { + return postAxios('/peony/deleteByIds', idList); + }, + // 修改牡丹花 @author 卓大 + updatePeony: (data) => { + return postAxios('/peony/update',data); + }, + // 导出全部 @author 卓大 + exportAll:(data)=>{ + return postDownloadAxios('/peony/export/all',data); + }, + // 批量导出 @author 卓大 + batchExport: (idList) => { + return postDownloadAxios('/peony/export/batch', idList); + }, +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/position.js b/smart_admin_v1/smart-admin-web/src/api/position.js new file mode 100644 index 00000000..3756c457 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/position.js @@ -0,0 +1,19 @@ +import { postAxios, getAxios } from '@/lib/http'; +export const positionApi = { + // 分页查询所有岗位 + getPositionListPage: data => { + return postAxios('/position/getListPage', data); + }, + // 更新岗位 + updatePosition: data => { + return postAxios('/position/update', data); + }, + // 添加岗位 + addPosition: data => { + return postAxios('/position/add', data); + }, + // 根据ID删除岗位 + deletePosition: id => { + return getAxios('/position/remove/' + id); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/privilege.js b/smart_admin_v1/smart-admin-web/src/api/privilege.js new file mode 100644 index 00000000..3530544c --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/privilege.js @@ -0,0 +1,36 @@ +import { postAxios, getAxios } from '@/lib/http'; + +export const privilegeApi = { + // 获取所有请求路径 + getAllUrl: data => { + return getAxios('/privilege/getAllUrl'); + }, + // 获取全部菜单列表 + getMenuList: data => { + return postAxios('/privilege/menu/queryAll'); + }, + // 菜单批量保存 + addBatchSaveMenu: data => { + return postAxios('/privilege/menu/batchSaveMenu', data); + }, + // 功能点批量保存 + addBatchSavePoints: data => { + return postAxios('/privilege/function/batchSave', data); + }, + // 查询菜单功能点 + queryPrivilegeFunctionList: menuKey => { + return postAxios('/privilege/function/query/' + menuKey); + }, + // 保存更新功能点 + addOrUpdate: data => { + return postAxios('/privilege/function/saveOrUpdate', data); + }, + // 更新角色权限 + getRolePower: data => { + return postAxios('/privilege/updateRolePrivilege', data); + }, + // 获取角色可选的功能权限 + getListPrivilegeByRoleId: id => { + return getAxios('/privilege/listPrivilegeByRoleId/' + id); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/role.js b/smart_admin_v1/smart-admin-web/src/api/role.js new file mode 100644 index 00000000..be5f338a --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/role.js @@ -0,0 +1,58 @@ +import { postAxios, getAxios } from '@/lib/http'; +export const roleApi = { + // 添加角色 + addRole: (remark, roleName) => { + const data = { + remark: remark, + roleName: roleName + }; + return postAxios('/role/add', data); + }, + // 删除角色 + deleteRole: id => { + return getAxios('/role/delete/' + id); + }, + // 修改角色 + updateRole: (id, remark, roleName) => { + const data = { + id: id, + remark: remark, + roleName: roleName + }; + return postAxios('/role/update', data); + }, + // 获取角色数据 + getRoleDetail: id => { + return getAxios('/role/get/' + id); + }, + // 加载角色列表 + getAllRole: () => { + return getAxios('role/getAll'); + }, + // 根据角色名字获取对应成员列表 + getListEmployee: data => { + return postAxios('/role/listEmployee', data); + }, + // 根据角色id获取角色成员-员工列表 + getAllListEmployee: id => { + return getAxios('/role/listAllEmployee/' + id); + }, + // 从角色成员列表中移除员工 + deleteEmployeeRole: param => { + return getAxios('/role/removeEmployee?employeeId=' + param.employeeId + '&roleId=' + param.roleId); + }, + // 从角色成员列表中批量移除员工 + deleteEmployeeList: data => { + return postAxios('/role/removeEmployeeList', data); + }, + + // 添加角色成员方法 + addEmployeeListRole: data => { + return postAxios('/role/addEmployeeList', data); + }, + // 通过员工id获取所有角色以及员工具有的角色 + getRoles: id => { + return getAxios('/role/getRoles/' + id); + }, + +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/smart-reload.js b/smart_admin_v1/smart-admin-web/src/api/smart-reload.js new file mode 100644 index 00000000..8ee701ed --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/smart-reload.js @@ -0,0 +1,20 @@ +// smartReloadAPI +import { + postAxios, + getAxios +} from '@/lib/http'; +export const smartReloadApi = { + // 查询所有 + getSmartReloadList: () => { + return getAxios('/smartReload/all'); + }, + // 更新单条数据 + updateSmartReloadData: (data) => { + return postAxios('/smartReload/update', data); + }, + // 获取执行结果 + getSmartReloadResult: (tag) => { + return getAxios(`/smartReload/result/${tag}`); + } + +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/system-config.js b/smart_admin_v1/smart-admin-web/src/api/system-config.js new file mode 100644 index 00000000..392dd942 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/system-config.js @@ -0,0 +1,31 @@ +// 系统参数API +import { + postAxios, + getAxios +} from '@/lib/http'; +export const systemConfigApi = { + // 查询系统参数列表 + getSystemConfigList: (data) => { + return postAxios('/systemConfig/getListPage', data); + }, + // 添加系统参数 + addSystemConfig: (data) => { + return postAxios('/systemConfig/add', data); + }, + // 更新单条系统参数 + updateSystemConfig: (data) => { + return postAxios('/systemConfig/update', data); + }, + // 通过key获取对应的信息 + getConfigListByKey: (key) => { + return getAxios(`/systemConfig/selectByKey?configKey=${key}`); + }, + // 根据分组查询所有系统配置 + getListByGroup: (group) => { + return getAxios(`/systemConfig/getListByGroup?group=${group}`); + }, + // 获取系统版本信息 + getCodeVersion: () => { + return getAxios('/codeVersion'); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/task-manage.js b/smart_admin_v1/smart-admin-web/src/api/task-manage.js new file mode 100644 index 00000000..7e787862 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/task-manage.js @@ -0,0 +1,35 @@ +// 任务调度API +import { + postAxios, + getAxios +} from '@/lib/http'; +export const taskApi = { + // 查询任务列表 + getTaskList: (data) => { + return postAxios('/quartz/task/query', data); + }, + // 添加或更新任务 + addOrUpdateTask: (data) => { + return postAxios('/quartz/task/saveOrUpdate', data); + }, + // 查询任务日志 + getTaskLog: (data) => { + return postAxios('/quartz/task/queryLog', data); + }, + // 暂停任务 + updateTaskPause: (taskId) => { + return getAxios(`/quartz/task/pause/${taskId}`); + }, + // 运行任务 + updateTaskRun: (taskId) => { + return getAxios(`/quartz/task/run/${taskId}`); + }, + // 恢复任务 + updateTaskResume: (taskId) => { + return getAxios(`/quartz/task/resume/${taskId}`); + }, + // 删除任务 + deleteTask: (taskId) => { + return getAxios(`/quartz/task/delete/${taskId}`); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/user-log.js b/smart_admin_v1/smart-admin-web/src/api/user-log.js new file mode 100644 index 00000000..eb3a3ad9 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/user-log.js @@ -0,0 +1,28 @@ +// 用户日志API +import { + postAxios, + getAxios +} from '@/lib/http.js'; +export const userLogApi = { + // 查询用户操作日志 + getUserOperateLogPage: (data) => { + return postAxios('/userOperateLog/page/query', data); + }, + // 用户操作日志详情 + detailUserOperateLog: (data) => { + return getAxios('/userOperateLog/detail/' + data); + }, + // 删除用户操作日志 + deleteUserOperateLog: (data) => { + return getAxios('/userOperateLog/delete/' + data); + }, + // 查询用户登录日志 + getUserLoginLogPage: (data) => { + return postAxios('/userLoginLog/page/query', data); + }, + // 删除用户登录日志 + deleteUserLoginLog: (data) => { + return getAxios('/userLoginLog/delete/' + data); + } + +}; diff --git a/smart_admin_v1/smart-admin-web/src/api/user.js b/smart_admin_v1/smart-admin-web/src/api/user.js new file mode 100644 index 00000000..8ac0a2a1 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/api/user.js @@ -0,0 +1,20 @@ +import { postAxios, getAxios } from '@/lib/http'; + +export const login = ({ userName, password }) => { + const data = { + userName, + password + }; + return postAxios('login', data); +}; + +export const getUserInfo = (token) => { + let params = { + token + }; + return getAxios('get_info', params); +}; + +export const logout = (token) => { + return postAxios('logout', {}); +}; diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/demo.css b/smart_admin_v1/smart-admin-web/src/assets/icons/demo.css new file mode 100644 index 00000000..a67054a0 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/icons/demo.css @@ -0,0 +1,539 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown>p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/demo_index.html b/smart_admin_v1/smart-admin-web/src/assets/icons/demo_index.html new file mode 100644 index 00000000..2c777b68 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/icons/demo_index.html @@ -0,0 +1,722 @@ + + + + + IconFont Demo + + + + + + + + + + + +
+

+ +
+
+
    + +
  • + +
    多级菜单
    +
    &#xe608;
    +
  • + +
  • + +
    导航展开
    +
    &#xe609;
    +
  • + +
  • + +
    导航折叠
    +
    &#xe60a;
    +
  • + +
  • + +
    向上箭头
    +
    &#xe60b;
    +
  • + +
  • + +
    向左箭头
    +
    &#xe60c;
    +
  • + +
  • + +
    向右箭头
    +
    &#xe60d;
    +
  • + +
  • + +
    关闭按钮
    +
    &#xe60e;
    +
  • + +
  • + +
    数据上传
    +
    &#xe60f;
    +
  • + +
  • + +
    系统监控
    +
    &#xe610;
    +
  • + +
  • + +
    邮件管理
    +
    &#xe611;
    +
  • + +
  • + +
    小屏
    +
    &#xe612;
    +
  • + +
  • + +
    人员管理
    +
    &#xe613;
    +
  • + +
  • + +
    向下拉
    +
    &#xe614;
    +
  • + +
  • + +
    excel导入导出
    +
    &#xe615;
    +
  • + +
  • + +
    向下箭头
    +
    &#xe616;
    +
  • + +
  • + +
    首页
    +
    &#xe617;
    +
  • + +
  • + +
    系统设置
    +
    &#xe618;
    +
  • + +
  • + +
    消息
    +
    &#xe619;
    +
  • + +
  • + +
    全屏
    +
    &#xe61a;
    +
  • + +
  • + +
    组件
    +
    &#xe61b;
    +
  • + +
  • + +
    news
    +
    &#xe61e;
    +
  • + +
  • + +
    定时任务
    +
    &#xe622;
    +
  • + +
  • + +
    动态加载
    +
    &#xe623;
    +
  • + +
  • + +
    接口文档
    +
    &#xe624;
    +
  • + +
+
+

Unicode 引用

+
+ +

Unicode 是字体在网页端最原始的应用方式,特点是:

+
    +
  • 兼容性最好,支持 IE6+,及所有现代浏览器。
  • +
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • +
  • 但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。
  • +
+
+

注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用,如果有需求建议使用symbol 的引用方式

+
+

Unicode 使用步骤如下:

+

第一步:拷贝项目下面生成的 @font-face

+
@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.eot');
+  src: url('iconfont.eot?#iefix') format('embedded-opentype'),
+      url('iconfont.woff2') format('woff2'),
+      url('iconfont.woff') format('woff'),
+      url('iconfont.ttf') format('truetype'),
+      url('iconfont.svg#iconfont') format('svg');
+}
+
+

第二步:定义使用 iconfont 的样式

+
.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+

第三步:挑选相应图标并获取字体编码,应用于页面

+
+<span class="iconfont">&#x33;</span>
+
+
+

"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    + 多级菜单 +
    +
    .iconduojicaidan +
    +
  • + +
  • + +
    + 导航展开 +
    +
    .icondaohangzhankai +
    +
  • + +
  • + +
    + 导航折叠 +
    +
    .icondaohangzhedie +
    +
  • + +
  • + +
    + 向上箭头 +
    +
    .iconxiangshangjiantou +
    +
  • + +
  • + +
    + 向左箭头 +
    +
    .iconxiangzuojiantou +
    +
  • + +
  • + +
    + 向右箭头 +
    +
    .iconxiangyoujiantou +
    +
  • + +
  • + +
    + 关闭按钮 +
    +
    .iconguanbianniu +
    +
  • + +
  • + +
    + 数据上传 +
    +
    .iconshujushangchuan +
    +
  • + +
  • + +
    + 系统监控 +
    +
    .iconxitongjiankong +
    +
  • + +
  • + +
    + 邮件管理 +
    +
    .iconyoujianguanli +
    +
  • + +
  • + +
    + 小屏 +
    +
    .iconxiaoping +
    +
  • + +
  • + +
    + 人员管理 +
    +
    .iconrenyuanguanli +
    +
  • + +
  • + +
    + 向下拉 +
    +
    .iconxiangxiala +
    +
  • + +
  • + +
    + excel导入导出 +
    +
    .iconexceldaorudaochu +
    +
  • + +
  • + +
    + 向下箭头 +
    +
    .iconxiangxiajiantou +
    +
  • + +
  • + +
    + 首页 +
    +
    .iconshouye +
    +
  • + +
  • + +
    + 系统设置 +
    +
    .iconxitongshezhi +
    +
  • + +
  • + +
    + 消息 +
    +
    .iconxiaoxi +
    +
  • + +
  • + +
    + 全屏 +
    +
    .iconquanping +
    +
  • + +
  • + +
    + 组件 +
    +
    .iconzujian +
    +
  • + +
  • + +
    + news +
    +
    .iconnews +
    +
  • + +
  • + +
    + 定时任务 +
    +
    .icondingshirenwu +
    +
  • + +
  • + +
    + 动态加载 +
    +
    .icondongtaijiazai +
    +
  • + +
  • + +
    + 接口文档 +
    +
    .iconjiekouwendang +
    +
  • + +
+
+

font-class 引用

+
+ +

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

+

与 Unicode 使用方式相比,具有如下特点:

+
    +
  • 兼容性良好,支持 IE8+,及所有现代浏览器。
  • +
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • +
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • +
  • 不过因为本质上还是使用的字体,所以多色图标还是不支持的。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 fontclass 代码:

+
<link rel="stylesheet" href="./iconfont.css">
+
+

第二步:挑选相应图标并获取类名,应用于页面:

+
<span class="iconfont iconxxx"></span>
+
+
+

" + iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    多级菜单
    +
    #iconduojicaidan
    +
  • + +
  • + +
    导航展开
    +
    #icondaohangzhankai
    +
  • + +
  • + +
    导航折叠
    +
    #icondaohangzhedie
    +
  • + +
  • + +
    向上箭头
    +
    #iconxiangshangjiantou
    +
  • + +
  • + +
    向左箭头
    +
    #iconxiangzuojiantou
    +
  • + +
  • + +
    向右箭头
    +
    #iconxiangyoujiantou
    +
  • + +
  • + +
    关闭按钮
    +
    #iconguanbianniu
    +
  • + +
  • + +
    数据上传
    +
    #iconshujushangchuan
    +
  • + +
  • + +
    系统监控
    +
    #iconxitongjiankong
    +
  • + +
  • + +
    邮件管理
    +
    #iconyoujianguanli
    +
  • + +
  • + +
    小屏
    +
    #iconxiaoping
    +
  • + +
  • + +
    人员管理
    +
    #iconrenyuanguanli
    +
  • + +
  • + +
    向下拉
    +
    #iconxiangxiala
    +
  • + +
  • + +
    excel导入导出
    +
    #iconexceldaorudaochu
    +
  • + +
  • + +
    向下箭头
    +
    #iconxiangxiajiantou
    +
  • + +
  • + +
    首页
    +
    #iconshouye
    +
  • + +
  • + +
    系统设置
    +
    #iconxitongshezhi
    +
  • + +
  • + +
    消息
    +
    #iconxiaoxi
    +
  • + +
  • + +
    全屏
    +
    #iconquanping
    +
  • + +
  • + +
    组件
    +
    #iconzujian
    +
  • + +
  • + +
    news
    +
    #iconnews
    +
  • + +
  • + +
    定时任务
    +
    #icondingshirenwu
    +
  • + +
  • + +
    动态加载
    +
    #icondongtaijiazai
    +
  • + +
  • + +
    接口文档
    +
    #iconjiekouwendang
    +
  • + +
+
+

Symbol 引用

+
+ +

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

+
    +
  • 支持多色图标了,不再受单色限制。
  • +
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • +
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • +
  • 浏览器渲染 SVG 的性能一般,还不如 png。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 symbol 代码:

+
<script src="./iconfont.js"></script>
+
+

第二步:加入通用 CSS 代码(引入一次就行):

+
<style>
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+</style>
+
+

第三步:挑选相应图标并获取类名,应用于页面:

+
<svg class="icon" aria-hidden="true">
+  <use xlink:href="#icon-xxx"></use>
+</svg>
+
+
+
+ +
+
+ + + diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/demo.css b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/demo.css new file mode 100644 index 00000000..a67054a0 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/demo.css @@ -0,0 +1,539 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown>p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/demo_index.html b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/demo_index.html new file mode 100644 index 00000000..2c777b68 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/demo_index.html @@ -0,0 +1,722 @@ + + + + + IconFont Demo + + + + + + + + + + + +
+

+ +
+
+
    + +
  • + +
    多级菜单
    +
    &#xe608;
    +
  • + +
  • + +
    导航展开
    +
    &#xe609;
    +
  • + +
  • + +
    导航折叠
    +
    &#xe60a;
    +
  • + +
  • + +
    向上箭头
    +
    &#xe60b;
    +
  • + +
  • + +
    向左箭头
    +
    &#xe60c;
    +
  • + +
  • + +
    向右箭头
    +
    &#xe60d;
    +
  • + +
  • + +
    关闭按钮
    +
    &#xe60e;
    +
  • + +
  • + +
    数据上传
    +
    &#xe60f;
    +
  • + +
  • + +
    系统监控
    +
    &#xe610;
    +
  • + +
  • + +
    邮件管理
    +
    &#xe611;
    +
  • + +
  • + +
    小屏
    +
    &#xe612;
    +
  • + +
  • + +
    人员管理
    +
    &#xe613;
    +
  • + +
  • + +
    向下拉
    +
    &#xe614;
    +
  • + +
  • + +
    excel导入导出
    +
    &#xe615;
    +
  • + +
  • + +
    向下箭头
    +
    &#xe616;
    +
  • + +
  • + +
    首页
    +
    &#xe617;
    +
  • + +
  • + +
    系统设置
    +
    &#xe618;
    +
  • + +
  • + +
    消息
    +
    &#xe619;
    +
  • + +
  • + +
    全屏
    +
    &#xe61a;
    +
  • + +
  • + +
    组件
    +
    &#xe61b;
    +
  • + +
  • + +
    news
    +
    &#xe61e;
    +
  • + +
  • + +
    定时任务
    +
    &#xe622;
    +
  • + +
  • + +
    动态加载
    +
    &#xe623;
    +
  • + +
  • + +
    接口文档
    +
    &#xe624;
    +
  • + +
+
+

Unicode 引用

+
+ +

Unicode 是字体在网页端最原始的应用方式,特点是:

+
    +
  • 兼容性最好,支持 IE6+,及所有现代浏览器。
  • +
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • +
  • 但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。
  • +
+
+

注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用,如果有需求建议使用symbol 的引用方式

+
+

Unicode 使用步骤如下:

+

第一步:拷贝项目下面生成的 @font-face

+
@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.eot');
+  src: url('iconfont.eot?#iefix') format('embedded-opentype'),
+      url('iconfont.woff2') format('woff2'),
+      url('iconfont.woff') format('woff'),
+      url('iconfont.ttf') format('truetype'),
+      url('iconfont.svg#iconfont') format('svg');
+}
+
+

第二步:定义使用 iconfont 的样式

+
.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+

第三步:挑选相应图标并获取字体编码,应用于页面

+
+<span class="iconfont">&#x33;</span>
+
+
+

"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    + 多级菜单 +
    +
    .iconduojicaidan +
    +
  • + +
  • + +
    + 导航展开 +
    +
    .icondaohangzhankai +
    +
  • + +
  • + +
    + 导航折叠 +
    +
    .icondaohangzhedie +
    +
  • + +
  • + +
    + 向上箭头 +
    +
    .iconxiangshangjiantou +
    +
  • + +
  • + +
    + 向左箭头 +
    +
    .iconxiangzuojiantou +
    +
  • + +
  • + +
    + 向右箭头 +
    +
    .iconxiangyoujiantou +
    +
  • + +
  • + +
    + 关闭按钮 +
    +
    .iconguanbianniu +
    +
  • + +
  • + +
    + 数据上传 +
    +
    .iconshujushangchuan +
    +
  • + +
  • + +
    + 系统监控 +
    +
    .iconxitongjiankong +
    +
  • + +
  • + +
    + 邮件管理 +
    +
    .iconyoujianguanli +
    +
  • + +
  • + +
    + 小屏 +
    +
    .iconxiaoping +
    +
  • + +
  • + +
    + 人员管理 +
    +
    .iconrenyuanguanli +
    +
  • + +
  • + +
    + 向下拉 +
    +
    .iconxiangxiala +
    +
  • + +
  • + +
    + excel导入导出 +
    +
    .iconexceldaorudaochu +
    +
  • + +
  • + +
    + 向下箭头 +
    +
    .iconxiangxiajiantou +
    +
  • + +
  • + +
    + 首页 +
    +
    .iconshouye +
    +
  • + +
  • + +
    + 系统设置 +
    +
    .iconxitongshezhi +
    +
  • + +
  • + +
    + 消息 +
    +
    .iconxiaoxi +
    +
  • + +
  • + +
    + 全屏 +
    +
    .iconquanping +
    +
  • + +
  • + +
    + 组件 +
    +
    .iconzujian +
    +
  • + +
  • + +
    + news +
    +
    .iconnews +
    +
  • + +
  • + +
    + 定时任务 +
    +
    .icondingshirenwu +
    +
  • + +
  • + +
    + 动态加载 +
    +
    .icondongtaijiazai +
    +
  • + +
  • + +
    + 接口文档 +
    +
    .iconjiekouwendang +
    +
  • + +
+
+

font-class 引用

+
+ +

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

+

与 Unicode 使用方式相比,具有如下特点:

+
    +
  • 兼容性良好,支持 IE8+,及所有现代浏览器。
  • +
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • +
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • +
  • 不过因为本质上还是使用的字体,所以多色图标还是不支持的。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 fontclass 代码:

+
<link rel="stylesheet" href="./iconfont.css">
+
+

第二步:挑选相应图标并获取类名,应用于页面:

+
<span class="iconfont iconxxx"></span>
+
+
+

" + iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    多级菜单
    +
    #iconduojicaidan
    +
  • + +
  • + +
    导航展开
    +
    #icondaohangzhankai
    +
  • + +
  • + +
    导航折叠
    +
    #icondaohangzhedie
    +
  • + +
  • + +
    向上箭头
    +
    #iconxiangshangjiantou
    +
  • + +
  • + +
    向左箭头
    +
    #iconxiangzuojiantou
    +
  • + +
  • + +
    向右箭头
    +
    #iconxiangyoujiantou
    +
  • + +
  • + +
    关闭按钮
    +
    #iconguanbianniu
    +
  • + +
  • + +
    数据上传
    +
    #iconshujushangchuan
    +
  • + +
  • + +
    系统监控
    +
    #iconxitongjiankong
    +
  • + +
  • + +
    邮件管理
    +
    #iconyoujianguanli
    +
  • + +
  • + +
    小屏
    +
    #iconxiaoping
    +
  • + +
  • + +
    人员管理
    +
    #iconrenyuanguanli
    +
  • + +
  • + +
    向下拉
    +
    #iconxiangxiala
    +
  • + +
  • + +
    excel导入导出
    +
    #iconexceldaorudaochu
    +
  • + +
  • + +
    向下箭头
    +
    #iconxiangxiajiantou
    +
  • + +
  • + +
    首页
    +
    #iconshouye
    +
  • + +
  • + +
    系统设置
    +
    #iconxitongshezhi
    +
  • + +
  • + +
    消息
    +
    #iconxiaoxi
    +
  • + +
  • + +
    全屏
    +
    #iconquanping
    +
  • + +
  • + +
    组件
    +
    #iconzujian
    +
  • + +
  • + +
    news
    +
    #iconnews
    +
  • + +
  • + +
    定时任务
    +
    #icondingshirenwu
    +
  • + +
  • + +
    动态加载
    +
    #icondongtaijiazai
    +
  • + +
  • + +
    接口文档
    +
    #iconjiekouwendang
    +
  • + +
+
+

Symbol 引用

+
+ +

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

+
    +
  • 支持多色图标了,不再受单色限制。
  • +
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • +
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • +
  • 浏览器渲染 SVG 的性能一般,还不如 png。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 symbol 代码:

+
<script src="./iconfont.js"></script>
+
+

第二步:加入通用 CSS 代码(引入一次就行):

+
<style>
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+</style>
+
+

第三步:挑选相应图标并获取类名,应用于页面:

+
<svg class="icon" aria-hidden="true">
+  <use xlink:href="#icon-xxx"></use>
+</svg>
+
+
+
+ +
+
+ + + diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.css b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.css new file mode 100644 index 00000000..8c269496 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.css @@ -0,0 +1,113 @@ +@font-face {font-family: "iconfont"; + src: url('iconfont.eot?t=1567826173562'); /* IE9 */ + src: url('iconfont.eot?t=1567826173562#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), + url('iconfont.woff?t=1567826173562') format('woff'), + url('iconfont.ttf?t=1567826173562') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('iconfont.svg?t=1567826173562#iconfont') format('svg'); /* iOS 4.1- */ +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.iconduojicaidan:before { + content: "\e608"; +} + +.icondaohangzhankai:before { + content: "\e609"; +} + +.icondaohangzhedie:before { + content: "\e60a"; +} + +.iconxiangshangjiantou:before { + content: "\e60b"; +} + +.iconxiangzuojiantou:before { + content: "\e60c"; +} + +.iconxiangyoujiantou:before { + content: "\e60d"; +} + +.iconguanbianniu:before { + content: "\e60e"; +} + +.iconshujushangchuan:before { + content: "\e60f"; +} + +.iconxitongjiankong:before { + content: "\e610"; +} + +.iconyoujianguanli:before { + content: "\e611"; +} + +.iconxiaoping:before { + content: "\e612"; +} + +.iconrenyuanguanli:before { + content: "\e613"; +} + +.iconxiangxiala:before { + content: "\e614"; +} + +.iconexceldaorudaochu:before { + content: "\e615"; +} + +.iconxiangxiajiantou:before { + content: "\e616"; +} + +.iconshouye:before { + content: "\e617"; +} + +.iconxitongshezhi:before { + content: "\e618"; +} + +.iconxiaoxi:before { + content: "\e619"; +} + +.iconquanping:before { + content: "\e61a"; +} + +.iconzujian:before { + content: "\e61b"; +} + +.iconnews:before { + content: "\e61e"; +} + +.icondingshirenwu:before { + content: "\e622"; +} + +.icondongtaijiazai:before { + content: "\e623"; +} + +.iconjiekouwendang:before { + content: "\e624"; +} + diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.eot b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..cf0b3fbdf621e7a70585e35f454f7db627ef94f6 GIT binary patch literal 8812 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 literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.js b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.js new file mode 100644 index 00000000..6a3315a1 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.js @@ -0,0 +1 @@ +!function(e){var c,t='',h=(c=document.getElementsByTagName("script"))[c.length-1].getAttribute("data-injectcss");if(h&&!e.__iconfont__svg__cssinject__){e.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}!function(c){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(c,0);else{var h=function(){document.removeEventListener("DOMContentLoaded",h,!1),c()};document.addEventListener("DOMContentLoaded",h,!1)}else document.attachEvent&&(a=c,o=e.document,l=!1,(i=function(){try{o.documentElement.doScroll("left")}catch(c){return void setTimeout(i,50)}t()})(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,t())});function t(){l||(l=!0,a())}var a,o,l,i}(function(){var c,h;(c=document.createElement("div")).innerHTML=t,t=null,(h=c.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",function(c,h){h.firstChild?function(c,h){h.parentNode.insertBefore(c,h)}(c,h.firstChild):h.appendChild(c)}(h,document.body))})}(window); \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.svg b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.svg new file mode 100644 index 00000000..a349f5e2 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.svg @@ -0,0 +1,98 @@ + + + + + +Created by iconfont + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.ttf b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..69587d9ec84c49f0f13af71459b52433868ec15d GIT binary patch literal 8644 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
w^-dZn^ z3s*qrn|3l~Sz1U|&2;ZDEER)=9US)di$HsD+%`Nk0ar`bu88Z_uQW%O5*)4;6)FYz zcoJ{tih*;|#w7KS9EnsW{5$tQNJpjBu-!GR#wNx81dutfx&$F6gH5I3AtNF18fFN! z&~OPpf$$K7GaLo%RvhYqj0K27BTz;TekR?&hiF~zsv11ZJ;!K5QLM=2*uHc7B99nh zQ*F*=2Qzj@+DWg^jm7>svc7p`J*N5I{Rch>A9CQOt5YA!+I{F;>(eAD`=P0;r}Y>d zxZ% z@#F{ZNjwh{9vp_pIUX9s3xhx#^h5VDX*V`A*j9WC5B4-2wmh#r3~8k-X|JM z`2nJVJb%bf8~19asqu$IysFV<*HC+Od!GeLJ>``1K*% zj@tIxF{Gg}JVo%c6t+(ZyEx?!b|c@|O9KUdwjhQrG%ghea6L8j#wFb#r2H(>#~d?c zxULa0o#tSE?9O|G0q?zYEKf_gWwgfK|JSy$->`!SgGa@~n2`TV(xZ}h@ zi#>%)?d?+TRE3nqM)qA*A!Xm&gp`F=q}$2@FNGF_qa?Hdixq$i`3fK?mT(si^eZ}R zT`TX?(yqqA0&YU93;a<(ZEW$y{HTca#@%AA{IepyC4Y5yeihNGe2^@|BQc^a=$9b1^d^wQ#ZA9&1cW+QAazkMcs?%H8+Z!6aDprT0nCyKBzhYtpnoZkLLUE zTndXjsGFuv|K3dISMfFs@`Z?F{nYM!b_o{vs9@pqnFd>*x3l{-XfQau>bw|u^~j57 zZvVv>v5r!Z=a68gm6t&8Zsld<@n5E3g8zR^yfFlM74%K5yutc`kpbPrnSTP_2+6Q= z{0s7)R-W+B&F5Nqj(>Nqw(=6_&$aS0@;_+h75qc<%T``xVUk*TgYBVcD{rzQ%^TZJ z%uFrK9LgVjAU{97xG=l8uw<-c?w*-jK00+`rMQyrnK^NCesLkcw!CJAG&!>{b7FShj*kuwih%^ZJiT}fe{XHWvS;Ar zEFnI`@^E$@Ks?W;*&XE2ka$miK{zwQY5Orv!fk4vK0 zaW;y-f(CD_Xr+DGU+FPnC-8OrkN7X~wLa~5DUnDf1?RIyI=p^^OtJ{C1h@r-2@jSO zr5MF2foH}xYNrln9$H>JGCw^ve`spKIW)C+cxqwpETa3T=ItBBnM3n4-kEt+ofP#) zkXu?@c74iO(f^k61B=V8vN^XrwQvx13-inF$-~P>mi^w-he3AE%r7klobE?zw|a>l zN9T1gUOYYz@`;&+2S5tQhCd#nqf_CTGt)CiF~1Ybh`=$J3+h^9t0xaHE-)}N`oFmw8(bqIu$hvzZi>1F#6rnEFQ4_;>>h9mPc_b)D= Mo>_p1<{6R9021Zi4kvHG_ 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 literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.woff2 b/smart_admin_v1/smart-admin-web/src/assets/icons/download (4)/font_1299963_2zqwx2axi0j/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..89c0d09e7ac28fa8a86980e9905e1c02ee7ebfc4 GIT binary patch literal 4584 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 SWT0jUIY|qZd}3}i0ssK8jJret literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.css b/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.css new file mode 100644 index 00000000..8c269496 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.css @@ -0,0 +1,113 @@ +@font-face {font-family: "iconfont"; + src: url('iconfont.eot?t=1567826173562'); /* IE9 */ + src: url('iconfont.eot?t=1567826173562#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), + url('iconfont.woff?t=1567826173562') format('woff'), + url('iconfont.ttf?t=1567826173562') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('iconfont.svg?t=1567826173562#iconfont') format('svg'); /* iOS 4.1- */ +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.iconduojicaidan:before { + content: "\e608"; +} + +.icondaohangzhankai:before { + content: "\e609"; +} + +.icondaohangzhedie:before { + content: "\e60a"; +} + +.iconxiangshangjiantou:before { + content: "\e60b"; +} + +.iconxiangzuojiantou:before { + content: "\e60c"; +} + +.iconxiangyoujiantou:before { + content: "\e60d"; +} + +.iconguanbianniu:before { + content: "\e60e"; +} + +.iconshujushangchuan:before { + content: "\e60f"; +} + +.iconxitongjiankong:before { + content: "\e610"; +} + +.iconyoujianguanli:before { + content: "\e611"; +} + +.iconxiaoping:before { + content: "\e612"; +} + +.iconrenyuanguanli:before { + content: "\e613"; +} + +.iconxiangxiala:before { + content: "\e614"; +} + +.iconexceldaorudaochu:before { + content: "\e615"; +} + +.iconxiangxiajiantou:before { + content: "\e616"; +} + +.iconshouye:before { + content: "\e617"; +} + +.iconxitongshezhi:before { + content: "\e618"; +} + +.iconxiaoxi:before { + content: "\e619"; +} + +.iconquanping:before { + content: "\e61a"; +} + +.iconzujian:before { + content: "\e61b"; +} + +.iconnews:before { + content: "\e61e"; +} + +.icondingshirenwu:before { + content: "\e622"; +} + +.icondongtaijiazai:before { + content: "\e623"; +} + +.iconjiekouwendang:before { + content: "\e624"; +} + diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.eot b/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..cf0b3fbdf621e7a70585e35f454f7db627ef94f6 GIT binary patch literal 8812 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 literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.js b/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.js new file mode 100644 index 00000000..6a3315a1 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.js @@ -0,0 +1 @@ +!function(e){var c,t='',h=(c=document.getElementsByTagName("script"))[c.length-1].getAttribute("data-injectcss");if(h&&!e.__iconfont__svg__cssinject__){e.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}!function(c){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(c,0);else{var h=function(){document.removeEventListener("DOMContentLoaded",h,!1),c()};document.addEventListener("DOMContentLoaded",h,!1)}else document.attachEvent&&(a=c,o=e.document,l=!1,(i=function(){try{o.documentElement.doScroll("left")}catch(c){return void setTimeout(i,50)}t()})(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,t())});function t(){l||(l=!0,a())}var a,o,l,i}(function(){var c,h;(c=document.createElement("div")).innerHTML=t,t=null,(h=c.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",function(c,h){h.firstChild?function(c,h){h.parentNode.insertBefore(c,h)}(c,h.firstChild):h.appendChild(c)}(h,document.body))})}(window); \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.svg b/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.svg new file mode 100644 index 00000000..a349f5e2 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.svg @@ -0,0 +1,98 @@ + + + + + +Created by iconfont + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.ttf b/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..69587d9ec84c49f0f13af71459b52433868ec15d GIT binary patch literal 8644 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
w^-dZn^ z3s*qrn|3l~Sz1U|&2;ZDEER)=9US)di$HsD+%`Nk0ar`bu88Z_uQW%O5*)4;6)FYz zcoJ{tih*;|#w7KS9EnsW{5$tQNJpjBu-!GR#wNx81dutfx&$F6gH5I3AtNF18fFN! z&~OPpf$$K7GaLo%RvhYqj0K27BTz;TekR?&hiF~zsv11ZJ;!K5QLM=2*uHc7B99nh zQ*F*=2Qzj@+DWg^jm7>svc7p`J*N5I{Rch>A9CQOt5YA!+I{F;>(eAD`=P0;r}Y>d zxZ% z@#F{ZNjwh{9vp_pIUX9s3xhx#^h5VDX*V`A*j9WC5B4-2wmh#r3~8k-X|JM z`2nJVJb%bf8~19asqu$IysFV<*HC+Od!GeLJ>``1K*% zj@tIxF{Gg}JVo%c6t+(ZyEx?!b|c@|O9KUdwjhQrG%ghea6L8j#wFb#r2H(>#~d?c zxULa0o#tSE?9O|G0q?zYEKf_gWwgfK|JSy$->`!SgGa@~n2`TV(xZ}h@ zi#>%)?d?+TRE3nqM)qA*A!Xm&gp`F=q}$2@FNGF_qa?Hdixq$i`3fK?mT(si^eZ}R zT`TX?(yqqA0&YU93;a<(ZEW$y{HTca#@%AA{IepyC4Y5yeihNGe2^@|BQc^a=$9b1^d^wQ#ZA9&1cW+QAazkMcs?%H8+Z!6aDprT0nCyKBzhYtpnoZkLLUE zTndXjsGFuv|K3dISMfFs@`Z?F{nYM!b_o{vs9@pqnFd>*x3l{-XfQau>bw|u^~j57 zZvVv>v5r!Z=a68gm6t&8Zsld<@n5E3g8zR^yfFlM74%K5yutc`kpbPrnSTP_2+6Q= z{0s7)R-W+B&F5Nqj(>Nqw(=6_&$aS0@;_+h75qc<%T``xVUk*TgYBVcD{rzQ%^TZJ z%uFrK9LgVjAU{97xG=l8uw<-c?w*-jK00+`rMQyrnK^NCesLkcw!CJAG&!>{b7FShj*kuwih%^ZJiT}fe{XHWvS;Ar zEFnI`@^E$@Ks?W;*&XE2ka$miK{zwQY5Orv!fk4vK0 zaW;y-f(CD_Xr+DGU+FPnC-8OrkN7X~wLa~5DUnDf1?RIyI=p^^OtJ{C1h@r-2@jSO zr5MF2foH}xYNrln9$H>JGCw^ve`spKIW)C+cxqwpETa3T=ItBBnM3n4-kEt+ofP#) zkXu?@c74iO(f^k61B=V8vN^XrwQvx13-inF$-~P>mi^w-he3AE%r7klobE?zw|a>l zN9T1gUOYYz@`;&+2S5tQhCd#nqf_CTGt)CiF~1Ybh`=$J3+h^9t0xaHE-)}N`oFmw8(bqIu$hvzZi>1F#6rnEFQ4_;>>h9mPc_b)D= Mo>_p1<{6R9021Zi4kvHG_ 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 literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.woff2 b/smart_admin_v1/smart-admin-web/src/assets/icons/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..89c0d09e7ac28fa8a86980e9905e1c02ee7ebfc4 GIT binary patch literal 4584 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 SWT0jUIY|qZd}3}i0ssK8jJret literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/default_icon.png b/smart_admin_v1/smart-admin-web/src/assets/images/default_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1e0872fd462bc710a45851953108675002830fb2 GIT binary patch literal 2364 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 \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/error-page/error-404.svg b/smart_admin_v1/smart-admin-web/src/assets/images/error-page/error-404.svg new file mode 100644 index 00000000..77d97f71 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/images/error-page/error-404.svg @@ -0,0 +1 @@ +drone_delivery \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/error-page/error-500.svg b/smart_admin_v1/smart-admin-web/src/assets/images/error-page/error-500.svg new file mode 100644 index 00000000..ef72fd32 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/images/error-page/error-500.svg @@ -0,0 +1 @@ +co-working \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/icon-qr-qq-wechat.png b/smart_admin_v1/smart-admin-web/src/assets/images/icon-qr-qq-wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..c5f6b18591f0025bc37fc2dae5c7bc85177c42ad GIT binary patch literal 43541 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 W(3(E^8d>n@;Zjjhm#>!n6!bq|VVLs( literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/icon-social-bilibili.svg b/smart_admin_v1/smart-admin-web/src/assets/images/icon-social-bilibili.svg new file mode 100644 index 00000000..d655a329 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/images/icon-social-bilibili.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/icon-social-juejin.svg b/smart_admin_v1/smart-admin-web/src/assets/images/icon-social-juejin.svg new file mode 100644 index 00000000..c0ad2aeb --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/images/icon-social-juejin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/icon-social-twitter.svg b/smart_admin_v1/smart-admin-web/src/assets/images/icon-social-twitter.svg new file mode 100644 index 00000000..cef3ec09 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/images/icon-social-twitter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/icon-social-zhihu.svg b/smart_admin_v1/smart-admin-web/src/assets/images/icon-social-zhihu.svg new file mode 100644 index 00000000..3a82ca82 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/images/icon-social-zhihu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/login-alipay.png b/smart_admin_v1/smart-admin-web/src/assets/images/login-alipay.png new file mode 100644 index 0000000000000000000000000000000000000000..7d9f0306411646da46ca036af00fda790a3f2e04 GIT binary patch literal 1881 zcmah~3sBQ`81D&+FRmSShx37<3Zl}cZ)l`2Xp2;=houvIa2k>TU1<`NlokhbDB}hq zj(K+6yrF>NR1gN644ncxb?SUf#0NS>CqqR=IZ^Pr6b0R#+;U0&kNke$_x-=$_g!*h z=FjmQJz+G5!|~KdX^reS-t~+e!M@w<>RxvEh|$F}u|yJMhbfE`juMF&ptr)wm=S}~ z^cBaj5Dv$!(`<@o;tlg4gs_TW7e?f;k}R9U2?=wMFk-o?EGz5hK3XxKXNaPA2NF|aeWpb4&5Ri%`!Js%8l*ohg-3(!?eVbigDi5s6(#>Ib68Ada+Asr}AT1jJG? zD~2;Piiq11*4=_HZix&f}1Kx{502Ds>3u5w7O ztEOFAL0XJ5r(tL$MOcA;Js|VYvB-wB_lAoO9gBQOF31K0x+?UYiXGTu+rTv)>_2uf z*ufaiwk^f>=cG2zf7rHn*K5N~j@F8Wvn`in_@Qa2dg?K!Wyzi;QND-IOySk=yS*XX zt)+{l=&kcR&^u0FP0H=Fewvp$Ao?L!94yam`YmnCH-2IK+1#@%!~TrWhFK@N!%J7!*4Fmmb+uVl3deZGiT2}ZJ4~&k2cX>gowl&QcX7DeCrsF5qv^6u<$di1!;Y>v-{rP!=~DORz|&)IA54+wLH@j)fIM8e z2`k?EqNr~1^oe@s2Cp0LUL)6v-MF_R4oO~leEqx3x9Zbu{kNwK+nZY!?a9t=aVHhS zGJ@;;|496?cMY9jzn3=Cm|rGTx>Xm=9vSPbu5W5g$bCB3JMR*2M*XkP6Y)$cW9}#J=&dl_z5gbhbrsjj6wK^wT++n&d zXjjYjFEH+H29ics2NeQ=fq^kq!%pl;{E#U^coq$tz5YFhR39%!XAF&W%S{o03^>a=@^35$V0jIjJB$iA&=sa1J65=C60ygUO74+WSU3O@D z!Ll(scb53A>1*|NcPet=YTLfQ$|F{vx;=ycpoXpwEdJn9kZ!?vB+e$5KC4J5YmDPN z)?fX2n=y+%?bdY#x!zPV?7Q;eaGr(9DfEy#ALbwMUA27l50c3~%7$2OA@=2>nR>5U z_sZq@v7YstFP24(*eEZ&RubpY)L4?XE`jVUtOe#ZZ`;-}rK7bca7|jZI`wSUQ2}yw zTyHt|^W@S$r_J4FypKfsmy@-|N*wwA?(+*Jr;{BX7KFR*^5N2GpQri;q3LB2$GU(w mv8MFgjFT(C$93)NIc^+tZ^1ph@s-5&v(xM5Yj;O1U;QsNJ;NIS literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/login-bg.jpg b/smart_admin_v1/smart-admin-web/src/assets/images/login-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..04c27b4f2c492241b7865a392088329c277a59ee GIT binary patch literal 547587 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 p7WA>N`#QUh?Mu08+iN+ZX!f zn{V}J=~@%6F080A)hgD=`gAKi0uMuRZdTme+^%95Z;G6D=yk2O_HAwFw{5SyQ%uxR^Y8$Z`ap#y<1e*^tW19+#6x~cHN_` z>YC-){{XfA*5gu*y<3WYjUiA29E)r74L9!7I&j18I~(`uKZd#`cVx4sTkPU**XR#W z`n}N}s{Qo+!|I!3LF#sh%S#i|j<;y`?br7<$I&RU*EY6#Huuu6Z#I75uKSvn`b%8X zUg_b^W14C(w+_3ze&ua6!_h_@=ky(=)9>$WU#Q&Nt#4POd2@&3^z`(t<<|cIx^MD9 zVX^vevi2d`T_NbbYg%=#_MXhSywbXHN!4yFt@R35x;?F>Z9hxUG&+KtDOwg#pcv0k zG?X)PwY|BM<(+%qr(WGorsnTe*DCD9?QQla5#JMz%`$$7{l08QeXn&VRM;P58@od5 ze#zE$j-7qhZmVt~v)tVb-1eV=S|eQ`F+)ss^)De&Z&2H>+3%dzWM&~c8^+mkGFo-e%>|F(4L8HTAPlq zSlz#M%X*Y`**@hf5yoe;xbJ-@-QRE>X20oQ+RHkfzAm<2xwvJa_@b?rgX;J zSG~Eq7WFT5dUfgP{;0UUtWCvAb*?g(qp%}~s;=BS?e0}ZA^s=bIBqrLq1)*?jlPp< zersx}Qd(&)&NIit6tySy@6nI89hvqc(yCRqhL5#32UhmxyS45*k<>j(%I1v?V#{Ck z^?hqi)2rNEvb~*--qP)TDs>vn^r(PcmaRZ4eD?2B_S1&dUk^-4^PX+yw%@nMvR@4} zs}uIWt`YlL()|}%y8X7~rFp68nq~H%XRc7vFPW%P)F|C*T73`Q)z$w1admh5X4_D_ z%TCoPmVybB17nA8s#e2k_x*_F={c|bTDYuCamwTCJzJ-{t3uy5JG!ocs%g5tu7$2q z(yyy&`jxJr?K@JhWlHt-cTTgfa?4AqR`nTE({sg8NW+KJbk(}qtG5(eU2aRRiSXg{ z@jdT*@7=Z2y%6iWmh93Mo%?+&OtYrz&1Z0GISc9O+8&(7y0z`qSt>NPlYGx8g#8~u z&~<)k)c#MQqrT$HdRDdLYj#z5<>4d5^Di*ze7mRo*HdVnE3K^iD!b2ycb4wlT|wLy zI=13tZD`olbxpan?e5!grfs8HqyGN-uv&Vy>A1I_tU;x0&{;$%FF&XGUzGH|QPbMH z4Q};TU&P&rc3;t|;Z>vJ`1T)@`M;WP`M*%FcgwV&ySFYY#XEM{@X{WKwRCG{3U95s zF2kxhYg^a{tD5IjV_8z@<_9%eU=|9Po+}<7%wA&^{HDr!kfJC=Z({ey!?$f*N%s`0j2pD6pXvES!ZZ{!nDcv#aks?o?bWD! z4dX1K2`E5m;072BP)7^Y<|LBwFx;q;9C;HtL>dx=1jI-nl!>3ZD%T=&DAjuAIUUC+ za2b^*jcR6bIAa{VB(pA27nc-tih1r_+l%*wWszueDQ1&DazFQ>E(uCbB{L$S>F#f< zw@PBGk8g+5z}^&O(xAB&fVkClL;|H}zGcQ{JRQ!l?pfKlCvuw=qTq8c ztSN_4rsZj9Ym0o+Y_fuU#7=5shW1v=nKfs@NyXjX(zCa(bzZY5QMaJ`ij|)1qJ_OC zlTxKel*-1m5^+HpYHH>_pGXTWCG=c)b{`sTPORD3(dz#IS@rEw-)D5UZ0~D!TI&~- zbsLI0g|+<+FGahgG-&szF%P8;FZZ`QlW3$kkewl;dez5g3X?1^lZ%(W1-7fymOxHA> z6J_aomBlLdms;EO8*965!>-fQ^Rk_#sTT~hrRIHCdR}KVpdXuceM0kIrrk{|@cMgU zb2zi@ZA8pW*9}DQgZekf`X4a)W65je-EHgfue$dvm*G}vE=_Ril=eq?-2U8pdsju< zyNh<;QKw3d@~LH}={EIf(n`C3Zt71eyA7mulNPNj8=2 zlZC-A!n}01f%%Wk-Fg8z7A(b-)XqX0Se9GzZB=IrW zhTG!V@Xpm$jtlAfPRpg}#JP@loXBNyBncnoB^5j4p0!G+9J^|I1)iE18jTo$g)*S! zC0Rka(F`TtcAI-pa>`N&xTMAih*Bh^qlprobUE4hIjxt5=R6GP}*=UX0sWsY;!$OLAkq-gdaXsW1!Z@#)NaU$fz>$X@W4bvLPeYA& zoTVl@M=H%!B&0$l%C~ixxx_`5$y~wsJ(XeT~3>?nI}*2+6$^8;xwcxWv>X zY%!>-?2%0wm=}VoAYMm~5lp_$CfERA0Pc=Fvv5*E3k61v6dTSm*_O(hmHgp?4GF`u z;}8{>%$y8K#DTbl7)uor?1;1iB1Ftj1N4fY07(U?ym>`VK+^*>=axh9hzFRKk%=k8 zfFPV987$%nia>xbFyW5@8IMtz?Gj9UV#u5b;}sQXObR?81{9xUSd5Igh6F^p#afkW zV~T7b0stTf00Lg*SQAiF%=_RVSjq(m0Dv3-2^qnWs`fWS^9_rMZD$#L%fF;fHVBzFvcaPRSUQ19|u-&lu8{2_{17)4bb*n7FeFrs8+w4OcuKCw#OTbzh0ndVeUCQv_&0&hi@7%m<& zh-WFo)KDNm2;w|t?aC-00prDD4g!E20X$DBC)Oz;5b!tw{8#XeCdmk_pa3$Gov0#D z62ci(K!}`sVq!8<5CsnKNY=U#n4lm8sD)GC0;vE&!U4$OLA4P~yCX73GYEN1kqMqL z1jx#c&g^~oh>X>0xQRI_=i~e$8^RotYP?hPfX|?0r|I_JP*BKPXRPy zqu&*1R>na>oMbyWz{tQrf&f4iPDh?2wg8L^fl?4+O02tt002aYnZT^R5mMv8gG7>& zPy~>`tkq*v#HvvVdt{Ea%z>(DH#DTGWCEoTUc^Ud0^ZrNjUn@n3wn_eGw-IdK5?7=j5c2zz{Z@`{@(aO4Y`0!)B| z1U@iwz2Zp)sWtFV#&U|Bf=Y3XY7(6V?3^Qt$)_=cT&*mE10xYdnURTnqji{u2_Zz{ zJN6p1JqAil#v5-^5UQX*!9RpRoH-~7&*3Td;~dq9!Mio7jGy%&PprA87}Gf0kRT$0 zyy8ORlG;C1Ng{EU2aF>jcJLAu3ono35v2rrh@wvqd}L^1EbRz+50G3UnpW+T6RDM7 zFawSUz#&-6TuEmyxWrls%+n_RqMRZuIC>RB%7kHkJWR~Y)ls}8ib;*Nj1C4TwLk>{ z1c?ce&0{Lgx*SQhp{(j|Ss^n{1j_<&pLA(7NXe*Jgmaj8hbeI}xg)ZO;$W*yNOA&_ zo+UzXGUFidw422{`JM!mcZqGGYmE2!te}k*)@l>5)800YgJld9jxS=Nqb#;A^}E0|lS@ zLX0yRtm3I!k_-eDP=VkfA-S=XijHxqOHu4GIoPzgwo@gdVD}_#Y0MvCfz4~&0Rim< zc}$w*5>@5HwldtgBT`SMOF^37RQ*J9zyzFVaR!NmBlM{U6g&e) zCM1XeIHFAvJ^ug*H^9r#v`HZe!@6^nLnQGELYzV>`0zss0?0c#%qcvkJ76V{Y4be6 zMaqO82b2h7budElE>erZrL725p>Q zSR@WT#mBU^R4hQ}2>?mNJ*0x*5GX0z7P^>DH9Z?ntlbl8U29hfPNng=t4-vL!p7Ij zMno!HRAHz;;ZD+dqn_%EhtZvydz)PRU$FilKhLM#{;R3#r=xp!RjW?xa^F_9y=|S& zUqfo?Zg21ITtl7xJwsFsqS8V+x!Q@DeNCOUXsu>GoxYD)vcA=49Pickcc076d%xS; zQMI;nLn*vHS{hu|Q7mf`p$4mkPc~`b;sOarV!L+dZund~ygrY(;oRPPdw&X=zCHS{ zR;wPf1zkewy|pV>+*PYZwQ5~crIoMr?rKt_PNh(-6$x`_2^SWQNgS(dZF|wd{c0br zHg#R?WUG9s&-K4+$48;=-)y_i<6-q{Z|Y9Bea4TgGVg0|+h^QTWu4zlb?bVTJKBZ) z8q74SQLxj4Zzzhc^y$^MW1K*0j|1j@iFN*4xwiiR`I^PH+lgD1{2iLLT57QM;(LED z^_S@U!naTOHhi~~+||E&V~l4=l(6!jw{AbQozu7X9{SQcf4wYs&hpvYe|2>qT+nn| zEyQi#uy*;Qt7@9H=H$M!qh>BFtgGAq09DOpwR-mqr%ldqY|U;D z&wDN?>b9G6QGLN}^^NVWp=m(Xr$w~Q8ke+bicb~Es`{;KTU=A7?;~n}2QO3Q`;OP! ztlO5YEaDUQcxy2|+!GxynQg~1_iUTau6X)Bl6StYYke!*x<2cE+|{)G>8k76#;aP| zj)$#TYT>qem#M0Hd9m4^=o%|rwMi_(jPvt@A00lRawMYr)O1K>XlpOZSyJoFT(Qvk9&V=*KNJFrNn!#bcV9ig)<$8>UZ3CSbB@q zkF`r}rL6SPmV0lZ`}?O#=UTpgqpIyayF*F6yZ+Cm?W@ZcYS#>V zX}Z1B>eijPEa-HdR?V*Kvt_!~TeGUWqHyB5qMIyBl%iqw`2Ba6^>&D=<*erl6HXV0 z+ZvodUoJF$yM3y3>+T!vzUy%5TLhpZ=o2{)*rmwcNd;8r= zjavJ6Q{ApL>%7{&iyY^(J6%lE?9n=JTFvHVMv=tcS)D4 zT}{~Ee49J%=cOGr+Wl_pAKsqQqisRECwfq`*ETKgk4H>?uXx+-XIQCYqG?0vX5{Z5tczOran+g|Ta(seDduRhmu>9lnRX-4MO-%h4| zeL|xx*en}W=AAmtAo1?`jVVO0RUgq`t>9~Gq`uDQ$Jv$2-z&1rWhV4Jl->Qbbsnah z_Z9c4_Z?@xI=Q^Mxl3>Eu8DM)Rki;BY0%R2y9yQ-m6@k$8jh>EZLO}TS~lhP8K}@V z52r=dob04y;#+>I`*q}}FX3+~@Smp>Po&x2+*|!so4dAZu_`ss*i{SL-k1H$?#_b! zw`zK~+y4Mc`rW4OP14O{cv$N9d$jFs$4ZWuqt?+|aaR8TO{KOf?i;!k^W4@IXXizrg7^sY~|pTIcIOIezc{{{XhfP5$0`pZ0 j9xu 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 Fon}TpX09i97m*h7*dv1|%%2{CYZ>9ezC*_ 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

=z%Au|oxZ+3Nx4tps65@o9A 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

}ngG#A4Q5r8#O`f*3&>TJaB5%}!J10U|4?($) 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
}E@v|_G9?1zA4Z(GKO^K= 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 I=fBtg2Zx>A6#xJL literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/login-logo.png b/smart_admin_v1/smart-admin-web/src/assets/images/login-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..61765e6dab63920b8e5a9962605860893332543c GIT binary patch literal 4900 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 bXeU50`OgRKIXU;Y|65_K9ME+ZK4<;~Y*11s literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/login-sina.png b/smart_admin_v1/smart-admin-web/src/assets/images/login-sina.png new file mode 100644 index 0000000000000000000000000000000000000000..950619fd1b7c76b785dea3be1d775ffe950278c1 GIT binary patch literal 1851 zcmah~2~ZPf6pna+2#ORLpfk9J;4zZ>AlVWrBmp9XBgT?~Se9ggK#~oc1p-*DfH+Vs zDD^0eCly3Rk!meMOB0Jn83932#0r!mShN%iiU-mS0@@jw?(FV=?DxI*{`b8%n;RPJ zZ)@#hO&}0##Q{PoK028nt9kglE0sTr56+lKj;%vtu~Z0!2|h|B1_s0$C=QmwkTNal z8tg?N%pOq51u|nO28|A969``31|6hGgfSonj#Fv*#KD?6BA`<8iQ#Ms zO`;RP@v4Ay6keAeEK{T>DtJnw_Zq;<0OAHTFa`kzjasV*4SeE+T@as}x2Z&60)i#- ziEo0EOF{twg2Dis!XYc@EH>cDqtH1_7LVrvFlclxmByvgnPfT#WYItd1DL#sxHnW8 z3rdB4lfLj3pBRr}I*>|DO--ewGARfeN2T+4JSvSrWiZG%f~-%|VvvEX)w@ku5W;!| zs?uR9L<^WLLNQ1(#wX&DzBz(MH*Hp{pG*^;FscF4QRx(#`A8E$rD7VVOGecb&Xo!( ztcEqP7SrQc`ZN~Ll0-5Mf3I1MW*V)>r10Cby%(*QrRiX*6xJijr~(%`*3BH24ium; zgdwO5LDW+j4~<7KL?4gn0D-`qVIHtDT%}basrps#a9|;X!F;0mJDG;xOc|XH;vz7) zt7%-2MtcL5AWBti+Iyi~kU{?s6qjEKVbK4Al?pHxK{XJrfy!L5RGl_%!ka__inV$S z(kfuFkWa*qM^UMipr=wV5sH_eWzllw(vGE zPpA72Urcu}ti{_F#ruEFOr3J~G4IUp@&5aS5|q+Ex$mijq6dO~^g^ee?3C z@wKd>$l>Ni&6l&D9V|MS{w(_LqAnu>wFLGYJ9xb1W<;~ap1PWq9*0w6v#+;RabAl* zy4LeJqv7S4E3@t!<2ui;jMqIHBGfFGz?>WM{*;>hBvO3mz{rCnrHuW<5}SFR?&25y zIo-~FIuw0!PFn7DM)qry&N=gB#p!`vwo$ilk8K{`UT1%EV5E0!3|T$8KXah{uVD;j zJ6Km#+dF(&A6_5R&0e!s$NVnl>}avv<7rCeG8@;m$6B6{jn_yf;8ds8)xK?}{5_GG z9i(j0{&RK@vn$fa(Af-kK%G?ZI=I;BP^HoK5}}nfn&YupZ2HX3V*UEGoq65W?P`k` zuNXeQPM1&l6TSLS-kpw@d6qSRqM)gGqjoj^f z;+8eZety7mv3sFS>71{B%CPn-?9AG?LA7Ak*<7IKo|m_GpYxJv%cp^y21@_P#jeMJ zw|a)|#O3@}8&a^CMXv3=$0}Y9b5<;FaEK~7Zr%3R%Pbz| z$5H-3JC_~UJm=_2Q)6S?-b7B#g0ix*N2c;}6>0C04U|hppZn)`e835B-Lz(WA#-rs zKjf{7hxJF=UzAogYcGU`X^yWy8J+AAo*R>I$REmBwb5fZnIuQsN;aOk;`wdT><;&! znj&df-j%_M7Wcu!MG@KTer<}Yu;d0i!SMpAJ4YZNFN0qfmTtMdC35q88euy(GglLC Rzrp-F6N`d{r+uR{{{_^{#sUBU literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/login-taobao.png b/smart_admin_v1/smart-admin-web/src/assets/images/login-taobao.png new file mode 100644 index 0000000000000000000000000000000000000000..ecaa608aecd8657619c9852b6f9818d6bb52d6fa GIT binary patch literal 1898 zcmah~2~ZPf6pn}zupkye8a%cE6_FkMCyIZBz;K@pO6X-8I329Cdh!$0%1HJ0YddqBBDYdcxCEY z#E(WB--oI-q(&Jo(c*eGWWlh_dV*rpXnym}1f)$tNFW|bL@_DzNnJe?Kw&9!iLa8Q zBxFbu8j@i^qBA1Y+Kd#f7-r7*2mH(u%77jrA;7HHVMd8r${eyQq2`utkO>Sy$P_8_ zT~Hcj6d=P52;j>Wu(VtsUqC2ka|L`KvDh2nakwIoBLca67FQtg;YfHqVEAHE-VAVp zL?sU%_C>9v%p{T|Bp_%qnb;;i8#g3^T(MXTa(Ez*$D$A{<4TN#%q-04K4L+R7_|nJ zAW<9xEEb`7JdKnxsYu@)K~IdD#f-ygq7nw0Ap+#GIhG?00b%VZjz}};hMdD%5YZue z1S5?UmOF~2vZPdw!arzMuOCGlNfq+%**=Iis#g*Ss6vc*nn6p6oZxN=i;&0+2t?ur zHIC~>G9HzLlejSnCjgnul3_96xdg>v++_56kAuh|5|J`3-&q{$=Bv3}2_*tw^f^Z) z;c(tTl{kzhto$I90tx>ErR0Yp68c{-td%6-20cV+fLbaRB(TIGZ%U;k6f=?#rbR;K zQYLjgHj2U$AzvU9Dg-_#^pK!q$HE)a-Y^#)I~M+!T#yO|v{dMO6+5y;wSi?i+JDqy zw1W|hYFh)uufXHNja(q<9yu@Yx75MAm zoS@47$|%v`+Gw}mSWCN!yV0WQZ`(k6mde{j_}DfAa{s7_@#*&Rii!uqC$?CzqYG4O zt#0owue*VTc*Hfm$ttN`)9Bc8$98L3X8aC~x61}(EyNzuL2DV8FNY_w?PDlDDIu*|xL*ZBd@j75lIBolW(M zpSiG)>BF$^H~X!pWm=h1Ry%okG<1W31BW(7)I5#b-1ThAQ6janwjg^}FT-ci_~wU= zw{II8CTh2@4xo)w5GP`EqUjEQ`ssI8EWJW^fWEz0xyjn@{*wH|ho`>@uMQBBnz+Ko zd-rC`tNuROUcSJ;!lq=-t`7ekS*H~~*nQ@n;cJ)1b;+(1A756A^VGekLl~&C>S{SA z%w#ovI+z4lm-WV!O+;m#Ktb% zQWh}vM`H=|?hp0LXUzq48)K$8^SbACJoF25ns9GR4I+ZQdCqQuo!2;X=!LmgzZ`57 ziJaBNx;f*(B)^%$ipsx|rZM^^hxR(Hh%C6}cyukJt17%dF6zyy2^|l1v~{jgPk#Q@ zwJ8s8u*p{wj8|mZ0E$7^S3GZa4Kk|Pi-g{Tt7w{-V=Sa^F>O3LkA1hyf zx@yISt2Sv_GctFsA8_rfj%{+WIoTDM@owI{C4JS#<2o zud^DI%W_Xe3NP4oY(3g@==faQc?7+0aQe2vyY1Nz>sj^It~6iu{=`W-yCasrU#KEN JejsQ?&OeO7%7_2} literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/login_desc_bg.png b/smart_admin_v1/smart-admin-web/src/assets/images/login_desc_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..70d8d62f10871e3af7783c3c23b246f6e4ea24ca GIT binary patch literal 272693 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%0AK3FI^M%_lJo#)O{!vCfw1OP75wP6Wjy`Z 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 P00000NkvXXu0mjfFM&Ni literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/login_logo.png b/smart_admin_v1/smart-admin-web/src/assets/images/login_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2955b838b1f804fca7a4f66b2f1e653e199c6491 GIT binary patch literal 3523 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 LNkvXXu0mjfRjz|) literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/shadow.png b/smart_admin_v1/smart-admin-web/src/assets/images/shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..79cc097fd05bf5f241324a963c3d21cb62aee884 GIT binary patch literal 224307 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ð#!yPL3NxhH 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⋘hS(g}Opg^uP;2A5Z7zKU#TEAp%S*mbC}*BwlJtOH$SplslCd{OivroSvK2y|Bg<4dP_UD z^wlq6v7HBd&V#(_lWt$P0bPIf!!vmD)d~FNAM8Ryy?2?ezAB}0&8l`$kpaA2Z4Kyd zYciW2h$O}l)2OoQwRHy;!22#tD(7M&n){s2-OZEbLQmcHB6a;BP&X(~uUVEkyyjkh z2YCHZ7Y5gU7N6dI5%=BtrUB&UybtOOh;ObfFQxUPkH!WM<;6_4KQ_R<65AnCy8&ss zXfXGzDFPdD?DRf7@XP>SJ+vrcOR>1Uc#?X4ATut9t^7=_@5H zc&4KH%MLa;8wd z;Mq)X?n43PTOu)xg#eL4CJOa;94Pp=g{0&ZL>~{S44L0NYstR}Na?=vUIA@)w*qwz zQ&ZC7nB;tOE5WqdLq^w>%s4GN3t-oHy4>W3_PI`e#_8)hk7Mk)zP!X{z!cL?QnTFt zUu~k6J`dcv9L6ST(d7fznq=s%Jks?`K18TX}gyLop~_t3IKkV z0M=>032w=@^Z7)kn!uOZamrcf%tH2?wu*FU`NlWCAu<>;-~{Ic?bNQ5sV4*e7k}{= z0{jWI`9tRyGTnUNNo<@{hCrOZ$%fM+l8igIi%dHU1Qr7fexffu*>tYYIp}Z{fZ&}4 z0UK5MdF~h2!{UMa$-;y4aXEaC%sW4ym%A)?oR%wm@+8wziOmO@v_GbD#cfz_;^&v9 zzy9I^cMdTZD&_%IP&b*11{wuqxuLEL)FB7ONUhMIk?4q(Nv3amLair3zT_hnrTI`~ zrGWvEv3Y=rw%tlyG96A9HyP?hgUCD-)s9X4mFd>P1~e87enkRH0QGCvbW2a>@gsv$ z&BK-eFAFls;1tV60Jabd2YW*X1>q$)E z6BpIiFqT5c%7P>e#vJX)9KS&QqPrTKF*QDo*Z|vYJJuT@y%7UzSD~?qiD(%n&O?%E z3r#7Sy2~iGMFzYl(g+-v134lD?9HaWqF%aS+2q-BBJLgX^%*eIJWxSHcdRm+QM1j{ zfh>c~s=II9g3Z@$!0_o2ymRmfP9491$b9$p4Rxq16&1*s1vQ!?rOE7X*#O@cUm3=8 zFPxJ`)_?xr?nYZnJ@y|M#$W&FUA*w_m^nW@Z8r821zzHnpJ?ckCxoX;AQH8T6sx~L z-9S8^r)*LcHzIXn;prBeV;iz@nPV&LDWIH23QKbynBUYNdzpI2dzM`m*@^q3xJ@X2J`^+T6^KQuUHChl0{Oc^J4CO}WhT%-7~p z?Y7U<@-fpBDK+PpwDO4Eq)KwsDoaUq36m>k>I}o8k!jDq$^@lhT#gr+uZku?v%cg= zq)2gMaqmiye&oRpr5;N?%W2nmEe~`~&Ig?uRDxgrc2XIFRKA~o06S?)UfOb{iB2$N z>A9S1HFMGlM*(wd6(Cb;0@^=Z$xL1*mA7|XD&x4)yh{PRD+mdi$!t?UuEpAFk;D*e6T}lt6QuJs zI=p=U``;IvMuK4ib2`y*c?8p(hs%56g%`x zZD-fW0)UbhzW?Pfe_7TO2*K&g@_zfbe_OQol<3fIlHTwH?_w)GH&;DAY_N5SvwY8u z3OLD7zEL&ru#D{D7@IALvZzBvN!c>aSJ4nB z>OMK_F2OB9R%^oZ)d?bHP!j#n!$g}615LI{%Jjuc<^3#<)Jf7;u?vUELpFZ}y1gjI z0>&loh3hmAQ99407L+(w8BfDuMPuq)O422udTEXF^vJ@EUj&AaA=vZFz|1&;vu~Sy ztXJm{X$)0CuP@JHD?T5c#ohPbfPeM}9r*pP?>At$9}B!-3Ji>iY7c8x$7J}dQaAN9 z=~0RjDV|~teeqKnX5W3w4)m^BhmD&I_$e`|(!<0h9eod*Q?##LfY%gBVG~o2yBNyf z1@oP>lmZR!;d&AUs?BD58VsN)Cn@F)fL}DfD{~opl2O-PL8;9E_<8gGcoCI}0GEad z?n7+3ZWY#VT!rDYmvH>>Nt`-y9^;p$#Yv>TvEIs2Qt?C|Sk+=KmNMRa`w|{{;S7HG z(it2)G@?BOyjVG;7FeHlPZQz-Cg!G^j?3HtGU|SyE=Q?nU5xmhF?K%6BsrG}t!X7i zR#FKR0iN`t#Om*_#b{U!=JMD}k&~Fvtq3+)i?5E&MELCHcHFj38RR^Bp4X6n^QBR2 z?5e{pLoGOTri>?FU&N{Nkt{Qk77Y(KZ>_^8_jKXXLeJF)BEzPpYa#c27 zM~8gBmTc;PxR;9><@UTaTEWA|7VxEw_1NB5SGB0A-u&|6r+&`yz*$mymlp-qgJX_q zR`#^mmJ7wEG|>m$9NV#(7=QEQ0{-ra8*ulo-T3SsC$VARfH|iY@uz=2jdu?(;x}#! zaq!rAZ0O6dwx4YV2_~m@;E7iUvHy(%CMIKXnG(xS_Nl}SNu!-&$rQJV2CPZWL1vqg z4KO#~e_T$j2fZ&6K8_G-Gqbr4OyQFyIg3=@M?}ezNC%EI&5Pz-hIcgf0ajKeRUou+ z)qwthxeL-Wz>o1bj;*WWLj0Wg_wMc~6yl5Wm}xzQ&zQ zbRJ+kuXP3AdaolWCZkM87uO_~_dzEhr)3)-vINnNS?=g)vEWBpXs0{nvibQunEz?u z-c*&KT#0S3ZFAA4d!wppr#lX}fvi2Z!%cjsbGaNLpk|(*&F_DnnRm^s*P3`7xL!(e z@@_Z{4JFwwuA`wLsBT}L?O&Nb7+}wX#=NUc9)w?sAzr$yyd9!z&?KOxdkh(O&QGTp zf@3n*4xm!+?!Ys{jF?Eu#!-ebk$vZUbcJE!DSH{5VT z71R@)(}9Ks0Jp(8$Z$CX?Jhx;>^ZlG+eJwYf4FXjHIZ%Sb}_7q+r-bYKyVH;uBq1n zcIU?9H2$tA$TzI!!=8AI+~=HDpFbZ4>rUC+v14aNqUJ`{t`?xd0-E;~+DCpQfID3s z0{SHT8d9Q86tOmRk!`1hfwf41~mj_`cp(x_u$P~j&fx0wv(k_u~bZi^I0v%#b>C-L_cd1BtAg++UWpIny zY?}l*34&L3mEjOLn`u?gt6@QKmVM4HvaS){vA2+!D%YDI7oDvHs#tBUU>-}@sU*QX znr9bLXFl_L|70Kj=E)N{KWzYrMr#^OV72&}FTgdkc82mIgPsT=IchOMi4=e$s1?@nL zQ{C_SqOURr+DIAzPbR)RuPkPUs)h*>%Md{?#`Q2PHnK2CrmhHRpRp>`_dd3 zP-c}`vXk_G#az@SbF+vtO|@lFS5eP@`H)$!gmYCAabgkqR%XE%*ORD}!mnDds9rs@ zV3sEor4`LY*CLy#$ycfX+x+j{^Yi%qfBPo>tKS;JjeV{7^9N?o)8ygq?FB6g%=frp zmh-?8TD2 z2=LBitS**?=Xoqb(L18p%xZ=GZoaIN#EGpM`cnuM-3PgTob$!EG%W+ z^G&G)yPS`plzMRjR6fMXl+!hZVA+K(#EXhugz&7`Lx3J#}UJ@Z>Sef%U6_ z^rcLD{&zlnNs`K^r-gCnYXrIk*JRx(Yat_@Z!TryDbq^n_`-lCvfTVE!8C#S9e3Oz z@)sQuI%m$s!_s(4SqmFWxhyuM{^oD~W;NlJ9`5`cfj8Glkj&+M<};s>_XygZ8;vVG z-1WnPV#kghl9Wn`4M9A?`}e;0Jz?YN4Nqx}lhcrmcL7#vuUNPYpyxxH!~)uYL>3G@ zKKu-uUb+30_qgr&px|ALelJ)2UiqHOwRRJoO+nU~NF=?rtRQe;u#*4_bMn*CAt02XnF$CUN_E0m2Z8gT&a~Oh&M(CPAI|d?_|2Yr5PKD2 zfCZ4qFu#a11pEuV&0|74Jkj=x^@YT)hp}pJ#mYW17wUxt{P8#Tqp|5Zd}7yD+^}V{ z+2wX2tt;l-oE|QM>htEN1g&kRBCbzRNAGmAVe=Jjml*iJX6OF6OsPC;Hnl4~*tbmy*^PQP}s&6h~@15JQbN4o!IC2Ju z-a3NebK~ayS&`T<{VSwW?r047wmw^8%V z`0s03E>h}3u<%}(GfGw5_T)i4|K@g(-Di_3_m3k2S6X*||CicMUTxxjY3zC;$Aibf z$zzz{nlDiJ_X=?T*@O6NG3-~eG0c0G6QHuOlTs7yRc;TLaocUT;VWPH zib!knPB?j1oS)?nU*~zqZDU{)mq*<_*?yO@O7P8jX)Ea%eOJ8jJu>~=9~Lo`46*27 zAwX#j*GCOMKg)(!>i-GuDd+k1U;lLpm--+R3u)eSc|A4}kJx8nn$~2b3kww?8Q6r* z(Zc))+eZMnhfw;gVm-orX#$fW@h}nh4Ylt}4KTMsE^MwUX6mmEO-5CdkW{?434sN) zhh+^~@-)DN4VVOjF&V0;sIm4EsAGMea!`T)*^b2ATW0=q=O zLjr9O6IMS{fSzbQ#Xu}WpC&4#vFRSa!>wXDmW`v+4}J(a^$aZfIR)j3LP z{z_JLEve&!J~CjSWVVAI&y_&jb9lVcST(#HiEzaOe~W89ea(wjm(4{=vE&JvSDugX z;4`n`htD0vp6dp2_jT7JZ0f{(lnCIQoc86Xp*}=MySZ7kK^h{NmlYX68L6VFDsRr; zemDZl&1tCf<%doj(`4bz%#{U*Y^T%_q10{w{A_3dd=cfT0v66wMgwfyxfWZtufdrU zm+;oXLl`y>vC)wUWbI7|>UnI!OVcQpup2MQsAEGD1tQi@`e+q)g*v6Tc4!ZZj*9ads@8SB(?3 z6~FdV$lvz$zkbf#jE_&@5B~91Jb2W@x|V7DkN5T9&))KJ;UeV+alniCjb)MN=(=eN%L#Jcs>MZ8+0V^BcTa z>vvzTe>r4DNNO$%GYLZt)KWCn+m~*j3i;H<%Kg*aYeF`o7InU?pcg{ol_de1Ax|C) z1{Th2=oUxPM45D+bNr67g0-F^n;xjgKb^K1@WmUZoQisXlmdtaI}2wnpBWUipQLqZ zg}(0}p8zHTWdiRtYkCBPF6ZCA)CO|Ljtv6t`NN@XvgxiN)J+b&lLe>N{Jns7=LgSu zuf?|K(_PP=9bHCp(<~2vroj?mZ`-!+s-T_wPmsXG)qH4_lSQ!k)lJu#`!`2Q^T*1C zQ&H#cLaBZl=&x8o{(k}BmwSCVP5Vzt9c`j0K`Lb|WRwYl2}&tnacsK-#*TgFIYK~7 z9XmlV|4ksy`N({e9e2#NW3&nK$x@RQ-@A9OFx~{`oCxOW5JQbSw~2t7zscSc5W5Cb z$80-i8UlR>aZ0OlEzzJp&xbu!*j`%!j)HR_2S-fRb1rdUW~_i!}3KuhbdP z8A}Q$PXVu>AwaOPz+`p(f~T%4!l;>bnfcNoIP7N!OrjiCF+u&!l?$%Dvr&NT}m(Vo@LY-yOtQJ9^y2c7?eF=3u@m2X^3mbh% z`HcGm%)DoA0Okf^zMuAHa{<+PAaSEE zE-rAYcEh25IJ264tExdg8>E;FY0imxvyBVpr&3PkxEC7}6k8UMumgMAeE$Z(&rJqW zn5`M=#^8nyj9ys4!PidU{JD!5PDaFMpUk5aY9h_5Xw8z^W5m7$;ACJT zDJpxMM)EC4T)hE8((Gr7IWJXkNFB1sbR?qQ6SofmZ3%%HRD)bmry<48Hc`}p_E3RW ztywj*vKnn(=JWU8JbD(l-qeZ7q#o0=GuXGY4S(`Rfb&zp&W;olWgqVt4A9*fVxZll z>H;chxUoeH3Ia+N2{%rp&`lsv6 zz87)-P$Sy9R2Fl7A{JAoH65X4_p>U?@9Gli?XU^1sD?k;(HB3k*JUVyYSPpx)`_0T zkz%^4#I%g1jbcd;N*Y!jmZT3QxM{-MY(wbRKwKiAg31cHo_I zl52r>ZVNT&1kmrrXT7F-z4Ao1-!c8mfn`4YY1^3Je=_vf(xN*#PhKNmJ02w~yIIab zr_tWyR;CXM(DRJA5ccb|Frb0&#uR;8Ty!qJ+yJ zgU|iuNCHO=eioBE-aM8}OKoeT=Y6YOb04)SWaA{|8f^L_sPb*1qZk$vh|3tc7^Q17 zS7I4z12|KOqfc$ZXevw|y2 zhhjyYANaiI@I4>WRM`+jNID`3{U{ZkJP``FAxt!^#q%5kra+DI5oywd4)u#sjjx!_ zvyL39V^;=OKA(A3YU2_zGiCc+R+V3)G08m2i6M!Qt{{pOK&T-ND9#Pyg0gNbT40JH zHfNB1mIlB`ts_Yniq7AHNT?)%4m_fVH-O@eBNy=Q3HqrvV)u@<=;&F6O4cfDPNm{u ze9A0uDnoM@<@H1C$yYvGbl@lwVuK?2G5rSDObp(%(s_BMg$ZDYE0V zmTIfQ0(I>06o`|WCHt;vTY-k{gjT*G$^?sqY3C;mu$oL7Q_>~98?^b<5h34dznuWa zv+gRMm8xi=XDMhKSj27n)BVGkI5du1?%08c4lm$_)kREXO*lN};lJOTVrP$sZ@-)3 zq0>IfvF=L2?B_x`K~qDB{+?3RvQfR%68?g>>aWMQ-krl1b0b^~D)8#GSUfUX#-r!vF*%#!KiSrd4P7Pp$a%e2lT%Tx8vI-s zRFJcaBuGsYu3zO`Oaf*9rECy08!82LMG{Ah#d#f5dX?Hy1va^Jv@oG;rl@W@EXYeX#W~SrS6YsGK|v%uVIk3+i%KZx zP7--)VO!J+GBed$K#5;ml-?m)=B5?(x0hlfF2Z#PeAFj`*`-W$9^exAUdz6a(wZyD zOZYn7Sl(-+=X?EZe%&8rnS6ce{=c7arYo)gy#&XsOdlM)FK0`5HTFHvw&ykK`Omth zRLW%dH{~wWu(PQ%wS;9}7tbGpZ8nh-I6Fq3j5I+kLAhI(W9c13?_@FVHU3TDOg%ca z=Ps3%vKxYB0&6z6lBsu~+XYCmG4`Q{9uk(H>!!4aY&f@{pXK~?nt9@hCuHBaEl#se zCmJTZQWC@Ua$bUR2mA@_-F~wW;qv%ez8K+layi_GpM|HpGXFJ;)sOlV5)h@Zp5&JK z^@DKFOu;ao? z6vgLVyy3+!j;&S1*fC-CgmqUgSlM@>*{#BXL-zvcvYN6&z)4mO!C{CGi4oCr zlj*A{80E1D6D^9!{(;9KDhm6b7?32-2LUo#5v0;Mq9H^sZBjhyCDqnLZ$~5A+Zr%7 zK8FV$djrj-!=@r0z`*K$v+b)z>OxnUNdu_o=2ehiZwj8eQic-UIU?;DV1bZ$%2NgQKi+Gnhr2M;$vdm$D*0Hg@q4&wo5eEIfJ*}IEkkZoKlH_7;e~p z1nQW%`2^Ua!bn8glCle3JorNMkwgG2rA~0RoduOXh;ltpKu^zX0(OzSP&jPBe=G%1 zqS;}wI?TvuA6e4CvkkzwtO2yD`-W{&4wQ*cZFrG$aam`8@PG49w&KS1tq6-1+_AY4 zqvrVivmSHf>Q%d#&bmat!+HaJCnFzpmO6537B_8eL3dlR%Bo-XJ11Y^@2=JY{^>so z&Ac97eksQ2F<@|ehQaj>=?-|~X2#3%l9-w#sP-8RUi0W%?p5^g^8@8vBB*%pd-ByuMnkGDEAqWqK$^KA zCrdm|EnGlr<3{sc#o}R}GIWg|@dbToh!&lVsufQP2%anKeMlH&BuTlcf_nMB)oCd3 z>CX@GU#BxwCZSxZG+S%$iZAz-l-CQ3Hd=v(fx0{KZ=PY&Y3f&X?e6=RW(spZ3(WmU z$Ow)^QY%{n zpLst({QZ3P=ef+4=@*N6zna}+e#(RH{Aco?C7>p-CF}0yA?T%Cg<#dmLfkxT?0o$3 z$3-UMWHV&NUGS5Wu(+bY$!pw1pwEBvGX%|C4jFO&o2>WEH{UG(X7~~d1lmLLHHIf~ z-h47F8(Ar{VZ$qBH)P5Q^3{qo7U0hPB1_Ib5&I3PR2ytGg zsdoiX-hswB^Q=tQ0Pbn1&3H+j#bD5!Am+g+P96ljv3MAZgBqm^ zo-f|-s!Iq2d}cNb6(wrX)e}AqH0VUQ$56GSbeW)*o6oZh^ns6sJ@Z_6EAc_mmp~T5 z&~=_N{A^1VmljVPYTSqYOe5I6Tqun&>yn(Bsw{?^NkH9Dhv0@=fH8BSjgBZlZqWE% z85MA>eOj}aa{%5ZwX3~koK+>$oG)h6ECI18S`r)F!eRT=GM_TQAc?TnNro4r*(l0g zBrMcAe|WJ5Pl<;-9p*cWvQzt40a6I+gDYLJq@VQTJ#)fsh2wOTZ zQ&!!7dC|k7`8$}S@45l+MFsNQDC*kDC{{8{%x3ELLZ=jN+H67w-^0|TDFmi`m4TT3 zUNEn>oA-}T9LMX&kK*9F=dIkq9y_yKvW_AXU_cGOh>|tb&wObxl;V!oqvCoKN&>HM zzVB45+AKRv@Xhm&8e@WZN)mWH0*%-SGiB>D0xI*_ss}fV4Ib>&*(>InkSuD>%iBF) z8Fw$c{HFY+U0w3`kIp6-9BM#MbB4L`3O06V2mPEmm;U~!j~n|9fHxp-v{c0Tv01!& zXd3_WpRTSt#K1MjW=kAv9Q)3jn>oKPPQ^HQJjTBM7TmtcY*2TC|Ko?#*xFIT&`kxL zoT*@NK>IpI=414B7e(U4M#-JMS70st%lluefl#nL8&LK`no?<7O6MP5e5FJ*3J^GDUvq)oZ_qW%d{58&rl@OhrAGYLkNWGKh;1A7({O z!ex_c#vmj%X-6{1BV<7=a;ZRz?UEMHQX2#sq$W%{oR>No_*8o*s8eV1Zsdj(0x4AG zBFwDwQ{qcllP08PVr{BHP??^}sdcI;*%PL$2avY8dX6b!k%_)uM|ixXPJuh+gNgRP zGJREwiIr((TA6-f!27i%7Wv;xgM#ulkOZ^@zm$GZ#zJ6DHx^1n=-p1~2xTQ?oe2PS zK#IT6>COI~?|etVK6T-)SY#t7z1{iyy6dhJZ8`Ph`N=Wft^j!Ckw@^|?|xSRIRl<( z`{+_rxgG+0%4N7r0&=$x1pd^pbGyjcQ(w;?e%3Ma4pg)7;C_)g=STwe=o}ev47wYE zaPv5u$ovRHKDl;jXp@`oXT`dIY=FBo1j@54)(5*-9O{Ep9^RRzn-IjQ8A2>}k236S zn={1)g_c|@c<<*lre~{W2PXUVJ7lrTD_=9Y#3iI ze)85YIab|?05ZDXaQhOQ>dIy}&uZ0S0lTlMnDPpT!>LElY+R(dzzSQhM>e?{*?|`g zNHP0zVb}nJf`CHqV33Q&w5ApCazH50nEDz$X;T+d^~NW|PZm=c-&7J`2~wzgr_)46 z6d=v2MHwmJO5#Aj42Is2u_y45B+*E9!({c~H`*YnqA-bkePDHy1ZAB%GlC1}#?ju< zh`}{oXzcAlIcm~n__P)i*{uPI=3+G4LKeQjqM@RrDU|2(m__E8&Mx>kbJoYmn1=gQ zOz{($^QO5z!ouh|eB-%yas14Tbw~-6vCINV#$^++M9YgjDAT0a1lG>SSCGi>E>Vqi zAWfwON#GUv0yCZ%%0(a_siwJRCCIR?SdvtE4l;O);7z~#SPH*1t;niEn&2lji$&+4 zk~cFK$(X16ElR31L*8YbJNU}D3ZPe+?HryCP&Vh{?$t3KJmO=@tY}wDj6=^?FfiDN zw~tPnV;ka@>sl`_7;I8+O&f{JwC0@Z3m*FVfH&WoM^p&$OZU`cXIzI3jpl%ub*yiw zM#;99AKj zMfi@*Gd9lD9;fj(P8p(EySFo?g!}WmL9-mDd_2YjlRurqV!16+>$u zYSWt2Oq-A8+vVsMM;fGm!mm0|NpD3Esg6tr!)yqcLE`K)kaL%_*ij=tO$5Z#{Yd18 zP>a)ymTBf12rA*qlV@dGnSM^w`vrwd_3(Kh?;1EAOH9y7Cm1$j5||S#lkI-=(MJWe z(-np~asps7*p#S{38y55z@GYWGV5$?rBjT3v`jVfiV6A!w&7 z3+*F+^;dsYfHgnE_0cAhV4RFOiwJIqbC=Jpy;7o{OSCr+h`csOhci7X?sLgC0P`MiQ~h zruTQME_{))oO~v-q0O@lF&ni+uPsB=fr3nEfC;5IDSg>R`=Xjx(YdFpMWI|nf|Z1- zD>M32boH^Xt|RI%pX#VRHR9AUlgZnKxW-N_L8k!9P-a1x!)%^-Q~ z5%`^L@C;z^H*7;%GL`S!2jSNj;jwwbN`z$8o)7%g4*jGK_hr^0#sV`A(WkN4SklUn zdRw)1DTroXe5i&0S1rGW+i=t%)+AT8?vWrV-;b2JO!cc$5MV{rQmB}HsHD{8D`6R(anZ7q!fHg7QB!>n1) zScsS2j_{AZ(x{RbuUM7*@Z%dhiWn~^s52Y6XH{LU)UcMQS+4kSmZ-RV^g-Pj^@f{R zc~~lPH(sX7Dsz;>Pwa@9xo&y=Ng-8wGWjFj{XychE zJx37VO6Kz5pdpR7E=F2V4fcixG6?zu;rSShWcD-9i17<@#>76NjzS2(m1^CE(1PFNM3p#;jer}LYT7um%TRuvg|ys!@mD+ulK!Y$84CvO03)o zE&(Z0q$rURWm+mqR8n!6N?dkQa^iSNT(PT^aw?9?u}kH$l_-%^aww6aN+cl>7D;fy zLINPx!OUO=gV|?#dS74ndw2WupY#2<`*lyx5JcG_RCTXCBBrO`d-vV@-+Rw@zVn^4 zG$(d>!PO5fKFIMMSQtW&CEkt2C>XJ1@x9!ElmDS;28&8y;CUZXeo?Y54`3U*pYb6M ziBYVRvT7|EX_vz4XKJP3_POECPYO0P(oh#zH{}5xS$Hl=^^?Z{tMPN5{Yfm{y9U{v zID2tgE>29z&XEBb8yS|~(Q#RE=MH$cl|x2jWX=7F9f)6D#h_$Bn?5kQncMfcn33~m zFUZML6Yk<}$&T@EIk0z7?A2W67Yg;|hV%;F*xHKmsj*-;6WaPk3{^^0o+HYjau_lQ zeOQ%f*bO99NaO|ZK_VMEGpH$JZSzo?5PFv*yax_f;XVH0#g}Sl#A@;t!)efN8heiSx@Mmzq}IyT{0j*R1Rwh-BYjAtzs4k(bYkeE5B_ zeB*l;X?gi;Key*Po5ppg7pWvO9nLQupnGZ(K|`@Cv~s!iP^^QrouJ&``1-p;`N-kE z4eLkgOkveGj$=*k^q!{IY2CFr@x!`dqyRQlIg{mL($K72)bBi?93|j+L?^|v!z8lU zoRraIT=pN#Pisq7JR1Ql(g!jVNgu>DQYB&L&RW^_c4U2kQ^5Jaq7oU{wzgpV|vcM`i|i z`I?l<;2XGXp)+Vz&o6%Pp5aZrb9%BN)UKc9JrL_K^!I?=%Wz`K;jHy3z*!_W3j?XQ zdaJj$&bA%XUi}@wv>F(#05F*8ik$|74mKRDJM`lK@c_gC#$dGp-~q$|tf4!H9Hx?& z07%299bg;Qi;q3_7;PBA)Pr3IQ;*kxd4KlVXQ^YyYae>(A^se{hhfpmCmlb>`=AH_ za0h#j&&KO3jXZ!jBs2JVWk0!<4M(8>h8*m7m%y6n=!%CYOAkf$ai2Mm=Z) z%vng83N+AQp)g3w9>Jjsu`{u*q6#KpW1Fq2aX)}IBs7tq({b)vw<K}C)T&&b zSd#J4Ss5AbcL03M9qTUDIkzxy8Zw9oEH#wM#p=AgcKmgD?8)64|#i>bSw#ZP=sD|GWMs{+(gzDdF|6tln*1>Sg?K zj!^u>l$L~6!>%B)VlXJKyvWdX3c9BvS6_ZC!|@$QWa`v2a_`%_WY0b;*Jh1ey!3W= zZz=r1u_YJ>;Kxi1j$ht}v_(U?0;3%^9C!{COX)3UtqxE#s0l-^G37RNYQXhVIW~mq z6tm9waL7HOT&p0!FU41kniar=T`vQq6ffW)Dh8iPzT@5#`W_Gmr9)j1g@!zZ1ngL| zvHN{ocLfJy;V!tae-}!wy3zkkcz53o2u;1?3ZMD?A zS%FkJopd$nq?1Y`(Dfu7kW>d=D0L{3f8 zWF?|=2?C5Pe7oI#z$aa;{0h&gs;dU%Jt!Keg9bZ`kd)UiNC~h%KP%zwN0b46{zncR zx5Qq!BxYoo?fhVLrv&%j@BZy6F;f$;L(pMWK;xoAet>DZDh-tZO7O*o>?2_K3w7+2 z41{VSm#L1{B!$ z%O|F!w=a_Y{oU^Ua9&da=LQ5TkusD7)xJ1lDTsmEwow-$&pu)&aL!RwXu+XQ8_*SN z7?B=3oJ&f9pzX)hvS~{h=-{da`-;I?eq64gl3x4;Q#m2qpuaeNm!V8LtQv3zqXMfM zu49Ai0kBF;{LMs^iLP!cAKMqnD+`&-x^?~+6INE;vAS)glv`V&eDr-?a_Q=X{2zaK zUOxZHTjUe(8{fj_n{6H%*AGWo?`U)1or&CeG?wlp=wL0@`SdM6>v)i?<8`ePzW2(k zeD~O#>>Nxq1ypU3Hia<-Rq84MEoMq0oo2~3oy&&4^TFd4Quc%n1|)TKOc5>i8-@gL* z6;Q`}ck28rX1>$serv~KyJLT&aI1Q|8E|(%DK8Y%FyXx96cqE5)V2sT~TZpjsw4CTE;;}?;doK1J^l+3f20J59-h}Ul;(zg2h8P@lF<2 zD>sHbQGcocjH#_`<9GSuLWfns+|rE(;X4>uUAGBQ5EfKE)fi4KJYb@eg?pdHrW8*+ zNjDkW*Xuq$bHIFBg24ePR#wF}TM`{PXF z5V!P;U!MM1fyQSZR` znP)7S=*SC2(`*sZ4)$GvTgKlF-SHe8=#|WU?#a{B^7^GY*)uvIu`ART7FJ|>p(%+w zu0#EatKxfQVzTi0x|Q+0_ohY#-Y8g@Kr0L#GHo-%goCIdKz^VMExIVMv^4HqW4I9R zL=3-S_d;zQDVxH1qU}{oA8_jnK@@?s;RA5Q8o>=F)O})xX6YSm;64*+;1ikqK;1;v zU51Pr@EbpAY&sC|Mktc69nE?TDZ6@%{H;49`Qx*N%w@2C6uEsMl6!}9`O>#8$sc_E zvON6Gars~V=Ixu_V>3h3d4t;CimW2mH$b~xw~@SV##B1&PB$7%@`KY0@};LH<%g#h zrQzPECkgeqhNc7GZ)oh-j|sb1Dr>W8s7@+YJ4kAysxDKu)PZ)mLWP_~F!K7;RT=Cb zWSCQPxsW&*k;T@Ey9RqG7h|D?*HA_mxdI_$=oq>rwCK+Q%I#F2qWfz6nkR{kTLTNg zOars9B5@7UiY(yusmCMGx$QzjodOgXSVxrA71YIJ4u_0=sP9dJ-iO6umInYEGcnN7 z7bv(<5P&#Hp|{U@|H!)nO>M#ElPTtn6ZRvkKc1Q@}J5xV)x zFCGc1Rd`YLnU&2Vz&zwJaGQYx4L$?19Weiun@#64YO7UdXMs}fQ>Plw{AW5|E(D|L{YK7&f!2Z6?sh03$+`yc-2{(Lt875Wt`u6AuxlV{611{*(m6BNFV} zEy1omQoQuCls|e#On0wXOmFt0DDi;3up7WB^y#RyNLN4=HY|ZfQRwg`(?M;Z3T*gT zQ*$e7QwM!EZ5k7TaQfBj45z!`LM?Jc*?a^4M#xgYcC)Q7WV4wtD(aC>NeQ4W+;`f> z>&6Xr<%OtRXJ{biIk<9dj{fb9IN@+BBs<_zGstvG^~N?zXzN~}3jyn&Jvnn)^izISE48|mO9@|+tDazkD;2V z^ng}n73+3CfjWHfbO0{q8je$ea@z@jSP3L=Tj_n2*#vx>SGE=$qbs^7T ztn(v!J7@L+=)Z`Ab!<> zklSt(vul_8`mQoQeTu+T=|f9@Pa9z2%W(PgF%FR2ZN7= z4|NJ4tw}9iD}>1M9ZtX#{QOfjidB=#1P9XfD7hOlAcUa{euZabbeud2_D(4?Kc zUTy;W&B?a>Pyfa3@|&MKwB@F?8K`dzk8T0&w$oqUZesqo-q@@6>g*ECE~oM*Kb(?p zzA`7TU0sy~fm!T?!H3^SC+Si7*RQ+TbQT2oe~Bx!)>a5k!JMNrf}#gq4-;a(BBXX3 zsiA?t{?J7O_U(?lC2wj+E(&5h~E%Kh|ZaYg*}TTvwSd_BAAlWp1cUc<4z7T$Tkc99&wqd`S6I_XjD=JS0dS$tnCLPonOOj*T-Hk%z74b(4Qw4S zQg8M4R@iQ)z1}Jl*^aT_`ua|w-pNpJ9lqS^Rlb$Q-pW94O>OOz;ZzBw+xen*z9)VM z(ii}DXzlTHu=thqrL#lOscqk|EjBki9$Q~i{eI{1sJ_?DrL;U_8|!SE}bS2iUEM&tY8)jgN7mvIO1R?9(-u8Q#ui9021Uk_&qS`qB4rYt0Q!Q zdrL?VvYB_50X*_7d=#pkWT}32n(m2T?(3&pjD7AU)mo2_O1N*I12s)`eaWr2K=js- zl_$5!eHtw@*R>eJ1K+keBS34xQuXZy9S*iF+`qTseV(dpMwHg3S2bQopcC^rQFf!E z1GeAUX<#~NrmSIGZ9Lm3s&ci?%wzS@H`=pjs%y!_R!aaSeitA~%6NQ2Ka{7(0t2)W zf_4hy?edgxOAO$+$t=yW@D5NH783wgc;g?0oF43Q@#(_ZMiF0h}OdN3v!~ zU4Mv_Fjs`QeMYw=(V`4p9<@FxIae_-kjU-(24&Z1pQL3bCoj#*LMzo`s1f@@$8IX* zj0fVj8b+<8RqH6$Zm6HcbVz3W&C&lI$MRqPox5cBXydvY&Q@04blkkmW*eCeK)&UM zwJ!6zo-UGCCz|p{Pff}*XBOqcbX!LIBFbx4-5Pk{aId`gwjue8=VxSjEq7o(SpQl+ zbYSyC#`xh>Q~HpoMCU44BZVq4p-Yn2r$g)QPL{E*aLOWDe0ImL^%hhQbMpc5D5BY2^3c%gE^a4&_tB z-KDVZ3mufM&SQ>yLD8W89BZ~LA{LVH)Q7_j?ky-J;M_#8kMaY~R#<0Q)shh}i4pGy zZr2HGu52pi4K+vp3zXhbLfoGR=ec}kL9putg&vXC>>*;n`{|70D2I- zF*ad+Xtd)d3{d{exh479i!<`<*(I4<%B0tU*!|;O(spb1{zC)u8z0y$4;<=~S1+x~ zzx)0K!?~*6vgA2%lfL_XD7|3B9HmOr}i}y;j8M5}|X0kBfX}11nF;rF@qUTJzA$ zXk5`i&VlPbr$jE#Q~zXv7klAdi9`qMaRqEc~uTPG(WRsQWowT;P^s)e|1)C(M$r8?(@g=e9l(hq zbs!OhVikoi5H(FQTt~GU6@TlFe!2CQKIwI6_{rz5k%_gX_r15uddIz?9NaM=M|TZ! zz;$jAdLfzZq?zt=eo9NIbNDga+OXXO=m;;t8Zmss+(WOjkCJ(bTAw1 zHzLpQ;li(r>IZi(SBgO zo1c@p@A!8=b%1h^zw`UAx#O}R1Kkld?q$_IupLsHj(xHs8~S>9ryD)z=m5cc-Eg_O zb%Ve!fZ$k*FW^>=zqo66p=ISm_r2E@Oka`qS|VxQ$Kp;4S6s58?n6{+0SWJRI!d7y zO;{kpLe+wuj=if7T&Rp*U(}dKg|1H=^AzE6X~$eZ>hr%TTM{~S%9=< zye4AaT%nl^iPa=ud?vm(vlrY|7&G$KUAsDL&EfSxkBhMy#)OU-cd^Lyx(0z@e9%%3 zr=yI=3LUb%_HnPbdiyKE!e4hkeiO`aCy?Im^;-e=R_1!^er+ey*^cqvu6s~*0xFGq z<;&i=f1Uf;IdpoX@3kFZufErh1N%4YPSo2?fIB$Yf_8gYJZ*Zk8-OJ|*a9zSfDK=+ zNvLpWK#V+*P^9)}07(F@Xg}k1kghPk-fEaQPgdMepYT9+%|WToACSrD6EE1%s$#do zlHe1rDVkA~^C4~EmCOJD_@B3#b3*#L<_eOf z73sV6fXHCKTzvkRBxhSPzHhhmj|@q}s6?pfkWDD2wQ8&)s&TfdYTUu3lG&v*27K?W zI_yBREx!F9=9O=xzF`v5YLAS0sk&httBBGPW&O*_MiZZlASM8G46Oz#LE-#BT9Dx@ z5y*r=x-^!INtlMsx@C`QWrPJ<2)h`Qsn!CHsZywic2)>VFB7RTMs z9YkT98fXln25<=}BB^*-Wo?!1#BiRWrX7I1;CJZj>yg8|M`iz5ABX$SUs{w?SFdSt zMzonR1gyVTB9T zWVkyu<()U7vg|~;cGKV}20|wnQ<-bF`Mdi^yKe~AfBa3#%E_xOdF16;dF0rv%((X* z>WyUIa6_h-QaLo4Ot?T7&u_S#NLMjU>{4U?A7YF#m^o z?;A;4ZZ??tM&9FQ1;ovM|HpmaRyUkZ=Dm{CY}W<2*=PME$K__v!Wy{00pLzhhKEmV z={{l@XI^Ti5|R?F+Nc$=k1D6#B312b5y^*}QQzdOWGuRc_c6TS`6SE~*5LVE78;OJ zs?Rt5(&K`|X(ih4;L-`;Gu5eE^^`722R9smM5{TZD+w$U!RGRLjiEC4xd8I?kq;8K zysJf7#oS}S%)oQLP+dC0ReId}P0cS$lq7QCAN{7-)m6FtfBwI6?Wt#F;@kxp-MK?X z_Uv?6CFFY$idtXL_}Nt533WxOz>Y19*UPJCJpcjO>$JflBm`*nP8NnPH`=1d&>R7D zqKqeF-via}5~SmT%?rBDapEJ8q4{6#=Qb+B5>y+m{g|=gUx?eIf_Cz*M5> z!uh4)26XD74oqTBVSJ!hj@~*fWBmwRgqb^D?bdWW5MN45)vh;9C;b5Tz8;rSh%4Rle(kr)>4VK+& z^*bnf^>*)I@7<4=TDeRtw4~|QRl^;-BRl$JuqWE^UN;*qF`MsQRyv1Zt9^Xx^=0|u zGn4X+1LJG$LV6o2Ie~m;s+r1v`S2e3uiT%-Rw2Lr?W=O^a#Q-;@60S`1ov^M>!q}M ze3n+Re{HuUle-SUrd!`S$T9qysB0CKF?es$v}a-18(47ODRgMss#FhJ zbPkKd4wFT$`@PId0=XU_?MpOy6_%`}O7}3dUV7&(uwOr%^uz>+LPOt*y1WR{vuZt~Xj?hXmc?8aG{{(8Z`Ls;R`TBQr7LUfB0MY(3kNh zCQ%b1a|v1)fV2e10K+3ux3q8BCsWTIlj0x$GuiXYzaR&H^9v&G&&;2HOJ*MVOPPK4 zMd=&tm*IVTWoWREugw^A&)Wk+#Z&gI$C=h?zp7Kt-AIoR*h#*CDG| z@S)D8LpxI)u`7T$hlk`z>)!*Q!vXx#6(J}Js`Oh7a!RHe>>?{vB7^3Ld!G#8xosFF zkI&-VpHUBg0NsGm@uWCZ(~MKc^Q%$zD3&t!LpZ*oyHGliVmvOPp5L^oqo;Z~#lT+7 znTPJKSPtwPl%2!<^33rol9PoFq_;bi2ksn~#kEwv_wp5)pKr6n6LLy8l&&5lx9u90 zJv;jd;%43JespSDR@Ms6N-&KTzwg%FXipah1Yzr!x_@tBZP^xGXi((jMxBy6G*c4X z=td_SjxT}PoHQC#nnEk<;2oF3#9~XPmfAdKgI$pv813=?>z$0n^}dh6mS86Q#>`4C zkG?V|-#oP-uUuN;&ttc)TkhnKxkBh~KD>6RHhx6KfI$`KL4RT^2rCr-Un-1ILF|kgte+p@jP46_0|d8VNHm(b3{Fo z(2a!cWTcs5C=0PRsRkOs(vQv|5J42Vf>5yJap2ukRFd zc^H}AhS-%ADbG(xxO+^>?uG;oknTzPrF&;2^N+tM#~*!M2Ht+B>~sKr$It(a`}0v* ze)f5p{Kj|W($mk&>|BrBa?4(6xZ{;^c-5$^zz@7?5RPR?P#7q<1yD!fK`g~~xw^tY zN<#w=TX+W7eXmjjWh!e(+Sj3Lk6X_JIYmOzHuVVqy1av1=RRzZOR*-}ep)fEExcUKtMR=|QoMb0#;S1{%N zEpVW9Y%r2rMh9j8!9f`s8Iy`iJ;W7D@caBTLU2FgNs~2RTE0llx*kyN2t?U?xWvnk& z23kbz4&8rWcEwPW?lS%Is~_Agf9+j6%$k43#;bg8= ztH+l1in-31*n|V37yw0g?v;yc^3sLd$vWFu2>`b2P;@ebsnGYxR0hU19BP;vdG1Ip zP~q9nb%t979Egl2pcajs1tQiH-WT?bJjF;kMMsUf2LbnAI3%9vy6~VmY=mUesow{X z5B*?0?o%kJVS|Yd83xO7$IHEUXrg3=CIRQXw!qq#qIQ@}gNE}KEnI!7Y6|(A4*s*S zh=QN~jo%%&k&yveUS5@zm9^T{q2At78}6B4+ObB%FsKhmz13Ui{hMCg85mLp;UQUH zKggCVgC&flR|yJroX|#BX{mH*P!E>aao1mqxZZ`x_|rc zN&eW6qI28_`AO)XI?)iM-Lt#yIGcAYnJ(hFr!R1m^L0e4zJPL#QlEa!GiA^kg?Oj zx{@|`4p_UQqj291b~(UrDS_CY?&&P4{IlA*Xi&Pct%;BKT1=jT&nK4OiM{K zl|9kk&h2X!dZCGJBdngxJ&TH>(1F`f6Cardml*;y02Ihypq4-Z0qeU}4EGiEbd4eFo6|Aqb#`GI@veYBZu}5$Vgv97F((O z==3$YIt?34E$nb3hfnrC2V(oWV)}Fg*k4;tDTzSG0nQ*;X(4A40(KQpl%nV{Swcd! z63Q6wB4a}l`3Z(am)3Fz*xRzWnn{ZFLxZ=)xmfx{I_zw zXFC4l`)3yA+ou-f8^>p5$sMDS-iVTz75Co{-8v}0`t~vT*xe(P-+cY$Ir-hkCuG`v z=RHFj0@TTvLq-F~nX9uc7UJ)_ZAd#IQ54& zWx07R{1i9bFNcQu>Zf46)my#Q+g~Zhy$UJ;F!HV;v|xkm1VfG>(xKrbI8N!T!eLQH zqoY0T9$rO45A@Rb!B)Cj+ig2^7+!TAl-lrF?f_h_R)ee+3bid%o0c}ic;NgH zmX)gmm^MqmKtJ)k^vq_Vn$=K&0`?OYaE6}rl?#aRL!*%-?|%pXl&`%m`J+FO{ORNF zzt2j$zh8p!Vd;0rVrb_+Y34v46=;@wAgz(G=8er-Y8>}-%uWC4RJgpNLNS|MmLD(~R) z9YHS$F7mQ~xK!IY*xX@2FAH_dOv28yYJt|vB?ds7ZFjPf@RMt`$+v=qZTYo zOXZ0ueIjWVC_xJFzE-H@00lx3YpSg~cPp7I8XQ0wYD5mK_sagg!!o*~kNdi|TuM7# zb?4ia1YJJR3Pnge;+jz@ijg}G49WgoebVR(Wpa8+zVrN?EV$P(9n+|60}StN`-izE z5k)^W*OJNECiFWToMouI17_Bpy9j|j9I(ka3JKWs(-yO*VhlaT1mfbpd{N!ahH!&-*`}_lY#x^n77405${2+6n@GoDT zmp?x~Cy%{0&-J-`FeYe+Uj5?^sDJ)lJLR6ey=2Y*`L{32pFA@o(<`a$9!O-j1MOwm z*%1&~bYT1Hd@4JK68ZEy#^q!8j><>x9^Ry>-w17z>p=YE;+iZhukm}sRufi@7?K8n zrX!5M-jOa`6d6O(n8XWWIZ%lRQhYINY(p*L=wZ&9wIq0DW(11UFrmv70d*SbObmc= zfrMZUZ3~$&iVj=qotJz^C@$C)G?2w$K87Jq8tzqafHvn$N9fijx_3w*xS0D z;A~6ivmOG?mN2Cbhu2%Z)my#QTfMz0;2szqt}4RZgG~|DX5>038XGcUutu|4K$jG< zTlmFT(Lf%1mxNLuv>_cFAQNdj5FPWu3ZM~DgOO8L4JO@?m2(d{=-g?c7}6z%paK?^ z?qLYY2iPmcgvyfQ<*%2Q?kyGpfK^cn;@Ud4N_Y5R=cogc4cXT>B0KLGB9NSY>=`-!%_k%nae!@f*zHoTWV-d5|6JBt z)_{&T`hbSy1z&Apr7d^w8kUd0yH6%(*5vf`f-JcIh37K|fxQkoMB5%90!$^o4hG)P zeuq2-Aw>Xz45x}{!3UrNSqlbrX&=cNC*rxoP^kfM2l$QQpp$WkmjE9J8Y#9YurL7Y zj%5LP0KKY1y8RKqQ;wkL50Vss9{}X`S|%e7MDE+|!1`FfbT<-)-d zjJck25|Us(BWm0~a_??}tn*iza^l=9ffon(P&B%i^!CMa$ejzMrxxxt7q2YK+?)fK zi7!wZh6A@zsNDAXH%8!hD~IN041>P?tTP`3yKH~vj?_HCx$CcuDgJ=V1%4u-oX|coCMvKyIulB zcSFnWzaQ2t+>^pw1Kq+z9k&W;Yc*~%W=KS|z%2AONr{=xw6N%dBnG4dzjwxYq1d_q-Rr_N=?FKd81gwC%Y{!Q_WXVBJNKWW< zq9C*&;Pi@qotm#01*`ZWUUR{#Q*A^)|Fp>XSu-gRKEpz}du=+kxq=gXx zHjWYOLC$ck zq|%9U5}Z#;Zz2w(>g;SOcOKm(yKfnmrG+(VF6Cs}jStsSa2XNohu(k(c6wkT(PROm z{``eGxpb}Vjm7=stpjsM_YTXx{e!Z&l1rXN!+!=YTY#H8J5 z(qM3q&J@H7sF@Wi%hyiK%lFPN%DLH=jP^uwWW0Ml(5VWx8h7CQ)YPi{w_iTv z!2P^*xuR^}a3VSbZPrbUfEBOKwx#XP`Fjox%BSuhlb^YJSjKvzZPZ9elPLY+ymkviB!mT_m4=#XYdk}K3Np18oVs0sqZK(Wx< zJ{rDn04vu_Idp?yrnaTDhv}-gpW;{{oC$?X>8*3)Iytr8>aE`Dt=`@&;eyGvPB3|%G6!KU{DM}NMy=OpZ^|Ef30$kLULO&poxZ&v3fNVP=(6WV=&cf zXIdYCObgc}!ZNnB6fCF?&C~-P3~(Hg`2vXGKw79e*@(k&u`+*n=z?K}lmiTFnQsAM zTLu%ofwx(YRCPGu{cjg>e~QnZk@ATbCHwbJNpb4D6vKlOjt$A6D@q2UgmN8@0A%?_ zNKc2}xFB7f(B*^yRru#dNk@#CrM6rDyHeRisLlGN0D&uYBPQvKr-Wm!Dv zdm(Le#r^ln)UpmTFis$lci%NG<9i0^f^vC&O-`ShQ=3d$BnI4X==YfuP%7z8y)cBt ziCU>dZvDd1#z2k(OUR<+TBGfz*<8G>|5aNa)r#={z8USl_}V3T;nhph-Id7E{X68I zTlY#Mj&2$-@fQxPKYD6jo;ajU~w<9~d zeV~_ub`%e*X(3k^+mg6z?c?{1%17@SmXE(}c#{lgy++*ztmD04D|vBpLFSsP4zMrr z*RIZH^61l(^37+jXr~258oN{|1~;Z`bGNoatZPWN&^bY&2oTK)>q^pl(*e`#@hL@4PNJv!ce*b*}TpD z{s{*^QQPNH=>c}6L$C~i!=+Tx+7Zk+j^fvysreBEdj}ub=ORR z>mX9;AT;8*2jE4FyGRWsIqObKVBDc;N0$Jha7MEi;7wm|^;U27R&Vw8rhq#@CLLQO zQjK}!9;}d5V8Ac*(dUT+gYZW-nc6J^AY)K0)I>oJeZ!6~)qzQPW(R?Sw;Vtle%dfQ z1PdO~{)GD15CsEt+VqIlK};~RVWx~29(a}pH90>|!-|Z$gb*YKnsW&DnSo9^j0hJD zjV)Jzrm0-(@O`sfVhamTf7d&XNOb2>Nq*^J$-eWfZAi^$(Wc)B}>VCINnahlftUEs?wCz5q2J$8*syblNcEy7`hv`~1@f%8; zRy~6*l|vQl_D=yf~&q-Y&?{=-M&LiqetdinY?^@K`vgJ*8M>7z^t5rI(;k`1nLz0tW??E zQ0E@7b5X2a2-@+X*d#uRSo|S@7He)hjJporJJvua_(kEl=JxIFcO8`bj_h4GJ~G?T z+bwrqzWCBK+4U#SE%OsFNV;P%Onn1$Wnq`~jcq&W*w&40+eybA+qR94la6iMww-j+ zvF$H2^G?lIb?W?qv(HoOS$m;)xUCTntUi0)Gn=)RWgW||vu7u+tx48Qon>uqC4R^K z%JyZAC+v_f%+5NY8KVU(nW4HEF^_TV;5|}yl3_wnK}0^sZrsfvE15FRKrP$#yaAKR z8MhohG&PNiO2)JYjt=ntMQ126_R0Vg1w@yE?umpCim}iB%bwq2wuD=y>I!55Z!+10 zYmz?bwbcFPFk{k`9ug3PmvxoLL2gCsMCjf@eTije`SX(i#7xp&{3zlcBoayzL?)Ni z{}Sbr-nJ`UvqK~Uw&5Oi3dQ}VYngN%_-^1L=<(Jpb%81t_IuZ27#3-tjH%i0Y1n0i-3p`8A5f=%3LX;? zk+s(43m|e-=9BOsTtSlHZt|?-vqf;N1RvX^A!ylyPatvsRl!?f_>&qNCwf1kCBENE zkbhk^B>H@DQ|AIHhD22Y=Zq3QZBs@x9~jJQ(F9n327uuxRU~vPfdRi);Arr1=fZH5jjtj}7OSe&shI$?cy1ExFnG>U zGbpN`;1n1@ZwUgXTB*|}hE@8;=LzL(enCB9uvlS|s(A{d2CUazT)BGsUED>-p+GRj zQ{(D7(b+<)g*?TbOF>hXX9kDl(Q>dH@^?qLYVirKJO^?%%6JfGYi1a##t+xTw0`}VBuh2d zw;AWm<)JSjut#F9g;~K~mP#!v*6e`)Dlm~-aSq6zlswcqJtCa-WiyNw>~#rp!ED`` z(6afLmC~y{>Vhq5V<3`}1;9=NF;OY{qC{Q+c~4_b12nL36i;H zvryy-%S&{KahxqKC!dUA^t$eZk@QgEf(&*s#GG_%HavGrdb3%)T%O-5J7~us>u_wvxAxmh@)sFj{~u`aU+4nez66T3-`U%f zSWr4RjMW6)B%AFZR7KCBI1dkr&(3Qym05f5QV938jSW6>P1GlDEN9?_^bX#b#|f!l z@}qkL#U(#01zZIF2=_@5{#X`8DFA-#L$Uy=M`J&(QzNqB8){4tNq)wZd^@yggcNF^ z>6Yqau;t)$nGLBYctuz^Go1p6 z1T`!|c!H5jeDjMe+aLCqrQX{`i^%ltf6y}mBWEW2B!3Vree^V`%izWkj-ztDpEe!l zi~PF480CqMj(!}wzh`-v<8g%_pIGsgZMODY~l!Yl{} z#VGttyGtCW$LxIv}#%399Y34Ugb)%qOSZ8yz}ik&-;_$ z?`^k8(0uqdwkDKScDvQz{bX8rtW=my2ZEX=vF`V5ncFR_;-V#*M!WzMMXt+hPvu#d zVS+PKlP6glH0q6?fwod=YVl;h&R|ZYi^I~Opiz17-3oIYr!0Q5$Ssu}t~Al)S1X{a zkr&eHmZY{j%z}his%Q^+p++iaI$bA0YKm1R){Rnf|7rEdll^IlF%}C#=GP|uBn&k_ z5vm`A%M-9qJSWH%ES$eSiIxNX9!>D$)D+fNfXhm#Sff6V!FgKb+n>Ryja+{h`j+%S zARG>rj~(UGo26b(vCkLa1a$b={cr#9_uY^aX0yy_I9@ING$@1)xN1Of8LSHm-?2o= zp=H1e1`@kATujBGn8|^5Eu_KmUTdVY+8nwF_5~>j!|2X?Fq)Wp+J(?gr0pWUxuFY% zb7PlZ-$j1R2A;2JBcnmw7LM&A91rLfb_gYk)X|ncTn!UW;e`*|=b35& z`_02lOS#Y8=JJ%c+3cr!$;(TpVWz_EVY?l$iW!9uz_rLsz=fUhCM+hSz#eg+(XAU) z9AzS2usNV+=LG><^8Jv7Cv| zB7Y1t!9G{H#?MofL~Sv+P%Sn~D>JyFULgxGB}JoS4`6rn3j;Tw@=04#-@9Oh^SB%& z_jt84AlJeDX@MCv1kxWa@~v@_NY(^lgP_8uj#HZ8BVdD9Z6-NgBM7gKNIWwJv;Di; z=MfCwGS%|jsf#pSwN`AuQBSeF`SSAjFYB#2<q5jCD>?qQQ!DCUu}exJjMcW+zIxy3r!_Sij|1=8`w-4mo9sm>P#8dUigO*y)JCib=&SO*o1#(C3|i@ZwT?Ke2b#E7f63 z^K=!=m5|HB{~c6&((FDy%y|Y|ph2l%VwYb5)n#3{?zCD983DvNVo1ih(P=Q>GZ%M) zspLNd$M+nAZN4Z5BRQhPKLn3(cJ;HaG6Jt*#?uJ@Mj(cw(jQpUqJg7kr4p8cs)&JC zL`zD@;Drc%_jBUp?XX;n4miZqX*0!_;bzf|t-}=JCIFkk`MbLSV9}sIl$}F*Q%6a{ zHp6-Z*GZBSwU>@~uAh6p<{VzSzV`S`^fU;1d0lO_zd4}9zV6ULoq0IBN2)EvU8p~# zsNScfs9*14WPYb&mS5Ys5iWU|hDdZpYV=HkouL{yERObBOb&FvdAcbX=|&?aq8tr1 zL}JhJQsTONS|&MIxqXe)&5Bo4Ljh6k%75m;xW;F3AP>9;eB5O0qlq&+vj>*5^lvbt z@P2Gz$_r4{;!FQZ$@z|H&3h`xIXi;S<7u`Z3J0ujz!!l)!OYkU3|9Ed6R9gy(J{1` zj!c6<;fhd%Z}<3Vs;6mJ14fHl=7tKad>y1-J=+iOPpsy3wNzX&cNwf&$&-~X!OT%d zVQ0(6x{An$GnO)Y6qh-oSNX!P51EK@%7UPL7(U{e3z?tI<*pZ#CjokRiB+0Md&N#Z ztWPO&u93bST)E>!gqaB=40PisZE7cuBgQj=_59&hEu9KQu}Xf=h(*z*G*E~FNtfO= zjWXP9oAF=gTO9{UZgHal`3DHqG7#qtm+1pIW}bD_a8s%GY^Wap77KW92i3TpJeI5C z()}|W39i&^_tJ8#!e|a$a9&IdDo6|p5;@n&P~AiEc{%KP0~eC0J0Fatq|)h~4HsDc zQaxVEYg-#}HBF-5{|gxZ%QYv&(S45tQ6O>)*iwg6fbR;u%n5dqf{E&2RQea#r%V^y z-@?wKaX+9JZUa7rooA8_qGLN%{0T0q`W>DCpW?8HRN4b>!b%H%Op+Hv726qhGF&2 z*Nh}Sau)+fNfz@u0DVV$g+B%<6Ug!{1M;_*Ei|ayzBZyO0*1YQefzsjmHu3oK|$+9 zqQ^`4^Rs4)gb%Tlj;?BS%vHy;1GnDFT5uS$eYAIn3-r_Mz4D9iDf=%{XOQ3d>H6!8 zNR3+<9OT1ZHFV^JV0-&(;f0`FWNNq4M*CfoT${6vT4*R5ce|4)VY^LSBT|Xu>1};h zM|*+Z_kNg+vK2yPx}R9}>ni0?6|x=lgfQB~vhE_5d7g7AcPp^3*o5?tHG~9_b=R{Y zjm2V>g61I|OD~2`G3lxE?|bZD`(#D%zY(vs+$N!3+l!hK$L~fMC$vL@7uh|&-t3YJ z+o)tFD!@g-d_FFDD@O+p>f4d#u7D1PH3!!up?H={*p>x!J9xyX16A0b?5AX47ra!4 z=opo{;X5LsU;)``2r-ED{bEp)Ox=n(S~b*29Nb^lVbKm*`@65);YZ)wcq07FL`nvF z?!4^8_pLd+2}O-TV>R_NQ=gwMtWkE!*!sCaqOddvOttXd8`b(R4^YF0d!#`un-9aA z;Mh|otI@Fo)f$|0 zAUy%Wd(*F~(M!y@o*wx*_CI8DAZ!=n4!Q}rlV^)nahfW&PE1eYE_<>BQ{QC@R7;Ob z-{he`Hh?P-!bTcS-2E+6cg-WE5PHTSzE6(Y+ya}N)3i6=yj-uger^hmr3-7<%ZLGd zhiAO5vrv|#ZvGChpC9!$ZPN{oYDftcY>NQiC#-0u@_GgN6RDc|y(5C}E~lbXBEWCV zkV`x1rzYk|cw)gX?GnYZ*s3O$|D`G@0=!JX__6z}3v4Py+gLWPVP`5%+5ml2p+UNf zLHi`*LQDksK|8<$V(vf{t}N3o6G7HP%a~Cpmq}27oZYDige?&;m=YRoe31qTsI2`Z zlnKAlqPuZIZi>pkj$c}^n6HkjkyoU^RB?`Tz$f7DBkcRoLUCw(#Y^mW@!?fivN5{& z9!Xc#d?@YqgD2F>)Vnn8=0VA#nHcB=Cg=x-yz>Xw6V8T-?G?Kj!VUfL+L|X6KVZVgfCD23D3!h!i>Uv2p*$1R-|h@%%ym zx2ORAV-FlKBn_hDgqu2MV=^2(B%->y932*R>HxkDp@Q56_k_vpkQIegj_q zT(pe2S@x}TW&w~oJ>jPW1cUI{Dm94g&j3cHr-2aW4p4O(5|?RPSQ8;b&M`<=9P-D=NhtD>iw77)`#dJtEVtQvlQuY=PLplW0%w98l24kB?iy%KL8j^ftf>EeI5 z@H&iS>M^>fm=o%X1MjOWhl>#3`@IB;6;Plw=K6#|EXFx(h@2|85fTk+o2K%b0W4_K zg3w2btL!2-gymoefm`uQ{(Dy7^hVi^4B*^I@z>9TI`9pD!X=K%z`xUS;4VPx4~7k^ z6hMm~@x}Q2Tl4C|AV@JW*Sz7yT9y(bpP-+fT34avjoWK~y?fwe51aTnd}pidUgb|) z4rUn$QHp@N?8A&r{*BF$Jmzodt@TuPH{&-9WNZAQ=_(`Q{r`rY@N|}xeV)8cW-K2~ zffOnfjK7RYRNbW9Dl{rEAz2wyQb6{2L3+;?wX_rD!lZE{!5x=LXdyu2%7?D;=}wk6 zbQzxsy!1fQ^fV8ItwkM5o*N+JC6fQ|HwoKue8U#uFUiQcR_AvlOWTx#Gr_&kN+M~ zYe4t<*T)#la>OZP$yXM@C8C`plLh!mfCL9p&LYAWa@IZuErb^(LCc0Sy=#tULk*WE zx3c7xMZvFXK0TeRLA*3bsGB@p@wp;77_V*Q zjxJO`KU41X&@fJM9Clz~5lAAL7NU%IJU&eL^Q2Oms~^@G^yqZ^_)2wOADJI4?^PqZ z>J9jm$2?wNp7|FU*kU-E6iWEsTr$7Jyt$6{C78VJUjbK02mT^Vy{4>TXak!!T~OQZ zd@!@WtEl6X%u`jv1~$RzeUHu1Lu8leXX|=qW2~X@jFios^%i3s606G5=uf;V5c;$q9it(?ESLNLLiZ6qW`kLP|-2LN@2| zQ8o5GAL3V1LF$Rj&!Nr@v&N4VvH#YxmG-}ck!SJeYo`ktKdzaitLT7FpWY0kb5JKq zg03b5c+~b3^5rQZv>%)`Cqs}i+f#z9x{dr$c;6JO1oImO7NRI-`CkyZ-JK8TzTU86zthb{3E#8R z4!%4bv~yelew`BJNGZNu${HY{&9}-FsVbl6)p}jGV}D3*X}^~&iW;qQ5=XC>vE8Wwo(FCZ2#FFzl^zV1ai27MVk`*J32&sI-zxrzzxF#UH6TCrIuUy*o~X zWJ~>cpq82v^Xe=^?0;e1|M9lY`2RtT{h{?72v!MUrUe*RnX;l9NLJ36Eud=RJxU&> zZn`r6l^j0Xw~(yuHtBt>A9N*Y(;et3>Bl8B`J=ZcYF6f|7V$Uip$=6D(Iyr-&n&ZI zfv{cz?4`yqgZ8e9rpOb)t+?oK4ONxP|2^Q%0(h_$z(R3}WBT|)QI+Z%gKyvsN8KGL zek95gZV1qNtdJBK7|7`kJ~bFCDs zyi_rE(`{WEy;>1*kM=17-f0)^5EVI#S~dbKk9Wh`$;DR;@hU!frVzouYAWZkH;f1)I5LYa9zw#!!WC(PYPke};=g_yURf1fDb{ECZJrS=%13pd?10Xjg6u!mR_KT^O z3-L|v=Wb-QvsiU{B!;Zld5oTcChc!q;5yov7ZT$5(Irlr!Zt@EM6w-a-~2~EuC9&w zVij1W0zDgdSl#*d(;Si9crNb^aLuH42)=XwJ^1<=#qbC>5|d51c&?mPbu>V4GV0fL zfI|3?hX{(^v(W<6LPDCdND1f`NqZG>W*$77A@n4FH3=JUKcM|S*a?m65mJu>{Ysxm z9}>4-98Y4=6)>PQc&FZehtGUPVq6#0pp~4#Daf$hg-PczcL*CaIkUucFKepXT73Ox zcn-Jex5>|}lV`;CfJG3f+2Mu4BYf!wW``41l#KC9D5^jAL_ai*nr}5<42zsf*wxjM z@o;QWfxrJ_u&P{K5)ju0vJle0IX|81d%K-aD~nfcc>VblFpc~_qN(rqw{B`0M4+O3 z5Brz~TQ`|n(wr(@c{_iO2{T6UDVFGWb1lg74O3D7AYXcZ(GVC4JhzaSR?|G*>#UqLj`S?cc)3@uHqL%_dd!?<(o z^OWw(^r}~)j({by2Yf1bbc9Nybs7^82uKzgS1`p*!2z2shs<27iMxr4YK!p0>uTS& zr{mJbN4z$c4mvcnsK&A&h^G@LIN4MTI3K~q*xW_0UDs7V>As#94e@Tf0}@4|Y7 zu*~_9b=83es@tEY4+J#*@l}w}7?pee_QxAY)EMpb;W34Sth@DWkjQpO0p8JB2kL-nq{JZ8~ z&&iW)tT-nzN($HXTF#z3Ph%;n#Tg-+e9QC(?nkxWudyf|BRSplyWS!?c0RRAO#$Dt zZ#$Mui%UshXrM1w)I*u7!B{>1N5LSeM1HC?7FS3o0O>t~=1htJJBGzH* z+MW14d%3*$2+{{#g&W9P3)wZ(UOI@)x?OMd;r6fdUab^lhdctXBIi09ZtLj)EpYO- zH{xn7i~BilxbKI3b|OA69J_n4DD>x_m=7s7IgBkxRpM371BwH2sFENWwEX{rEdVzN z=W)gPGhCQ5fL$GuW?)tb1I4;Bq)oB@1P+n1$soaM#4dWG6$mcCtveFX%B1KuT10=&b~Xa^?PC>g;kN6DVIo^X{D2jSARcLxZ@+i(TXBO%8f@9!a(zCLCZIe>RH`I6ZY_ zU}R)$|1gO6LWG~#K#Uuwe}gn>wmCe9(?E|_s>o3)7mbo*`hA)1_5?wv9RJ~boJ!*H zv6)37=~&yCSB#IGE0`rFIVKMXy@CaPTQWqYkg%tkUys174T*5d!7TlkxPx^crWFw- z%caVK^;C!5)mM2=Ud)bj%>o}uaFZD0{m|bo6)4b78%HnRsET555oe%pJe(*oJ4_7-)wOIc z+{hjY7OYc+N#97Dm?&f0`s!W?xM$?$BJT0MYCS)WX=Xal?DHC`)#2cP{heXQvgQ2K zb}X9{9xd#408Qq$L_sfgLL~~G{4X$&-W<6i3g!-08rYG{?L9$CkpQW+kv*NhLiBLa zSxYK+48e(S^%Ueoq$w0Sj^7a#Ax_sRPwIjJny2;>C!J5s8(?aY90sI{%$I5M*~gvS zqk#~N5w2IQnL~YonUqYjQWUyC+6piAppb5rg;=ub5D?)pDzh6!6n1Yco2ItVmWMM$WiFUmTFkdxl&A( z9eS^VJ+s76Bw$vDZZV<8ZN>6~8Eath=8& zRDakqNEy%nmnkB9AvFK(VkK7j$Z$|@z9QT0a^E;Ik}{O=k0;;jP!3gjQIl!}J$k_Q zmbqBSI*b|aYT(Mv8|X7lNTm^*cX2A>8-?Tfd1RLRh1dzvuTj6(Invwi4)G#d>Vxwo z?%(>F3HjZGI7Fuja{+{wWC0qIZ_r*(@i{itC?<~Sr~nSy7dHR{V2W4LWfn~;S)Bd` zx}BIWlAZ^1_Gv$z(91?Uwu_(CjR-%b!BubB8wlp5xw0h70ny(svVoVHhtu@b&oIbm;kX27Laeci^R-NHDMsnsX{#m*iGzrJ+(qUr986?>3f-XAPS4f5JfRwEnO86G>X-?9a?*TM^b7c zd{J1p5$L#7_0abz8VcEQ*guJiV|ZL+SvKykk~JgCL&9a1Tvygn5Ri(e9?@#1cN1-u zJ1tcg+M55j?*~Lgc?NQxF}V7Xu55;~eo&usN{-0h@L*F&p|)su4#q(2mO5`PTa!qn#DSV31vnAFf(kKUXWq@4eZw^u{&7GEhz z%&6rjWU(e4no}%?=}>A}{l#FVq*0 z9tiI5{0bVF&+dIJ>M_D-|W<buG;tWfVmC-JV*#Pn(TAo(;e7x>t9*x>setshWRjroLt5e0p`d zjz`x!0-V%-H-qF6iIP!z1;@HjtP{!e44Rbdy{g4Gh|mKiylNT*s}1c|VHplF_=lb& z@eErAn-ILbtE3W7j}u@}p$AJ9a&1gqbV9flP&{X5e|0bso*Hz+qLhf&`gvee)-isJ zT|7$NHzg-CF~NXH)Mm=E*@0MXe8+!i*P+&JRHsk7fYkQ_Pz3q7*8+r{ps-IV@K2YG zmIJ{9#qi3mgKqLMX{~WhC0%T0J*eW6V;G?yNiiKH17Z~=CDz${*MkS+vauzjYE#K5 z<^WGv@bmM)r0K)}ZQ%l@-kU-8M3=c=m@osEKNqG!LE5y}97CZ7`VufJ5B}~^U%^5r zv6I;qJ|va=uaFhrJ}fnBEj-#W`W{5Inc)B|G231ga0oC<#Wh7c8OS678q$CeS{HV& z4>}{frYrzM9nBuN#jUcz;*ygB+a{P>KMX=TPgdZq)#10FNe8=<`)#1_BoRF>my;~N*IVf(`*PFap_$52$dG@ULerMj z5x!auIK31)O` zK^S8wt7_HAS^Boz*hn+Ez)DO<<9M9=3b&qNDoGOTcXXg-kdw7Dg35MiAmR?pB?HBh zAMJg;NHf^|P8N*N6F`~QEe5=3THBs5*aLa{r3l`Ii#rg%2w}t*lL*3$yps+}k5lsB z?lowto+%T_(GO6>hvG|YoGFG{{jk_e^h)-!FeK<_X2Gflxn3dt3?7!Em0DzmNRAHi z$>07t+f@RnXH@n~=Xe(5Y(NdF`u|^66$Vd|_g*+FBnbHNcMF&&$Ikx_NsNW$!K4bk zX^FnwR8Z&y4g#k=>LBC+7nllw-kq2Z142UatqukuvA_kc2sTaLCzwU?nu4J8Q?7&P z0+7bZxHd6VHmtd!wcMx5^65gg{}q^w07T3Uk0-bmG;f)HY>d}X;%+JjXKeoR`Scdl zX-{T8igrL!_NkXRwGT4le_j{(+-&szDw2W<^gQ%&yG-n6Ahm(QH)yM+n&I)64F%5q z4MWBqmq};R3K2Km#HzQ)-W)_GipN184ZtMGPouIAuc{?f#dQ9voyDZYsH)zBaP-hM(*YeJmala(qIRRUX5j>SYeI}w0O;)>6PZa}U(@Hl4WY;JvjgbJt%sK_5;N?Bv9@#bnvPim)6 zyjSamRL!C+Ad5;XC1y$Hxm_#OY7a~0M?O2|t1U}C&u)x`xnEOuMOX&>6?pn*rCl^D ziKn0lr!d#Be~14 z!vg&7-Z9w<6Ej``lh2a7nI+iNr_i!Ich9GqLcX*|LdnElm?ckDiM~5p98MZO=X==g zq;Ok9Nt@pr4|1=&PeM6Za^g6`iC0L|&gT;Ytragn)dhdve4%YFP-*GR&;xM^MKti& z6LseD8#T(fWCZ-YF$nr5YJ$!@7-1X^l81P9?2A_M$M*&EXl5C182(;;^u0Y`&AbUH zz{Q78Ae9L6ACLJ)lS;yS2C|SH`(A)96`=-_ z_cqf=J>3$h*8m*w!B+EELZc{!2ED6DbbpW+SCDIrK?VaI9=62=Tf| z$D9S1Sd%-n*%^5P-;y%Cjv=u2{ri}Bxe=B4wJ$*^|K06~RNT{mC3fXjg#et?a*gG@ z+LUAL@}=BrFqkpd2bTD~6s0W)d>q!4*>AA5{ZwFc3*rv+@gtqZ9Kwa&_*^FPIM#lx zFmPw%d+NtKp;hQ4 zv3+s>I`!{^6^$GlJ%kwb1tv|z;yRGh(OhfNX@(gGR;>1u zeuQSz0&?NuIeHggaB5Ef@X2f=%(nfL-5HPxnlHMr$G%uQT3;pi^H6r3r`@f{>$srO zX5B9c?mAx1$ur&LcRgW9nr`xF1@-|#4RjE@=yA9qj#n9uW2G^{ndS&^ISg>QPkPmh zEKh~BCpY$oTht&**XY>0pAj+h0TBBK-~8Gg5`2GrSKhdx1G+cRmh#ah=wf?w4qr~B z_#svVjD*&|C*?qP^_8`=tDfZ#8qIjVrnkL$-=0y%O?#FG9l(lCIEYXmykK!LIQ!=uiL z%-1E}NmATSTBud5TU$fKX->}Tx|LVVV$44EWNUGdC6i6aj4gkw-^N=FK#xo0j^VxH@DnmuKH|_E)?Et>mT#_fIbz$upP`4YpqP({$VMV({@V z>V&iVHmiM_$9w+$v&hQA)Lo+Q(}~8s%FLF$-LHbgEaeP7C7HJsd&vI3`oMsH zxP+7#7IdpZ%7TZsLha|sWoh!7{2U8MfZJoudIBBT5Lb?D@y{djOR>m1m9#r_P{V*P zn&Z2$`3@nc5oXO-CIqY$y{LMi@RD_a&gSvx8YUq%U> zIlyiNWgY_r8`}oJlmwjQtGwFe3rd5H0rjme1=k^S23>r~A%~NdVw8S{Ct-w^I&u8V z2DbB^$&1S0A%5;JdvAfd4BGw7DrYF0O;mo9{KY8b&pw; zrP#2@?U$c^NQ*#4=5z`E@_^wSP8vuLZ&ix>a1^ZtHH!>(w9N0E}wa$Dh?OYX$L@9^QC(eLBsUSg()0U?ZzjuWjS z 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

Vgn8s3BxJttwP!+0+JWPIHiMQ2?i?r?ll#HSd3D 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 F{{SzO*Q5Xd literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/images/slider/sub_slider_default.png b/smart_admin_v1/smart-admin-web/src/assets/images/slider/sub_slider_default.png new file mode 100644 index 0000000000000000000000000000000000000000..67a4f2794e26b2e082f282b6209dd3208365cfca GIT binary patch literal 3105 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 MHZZ?drRNg&AN+^vQ~&?~ literal 0 HcmV?d00001 diff --git a/smart_admin_v1/smart-admin-web/src/assets/style/lib/animate.css b/smart_admin_v1/smart-admin-web/src/assets/style/lib/animate.css new file mode 100644 index 00000000..6c72f594 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/assets/style/lib/animate.css @@ -0,0 +1,3625 @@ +@charset "UTF-8"; + +/*! + * animate.css -https://daneden.github.io/animate.css/ + * Version - 3.7.2 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2019 Daniel Eden + */ + +@-webkit-keyframes bounce { + from, + 20%, + 53%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 40%, + 43% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -4px, 0); + transform: translate3d(0, -4px, 0); + } +} + +@keyframes bounce { + from, + 20%, + 53%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 40%, + 43% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -4px, 0); + transform: translate3d(0, -4px, 0); + } +} + +.bounce { + -webkit-animation-name: bounce; + animation-name: bounce; + -webkit-transform-origin: center bottom; + transform-origin: center bottom; +} + +@-webkit-keyframes flash { + from, + 50%, + to { + opacity: 1; + } + + 25%, + 75% { + opacity: 0; + } +} + +@keyframes flash { + from, + 50%, + to { + opacity: 1; + } + + 25%, + 75% { + opacity: 0; + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes pulse { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes pulse { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.pulse { + -webkit-animation-name: pulse; + animation-name: pulse; +} + +@-webkit-keyframes rubberBand { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(0.95, 1.05, 1); + transform: scale3d(0.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, 0.95, 1); + transform: scale3d(1.05, 0.95, 1); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes rubberBand { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(0.95, 1.05, 1); + transform: scale3d(0.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, 0.95, 1); + transform: scale3d(1.05, 0.95, 1); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.rubberBand { + -webkit-animation-name: rubberBand; + animation-name: rubberBand; +} + +@-webkit-keyframes shake { + from, + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +@keyframes shake { + from, + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +.shake { + -webkit-animation-name: shake; + animation-name: shake; +} + +@-webkit-keyframes headShake { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 6.5% { + -webkit-transform: translateX(-6px) rotateY(-9deg); + transform: translateX(-6px) rotateY(-9deg); + } + + 18.5% { + -webkit-transform: translateX(5px) rotateY(7deg); + transform: translateX(5px) rotateY(7deg); + } + + 31.5% { + -webkit-transform: translateX(-3px) rotateY(-5deg); + transform: translateX(-3px) rotateY(-5deg); + } + + 43.5% { + -webkit-transform: translateX(2px) rotateY(3deg); + transform: translateX(2px) rotateY(3deg); + } + + 50% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes headShake { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 6.5% { + -webkit-transform: translateX(-6px) rotateY(-9deg); + transform: translateX(-6px) rotateY(-9deg); + } + + 18.5% { + -webkit-transform: translateX(5px) rotateY(7deg); + transform: translateX(5px) rotateY(7deg); + } + + 31.5% { + -webkit-transform: translateX(-3px) rotateY(-5deg); + transform: translateX(-3px) rotateY(-5deg); + } + + 43.5% { + -webkit-transform: translateX(2px) rotateY(3deg); + transform: translateX(2px) rotateY(3deg); + } + + 50% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +.headShake { + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + -webkit-animation-name: headShake; + animation-name: headShake; +} + +@-webkit-keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + to { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +@keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + to { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +.swing { + -webkit-transform-origin: top center; + transform-origin: top center; + -webkit-animation-name: swing; + animation-name: swing; +} + +@-webkit-keyframes tada { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); + } + + 30%, + 50%, + 70%, + 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, + 60%, + 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes tada { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); + } + + 30%, + 50%, + 70%, + 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, + 60%, + 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes wobble { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes wobble { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble; +} + +@-webkit-keyframes jello { + from, + 11.1%, + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 22.2% { + -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); + transform: skewX(-12.5deg) skewY(-12.5deg); + } + + 33.3% { + -webkit-transform: skewX(6.25deg) skewY(6.25deg); + transform: skewX(6.25deg) skewY(6.25deg); + } + + 44.4% { + -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); + transform: skewX(-3.125deg) skewY(-3.125deg); + } + + 55.5% { + -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); + transform: skewX(1.5625deg) skewY(1.5625deg); + } + + 66.6% { + -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); + transform: skewX(-0.78125deg) skewY(-0.78125deg); + } + + 77.7% { + -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); + transform: skewX(0.390625deg) skewY(0.390625deg); + } + + 88.8% { + -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + } +} + +@keyframes jello { + from, + 11.1%, + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 22.2% { + -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); + transform: skewX(-12.5deg) skewY(-12.5deg); + } + + 33.3% { + -webkit-transform: skewX(6.25deg) skewY(6.25deg); + transform: skewX(6.25deg) skewY(6.25deg); + } + + 44.4% { + -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); + transform: skewX(-3.125deg) skewY(-3.125deg); + } + + 55.5% { + -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); + transform: skewX(1.5625deg) skewY(1.5625deg); + } + + 66.6% { + -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); + transform: skewX(-0.78125deg) skewY(-0.78125deg); + } + + 77.7% { + -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); + transform: skewX(0.390625deg) skewY(0.390625deg); + } + + 88.8% { + -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + } +} + +.jello { + -webkit-animation-name: jello; + animation-name: jello; + -webkit-transform-origin: center; + transform-origin: center; +} + +@-webkit-keyframes heartBeat { + 0% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 14% { + -webkit-transform: scale(1.3); + transform: scale(1.3); + } + + 28% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 42% { + -webkit-transform: scale(1.3); + transform: scale(1.3); + } + + 70% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes heartBeat { + 0% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 14% { + -webkit-transform: scale(1.3); + transform: scale(1.3); + } + + 28% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 42% { + -webkit-transform: scale(1.3); + transform: scale(1.3); + } + + 70% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +.heartBeat { + -webkit-animation-name: heartBeat; + animation-name: heartBeat; + -webkit-animation-duration: 1.3s; + animation-duration: 1.3s; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; +} + +@-webkit-keyframes bounceIn { + from, + 20%, + 40%, + 60%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(0.97, 0.97, 0.97); + transform: scale3d(0.97, 0.97, 0.97); + } + + to { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes bounceIn { + from, + 20%, + 40%, + 60%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(0.97, 0.97, 0.97); + transform: scale3d(0.97, 0.97, 0.97); + } + + to { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.bounceIn { + -webkit-animation-duration: 0.75s; + animation-duration: 0.75s; + -webkit-animation-name: bounceIn; + animation-name: bounceIn; +} + +@-webkit-keyframes bounceInDown { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInDown { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown; +} + +@-webkit-keyframes bounceInLeft { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInLeft { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft; +} + +@-webkit-keyframes bounceInRight { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + from { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInRight { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + from { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight; +} + +@-webkit-keyframes bounceInUp { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + from { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInUp { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + from { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInUp { + -webkit-animation-name: bounceInUp; + animation-name: bounceInUp; +} + +@-webkit-keyframes bounceOut { + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + + 50%, + 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } +} + +@keyframes bounceOut { + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + + 50%, + 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } +} + +.bounceOut { + -webkit-animation-duration: 0.75s; + animation-duration: 0.75s; + -webkit-animation-name: bounceOut; + animation-name: bounceOut; +} + +@-webkit-keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, + 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, + 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.bounceOutDown { + -webkit-animation-name: bounceOutDown; + animation-name: bounceOutDown; +} + +@-webkit-keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.bounceOutLeft { + -webkit-animation-name: bounceOutLeft; + animation-name: bounceOutLeft; +} + +@-webkit-keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.bounceOutRight { + -webkit-animation-name: bounceOutRight; + animation-name: bounceOutRight; +} + +@-webkit-keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, + 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, + 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.bounceOutUp { + -webkit-animation-name: bounceOutUp; + animation-name: bounceOutUp; +} + +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +.fadeIn { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; +} + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; +} + +@-webkit-keyframes fadeInDownBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInDownBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInDownBig { + -webkit-animation-name: fadeInDownBig; + animation-name: fadeInDownBig; +} + +@-webkit-keyframes fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInLeft { + -webkit-animation-name: fadeInLeft; + animation-name: fadeInLeft; +} + +@-webkit-keyframes fadeInLeftBig { + from { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInLeftBig { + from { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInLeftBig { + -webkit-animation-name: fadeInLeftBig; + animation-name: fadeInLeftBig; +} + +@-webkit-keyframes fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInRight { + -webkit-animation-name: fadeInRight; + animation-name: fadeInRight; +} + +@-webkit-keyframes fadeInRightBig { + from { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInRightBig { + from { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInRightBig { + -webkit-animation-name: fadeInRightBig; + animation-name: fadeInRightBig; +} + +@-webkit-keyframes fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} + +@-webkit-keyframes fadeInUpBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInUpBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig; +} + +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +@keyframes fadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOutDown { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes fadeOutDown { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} + +@-webkit-keyframes fadeOutDownBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes fadeOutDownBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.fadeOutDownBig { + -webkit-animation-name: fadeOutDownBig; + animation-name: fadeOutDownBig; +} + +@-webkit-keyframes fadeOutLeft { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes fadeOutLeft { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.fadeOutLeft { + -webkit-animation-name: fadeOutLeft; + animation-name: fadeOutLeft; +} + +@-webkit-keyframes fadeOutLeftBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes fadeOutLeftBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.fadeOutLeftBig { + -webkit-animation-name: fadeOutLeftBig; + animation-name: fadeOutLeftBig; +} + +@-webkit-keyframes fadeOutRight { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes fadeOutRight { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.fadeOutRight { + -webkit-animation-name: fadeOutRight; + animation-name: fadeOutRight; +} + +@-webkit-keyframes fadeOutRightBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes fadeOutRightBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.fadeOutRightBig { + -webkit-animation-name: fadeOutRightBig; + animation-name: fadeOutRightBig; +} + +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} + +@-webkit-keyframes fadeOutUpBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes fadeOutUpBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.fadeOutUpBig { + -webkit-animation-name: fadeOutUpBig; + animation-name: fadeOutUpBig; +} + +@-webkit-keyframes flip { + from { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) + rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) + rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) + rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + to { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) + rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +@keyframes flip { + from { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) + rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) + rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) + rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + to { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) + rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +.animated.flip { + -webkit-backface-visibility: visible; + backface-visibility: visible; + -webkit-animation-name: flip; + animation-name: flip; +} + +@-webkit-keyframes flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInX { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInX; + animation-name: flipInX; +} + +@-webkit-keyframes flipInY { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInY { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInY; + animation-name: flipInY; +} + +@-webkit-keyframes flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +.flipOutX { + -webkit-animation-duration: 0.75s; + animation-duration: 0.75s; + -webkit-animation-name: flipOutX; + animation-name: flipOutX; + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; +} + +@-webkit-keyframes flipOutY { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutY { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +.flipOutY { + -webkit-animation-duration: 0.75s; + animation-duration: 0.75s; + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipOutY; + animation-name: flipOutY; +} + +@-webkit-keyframes lightSpeedIn { + from { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes lightSpeedIn { + from { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.lightSpeedIn { + -webkit-animation-name: lightSpeedIn; + animation-name: lightSpeedIn; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; +} + +@-webkit-keyframes lightSpeedOut { + from { + opacity: 1; + } + + to { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +@keyframes lightSpeedOut { + from { + opacity: 1; + } + + to { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +.lightSpeedOut { + -webkit-animation-name: lightSpeedOut; + animation-name: lightSpeedOut; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + +@-webkit-keyframes rotateIn { + from { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes rotateIn { + from { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +.rotateIn { + -webkit-animation-name: rotateIn; + animation-name: rotateIn; +} + +@-webkit-keyframes rotateInDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes rotateInDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +.rotateInDownLeft { + -webkit-animation-name: rotateInDownLeft; + animation-name: rotateInDownLeft; +} + +@-webkit-keyframes rotateInDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes rotateInDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +.rotateInDownRight { + -webkit-animation-name: rotateInDownRight; + animation-name: rotateInDownRight; +} + +@-webkit-keyframes rotateInUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes rotateInUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +.rotateInUpLeft { + -webkit-animation-name: rotateInUpLeft; + animation-name: rotateInUpLeft; +} + +@-webkit-keyframes rotateInUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes rotateInUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + animation-name: rotateInUpRight; +} + +@-webkit-keyframes rotateOut { + from { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +@keyframes rotateOut { + from { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +.rotateOut { + -webkit-animation-name: rotateOut; + animation-name: rotateOut; +} + +@-webkit-keyframes rotateOutDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +.rotateOutDownLeft { + -webkit-animation-name: rotateOutDownLeft; + animation-name: rotateOutDownLeft; +} + +@-webkit-keyframes rotateOutDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutDownRight { + -webkit-animation-name: rotateOutDownRight; + animation-name: rotateOutDownRight; +} + +@-webkit-keyframes rotateOutUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutUpLeft { + -webkit-animation-name: rotateOutUpLeft; + animation-name: rotateOutUpLeft; +} + +@-webkit-keyframes rotateOutUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +.rotateOutUpRight { + -webkit-animation-name: rotateOutUpRight; + animation-name: rotateOutUpRight; +} + +@-webkit-keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, + 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, + 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + to { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +@keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, + 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, + 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + to { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-name: hinge; + animation-name: hinge; +} + +@-webkit-keyframes jackInTheBox { + from { + opacity: 0; + -webkit-transform: scale(0.1) rotate(30deg); + transform: scale(0.1) rotate(30deg); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + } + + 50% { + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg); + } + + 70% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg); + } + + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes jackInTheBox { + from { + opacity: 0; + -webkit-transform: scale(0.1) rotate(30deg); + transform: scale(0.1) rotate(30deg); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + } + + 50% { + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg); + } + + 70% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg); + } + + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } +} + +.jackInTheBox { + -webkit-animation-name: jackInTheBox; + animation-name: jackInTheBox; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollIn { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes rollIn { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollOut { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +@keyframes rollOut { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +.rollOut { + -webkit-animation-name: rollOut; + animation-name: rollOut; +} + +@-webkit-keyframes zoomIn { + from { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 50% { + opacity: 1; + } +} + +@keyframes zoomIn { + from { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 50% { + opacity: 1; + } +} + +.zoomIn { + -webkit-animation-name: zoomIn; + animation-name: zoomIn; +} + +@-webkit-keyframes zoomInDown { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomInDown { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomInDown { + -webkit-animation-name: zoomInDown; + animation-name: zoomInDown; +} + +@-webkit-keyframes zoomInLeft { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomInLeft { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomInLeft { + -webkit-animation-name: zoomInLeft; + animation-name: zoomInLeft; +} + +@-webkit-keyframes zoomInRight { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomInRight { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomInRight { + -webkit-animation-name: zoomInRight; + animation-name: zoomInRight; +} + +@-webkit-keyframes zoomInUp { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomInUp { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomInUp { + -webkit-animation-name: zoomInUp; + animation-name: zoomInUp; +} + +@-webkit-keyframes zoomOut { + from { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + to { + opacity: 0; + } +} + +@keyframes zoomOut { + from { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + to { + opacity: 0; + } +} + +.zoomOut { + -webkit-animation-name: zoomOut; + animation-name: zoomOut; +} + +@-webkit-keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomOutDown { + -webkit-animation-name: zoomOutDown; + animation-name: zoomOutDown; +} + +@-webkit-keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0); + transform: scale(0.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +@keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0); + transform: scale(0.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +.zoomOutLeft { + -webkit-animation-name: zoomOutLeft; + animation-name: zoomOutLeft; +} + +@-webkit-keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(0.1) translate3d(2000px, 0, 0); + transform: scale(0.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +@keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(0.1) translate3d(2000px, 0, 0); + transform: scale(0.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +.zoomOutRight { + -webkit-animation-name: zoomOutRight; + animation-name: zoomOutRight; +} + +@-webkit-keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomOutUp { + -webkit-animation-name: zoomOutUp; + animation-name: zoomOutUp; +} + +@-webkit-keyframes slideInDown { + from { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInDown { + from { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInDown { + -webkit-animation-name: slideInDown; + animation-name: slideInDown; +} + +@-webkit-keyframes slideInLeft { + from { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInLeft { + from { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInLeft { + -webkit-animation-name: slideInLeft; + animation-name: slideInLeft; +} + +@-webkit-keyframes slideInRight { + from { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInRight { + from { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInRight { + -webkit-animation-name: slideInRight; + animation-name: slideInRight; +} + +@-webkit-keyframes slideInUp { + from { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInUp { + from { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInUp { + -webkit-animation-name: slideInUp; + animation-name: slideInUp; +} + +@-webkit-keyframes slideOutDown { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes slideOutDown { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.slideOutDown { + -webkit-animation-name: slideOutDown; + animation-name: slideOutDown; +} + +@-webkit-keyframes slideOutLeft { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes slideOutLeft { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.slideOutLeft { + -webkit-animation-name: slideOutLeft; + animation-name: slideOutLeft; +} + +@-webkit-keyframes slideOutRight { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes slideOutRight { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.slideOutRight { + -webkit-animation-name: slideOutRight; + animation-name: slideOutRight; +} + +@-webkit-keyframes slideOutUp { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes slideOutUp { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.slideOutUp { + -webkit-animation-name: slideOutUp; + animation-name: slideOutUp; +} + +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.animated.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; +} + +.animated.delay-1s { + -webkit-animation-delay: 1s; + animation-delay: 1s; +} + +.animated.delay-2s { + -webkit-animation-delay: 2s; + animation-delay: 2s; +} + +.animated.delay-3s { + -webkit-animation-delay: 3s; + animation-delay: 3s; +} + +.animated.delay-4s { + -webkit-animation-delay: 4s; + animation-delay: 4s; +} + +.animated.delay-5s { + -webkit-animation-delay: 5s; + animation-delay: 5s; +} + +.animated.fast { + -webkit-animation-duration: 800ms; + animation-duration: 800ms; +} + +.animated.faster { + -webkit-animation-duration: 500ms; + animation-duration: 500ms; +} + +.animated.slow { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +.animated.slower { + -webkit-animation-duration: 3s; + animation-duration: 3s; +} + +@media (print), (prefers-reduced-motion: reduce) { + .animated { + -webkit-animation-duration: 1ms !important; + animation-duration: 1ms !important; + -webkit-transition-duration: 1ms !important; + transition-duration: 1ms !important; + -webkit-animation-iteration-count: 1 !important; + animation-iteration-count: 1 !important; + } +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/components/active-plate/active-plate.vue b/smart_admin_v1/smart-admin-web/src/components/active-plate/active-plate.vue new file mode 100644 index 00000000..237e2e05 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/active-plate/active-plate.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/charts/bar.vue b/smart_admin_v1/smart-admin-web/src/components/charts/bar.vue new file mode 100644 index 00000000..49dcd500 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/charts/bar.vue @@ -0,0 +1,73 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/charts/index.js b/smart_admin_v1/smart-admin-web/src/components/charts/index.js new file mode 100644 index 00000000..cd86f348 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/charts/index.js @@ -0,0 +1,3 @@ +import ChartPie from './pie.vue'; +import ChartBar from './bar.vue'; +export { ChartPie, ChartBar }; diff --git a/smart_admin_v1/smart-admin-web/src/components/charts/pie.vue b/smart_admin_v1/smart-admin-web/src/components/charts/pie.vue new file mode 100644 index 00000000..4c4ffc7d --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/charts/pie.vue @@ -0,0 +1,85 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/charts/theme.json b/smart_admin_v1/smart-admin-web/src/components/charts/theme.json new file mode 100644 index 00000000..909b518a --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/charts/theme.json @@ -0,0 +1,490 @@ +{ + "color": [ + "#2d8cf0", + "#19be6b", + "#ff9900", + "#E46CBB", + "#9A66E4", + "#ed3f14" + ], + "backgroundColor": "rgba(0,0,0,0)", + "textStyle": {}, + "title": { + "textStyle": { + "color": "#516b91" + }, + "subtextStyle": { + "color": "#93b7e3" + } + }, + "line": { + "itemStyle": { + "normal": { + "borderWidth": "2" + } + }, + "lineStyle": { + "normal": { + "width": "2" + } + }, + "symbolSize": "6", + "symbol": "emptyCircle", + "smooth": true + }, + "radar": { + "itemStyle": { + "normal": { + "borderWidth": "2" + } + }, + "lineStyle": { + "normal": { + "width": "2" + } + }, + "symbolSize": "6", + "symbol": "emptyCircle", + "smooth": true + }, + "bar": { + "itemStyle": { + "normal": { + "barBorderWidth": 0, + "barBorderColor": "#ccc" + }, + "emphasis": { + "barBorderWidth": 0, + "barBorderColor": "#ccc" + } + } + }, + "pie": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "scatter": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "boxplot": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "parallel": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "sankey": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "funnel": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "gauge": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "candlestick": { + "itemStyle": { + "normal": { + "color": "#edafda", + "color0": "transparent", + "borderColor": "#d680bc", + "borderColor0": "#8fd3e8", + "borderWidth": "2" + } + } + }, + "graph": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + } + }, + "lineStyle": { + "normal": { + "width": 1, + "color": "#aaa" + } + }, + "symbolSize": "6", + "symbol": "emptyCircle", + "smooth": true, + "color": [ + "#2d8cf0", + "#19be6b", + "#f5ae4a", + "#9189d5", + "#56cae2", + "#cbb0e3" + ], + "label": { + "normal": { + "textStyle": { + "color": "#eee" + } + } + } + }, + "map": { + "itemStyle": { + "normal": { + "areaColor": "#f3f3f3", + "borderColor": "#516b91", + "borderWidth": 0.5 + }, + "emphasis": { + "areaColor": "rgba(165,231,240,1)", + "borderColor": "#516b91", + "borderWidth": 1 + } + }, + "label": { + "normal": { + "textStyle": { + "color": "#000" + } + }, + "emphasis": { + "textStyle": { + "color": "rgb(81,107,145)" + } + } + } + }, + "geo": { + "itemStyle": { + "normal": { + "areaColor": "#f3f3f3", + "borderColor": "#516b91", + "borderWidth": 0.5 + }, + "emphasis": { + "areaColor": "rgba(165,231,240,1)", + "borderColor": "#516b91", + "borderWidth": 1 + } + }, + "label": { + "normal": { + "textStyle": { + "color": "#000" + } + }, + "emphasis": { + "textStyle": { + "color": "rgb(81,107,145)" + } + } + } + }, + "categoryAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisTick": { + "show": false, + "lineStyle": { + "color": "#333" + } + }, + "axisLabel": { + "show": true, + "textStyle": { + "color": "#999999" + } + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#eeeeee" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "rgba(250,250,250,0.05)", + "rgba(200,200,200,0.02)" + ] + } + } + }, + "valueAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisTick": { + "show": false, + "lineStyle": { + "color": "#333" + } + }, + "axisLabel": { + "show": true, + "textStyle": { + "color": "#999999" + } + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#eeeeee" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "rgba(250,250,250,0.05)", + "rgba(200,200,200,0.02)" + ] + } + } + }, + "logAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisTick": { + "show": false, + "lineStyle": { + "color": "#333" + } + }, + "axisLabel": { + "show": true, + "textStyle": { + "color": "#999999" + } + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#eeeeee" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "rgba(250,250,250,0.05)", + "rgba(200,200,200,0.02)" + ] + } + } + }, + "timeAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisTick": { + "show": false, + "lineStyle": { + "color": "#333" + } + }, + "axisLabel": { + "show": true, + "textStyle": { + "color": "#999999" + } + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#eeeeee" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "rgba(250,250,250,0.05)", + "rgba(200,200,200,0.02)" + ] + } + } + }, + "toolbox": { + "iconStyle": { + "normal": { + "borderColor": "#999" + }, + "emphasis": { + "borderColor": "#666" + } + } + }, + "legend": { + "textStyle": { + "color": "#999999" + } + }, + "tooltip": { + "axisPointer": { + "lineStyle": { + "color": "#ccc", + "width": 1 + }, + "crossStyle": { + "color": "#ccc", + "width": 1 + } + } + }, + "timeline": { + "lineStyle": { + "color": "#8fd3e8", + "width": 1 + }, + "itemStyle": { + "normal": { + "color": "#8fd3e8", + "borderWidth": 1 + }, + "emphasis": { + "color": "#8fd3e8" + } + }, + "controlStyle": { + "normal": { + "color": "#8fd3e8", + "borderColor": "#8fd3e8", + "borderWidth": 0.5 + }, + "emphasis": { + "color": "#8fd3e8", + "borderColor": "#8fd3e8", + "borderWidth": 0.5 + } + }, + "checkpointStyle": { + "color": "#8fd3e8", + "borderColor": "rgba(138,124,168,0.37)" + }, + "label": { + "normal": { + "textStyle": { + "color": "#8fd3e8" + } + }, + "emphasis": { + "textStyle": { + "color": "#8fd3e8" + } + } + } + }, + "visualMap": { + "color": [ + "#516b91", + "#59c4e6", + "#a5e7f0" + ] + }, + "dataZoom": { + "backgroundColor": "rgba(0,0,0,0)", + "dataBackgroundColor": "rgba(255,255,255,0.3)", + "fillerColor": "rgba(167,183,204,0.4)", + "handleColor": "#a7b7cc", + "handleSize": "100%", + "textStyle": { + "color": "#333" + } + }, + "markPoint": { + "label": { + "normal": { + "textStyle": { + "color": "#eee" + } + }, + "emphasis": { + "textStyle": { + "color": "#eee" + } + } + } + } +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/components/common-icon/common-icon.vue b/smart_admin_v1/smart-admin-web/src/components/common-icon/common-icon.vue new file mode 100644 index 00000000..03cbc0e8 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/common-icon/common-icon.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/common-icon/index.js b/smart_admin_v1/smart-admin-web/src/components/common-icon/index.js new file mode 100644 index 00000000..ca1bd334 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/common-icon/index.js @@ -0,0 +1,2 @@ +import CommonIcon from './common-icon.vue'; +export default CommonIcon; diff --git a/smart_admin_v1/smart-admin-web/src/components/count-to/count-to.vue b/smart_admin_v1/smart-admin-web/src/components/count-to/count-to.vue new file mode 100644 index 00000000..4c8f274e --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/count-to/count-to.vue @@ -0,0 +1,198 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/count-to/index.js b/smart_admin_v1/smart-admin-web/src/components/count-to/index.js new file mode 100644 index 00000000..52c7fb88 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/count-to/index.js @@ -0,0 +1,2 @@ +import countTo from './count-to.vue'; +export default countTo; diff --git a/smart_admin_v1/smart-admin-web/src/components/count-to/index.less b/smart_admin_v1/smart-admin-web/src/components/count-to/index.less new file mode 100644 index 00000000..e17d7c60 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/count-to/index.less @@ -0,0 +1,10 @@ +@prefix: ~"count-to"; + +.@{prefix}-wrapper{ + .content-outer{ + display: inline-block; + .@{prefix}-unit-text{ + font-style: normal; + } + } +} diff --git a/smart_admin_v1/smart-admin-web/src/components/editor/editor.vue b/smart_admin_v1/smart-admin-web/src/components/editor/editor.vue new file mode 100644 index 00000000..da3123dc --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/editor/editor.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/editor/index.js b/smart_admin_v1/smart-admin-web/src/components/editor/index.js new file mode 100644 index 00000000..58c0cd58 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/editor/index.js @@ -0,0 +1,2 @@ +import Editor from './editor.vue'; +export default Editor; diff --git a/smart_admin_v1/smart-admin-web/src/components/employee/employee-selector.vue b/smart_admin_v1/smart-admin-web/src/components/employee/employee-selector.vue new file mode 100644 index 00000000..a55f140a --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/employee/employee-selector.vue @@ -0,0 +1,54 @@ + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/components/icons/icons.vue b/smart_admin_v1/smart-admin-web/src/components/icons/icons.vue new file mode 100644 index 00000000..08112f96 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/icons/icons.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/icons/index.js b/smart_admin_v1/smart-admin-web/src/components/icons/index.js new file mode 100644 index 00000000..9bce89b3 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/icons/index.js @@ -0,0 +1,2 @@ +import Icons from './icons.vue'; +export default Icons; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/a-back-top/index.js b/smart_admin_v1/smart-admin-web/src/components/main/components/a-back-top/index.js new file mode 100644 index 00000000..7c87382d --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/a-back-top/index.js @@ -0,0 +1,2 @@ +import ABackTop from './index.vue'; +export default ABackTop; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/a-back-top/index.vue b/smart_admin_v1/smart-admin-web/src/components/main/components/a-back-top/index.vue new file mode 100644 index 00000000..e13c5621 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/a-back-top/index.vue @@ -0,0 +1,130 @@ + + diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/fullscreen/fullscreen.vue b/smart_admin_v1/smart-admin-web/src/components/main/components/fullscreen/fullscreen.vue new file mode 100644 index 00000000..b5fb231c --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/fullscreen/fullscreen.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/fullscreen/index.js b/smart_admin_v1/smart-admin-web/src/components/main/components/fullscreen/index.js new file mode 100644 index 00000000..45c287e9 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/fullscreen/index.js @@ -0,0 +1,2 @@ +import Fullscreen from './fullscreen.vue'; +export default Fullscreen; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/custom-bread-crumb/custom-bread-crumb.less b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/custom-bread-crumb/custom-bread-crumb.less new file mode 100644 index 00000000..1ace1eb8 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/custom-bread-crumb/custom-bread-crumb.less @@ -0,0 +1,4 @@ +.custom-bread-crumb{ + display: inline-block; + vertical-align: top; +} diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/custom-bread-crumb/custom-bread-crumb.vue b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/custom-bread-crumb/custom-bread-crumb.vue new file mode 100644 index 00000000..9d1fc5d7 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/custom-bread-crumb/custom-bread-crumb.vue @@ -0,0 +1,44 @@ + + diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/custom-bread-crumb/index.js b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/custom-bread-crumb/index.js new file mode 100644 index 00000000..a360517d --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/custom-bread-crumb/index.js @@ -0,0 +1,2 @@ +import customBreadCrumb from './custom-bread-crumb.vue'; +export default customBreadCrumb; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/header-bar.less b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/header-bar.less new file mode 100644 index 00000000..9c62d564 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/header-bar.less @@ -0,0 +1,19 @@ +.header-bar{ + width: 100%; + height: 100%; + position: relative; + .custom-content-con{ + float: right; + height: auto; + padding-right: 20px; + // line-height: 64px; + & > *{ + float: right; + } + } +} + + +.step-bottom-btn{ + width: 380px !important; +} diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/header-bar.vue b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/header-bar.vue new file mode 100644 index 00000000..059b69c4 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/header-bar.vue @@ -0,0 +1,106 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/index.js b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/index.js new file mode 100644 index 00000000..7559bb43 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/index.js @@ -0,0 +1,2 @@ +import HeaderBar from './header-bar'; +export default HeaderBar; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/sider-trigger/index.js b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/sider-trigger/index.js new file mode 100644 index 00000000..e474a26d --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/sider-trigger/index.js @@ -0,0 +1,2 @@ +import siderTrigger from './sider-trigger.vue'; +export default siderTrigger; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/sider-trigger/sider-trigger.less b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/sider-trigger/sider-trigger.less new file mode 100644 index 00000000..bb852980 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/sider-trigger/sider-trigger.less @@ -0,0 +1,21 @@ +.trans{ + transition: transform .2s ease; +} +@size: 40px; +.sider-trigger-a{ + padding: 6px; + width: @size; + height: @size; + display: inline-block; + text-align: center; + color: #5c6b77; + margin-top: 10px; + i{ + .trans; + vertical-align: top; + } + &.collapsed i{ + transform: rotateZ(180deg); + .trans; + } +} diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/sider-trigger/sider-trigger.vue b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/sider-trigger/sider-trigger.vue new file mode 100644 index 00000000..71971884 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/header-bar/sider-trigger/sider-trigger.vue @@ -0,0 +1,35 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/language/index.js b/smart_admin_v1/smart-admin-web/src/components/main/components/language/index.js new file mode 100644 index 00000000..74d5e61b --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/language/index.js @@ -0,0 +1,2 @@ +import Language from './language.vue'; +export default Language; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/language/language.vue b/smart_admin_v1/smart-admin-web/src/components/main/components/language/language.vue new file mode 100644 index 00000000..29a8cbb0 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/language/language.vue @@ -0,0 +1,54 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/notice/notice.vue b/smart_admin_v1/smart-admin-web/src/components/main/components/notice/notice.vue new file mode 100644 index 00000000..337d09ae --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/notice/notice.vue @@ -0,0 +1,371 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/collapsed-menu.vue b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/collapsed-menu.vue new file mode 100644 index 00000000..6011e12b --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/collapsed-menu.vue @@ -0,0 +1,84 @@ + + diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/index.js b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/index.js new file mode 100644 index 00000000..4a51d599 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/index.js @@ -0,0 +1,2 @@ +import SideMenu from './side-menu.vue'; +export default SideMenu; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/item-mixin.js b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/item-mixin.js new file mode 100644 index 00000000..921342fe --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/item-mixin.js @@ -0,0 +1,30 @@ +export default { + props: { + // 父文件 + parentItem: { + type: Object, + default: () => { } + }, + // 主题 + theme: { + type: String, + require: false + }, + // 图标尺寸 + iconSize: { + type: Number, + require: false + } + }, + computed: { + parentName () { + return this.parentItem.name; + }, + children () { + return this.parentItem.children; + }, + textColor () { + return this.theme === 'dark' ? '#fff' : '#495060'; + } + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/mixin.js b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/mixin.js new file mode 100644 index 00000000..770d5bb6 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/mixin.js @@ -0,0 +1,18 @@ +import CommonIcon from '_c/common-icon'; +import { showTitle } from '@/lib/menu-func'; +export default { + components: { + CommonIcon + }, + methods: { + showTitle (item) { + return showTitle(item, this); + }, + showChildren (item) { + return item.children && (item.children.length > 0 || (item.meta && item.meta.showAlways)); + }, + getNameOrHref (item, children0) { + return item.href ? `isTurnByHref_${item.href}` : (children0 ? item.children[0].name : item.name); + } + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/side-menu-item.vue b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/side-menu-item.vue new file mode 100644 index 00000000..d236b7a5 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/side-menu-item.vue @@ -0,0 +1,35 @@ + + diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/side-menu.less b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/side-menu.less new file mode 100644 index 00000000..e50fae79 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/side-menu.less @@ -0,0 +1,39 @@ +.side-menu-wrapper{ + user-select: none; + .menu-collapsed{ + padding-top: 10px; + + .ivu-dropdown{ + .ivu-dropdown-rel a{ + width: 100%; + } + } + .ivu-tooltip{ + width: 100%; + .ivu-tooltip-rel{ + width: 100%; + } + .ivu-tooltip-popper .ivu-tooltip-content{ + .ivu-tooltip-arrow{ + border-right-color: #fff; + } + .ivu-tooltip-inner{ + background: #fff; + color: #495060; + } + } + } + + + } + a.drop-menu-a{ + display: inline-block; + padding: 6px 15px; + width: 100%; + text-align: center; + color: #495060; + } +} +.menu-title{ + padding-left: 6px; +} diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/side-menu.vue b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/side-menu.vue new file mode 100644 index 00000000..ceccb359 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/side-menu/side-menu.vue @@ -0,0 +1,197 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/tags-nav/index.js b/smart_admin_v1/smart-admin-web/src/components/main/components/tags-nav/index.js new file mode 100644 index 00000000..56d2f1c2 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/tags-nav/index.js @@ -0,0 +1,2 @@ +import TagsNav from './tags-nav.vue'; +export default TagsNav; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/tags-nav/tags-nav.less b/smart_admin_v1/smart-admin-web/src/components/main/components/tags-nav/tags-nav.less new file mode 100644 index 00000000..ddb05134 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/tags-nav/tags-nav.less @@ -0,0 +1,136 @@ +.no-select{ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.size{ + height: 100%; +} +.tags-nav{ + position: relative; + margin:0 auto; + // border-top: 1px solid #F0F0F0; + // border-bottom: 1px solid #F0F0F0; + background: #f4f6f8; + padding:0 20px; + + .no-select; + .size; + .close-con{ + position: absolute; + right: 0; + top: 5px; + height: 30px; + width: 42px; + background: #f3f5f7; + text-align: center; + z-index: 10; + margin-top:5px; + + border-top: 1px solid #F5F7FC; + border-bottom: 1px solid #F5F7FC; + i{ + color:#666666; + } + button{ + margin-top:3px; + + } + } + .btn-con{ + margin-top:10px; + position: absolute; + top: 0px; + height: 30px; + line-height: 30px; + // padding:0 10px; + background: #f3f5f7; + z-index: 10; + + button{ + position: relative; + top:-1px; + line-height: 14px; + text-align: center; + color:#666666; + + } + &.left-btn{ + left: 0px; + border: 1px solid #F5F7FC; + } + &.right-btn{ + right: 42px; + border: 1px solid #F5F7FC; + } + } + .scroll-outer{ + position: absolute; + left: 52px; + right: 61px; + top: 0; + bottom: 0; + padding:10px 0; + .scroll-body{ + display: inline-block; + position: absolute; + box-shadow: border-box; + overflow: visible; + white-space: nowrap; + transition: left .3s ease; + .ivu-tag{ + height:34px; + margin:0; + } + .ivu-tag{ + // min-width:10px; + height:30px; + line-height: 30px; + border-radius: 3px; + padding:0 10px; + background: #fff!important; + border:none; + text-align: center; + color:#1C2B36; + font-size: 14px; + margin:0 5px; + span{ + color:#1C2B36!important; + padding:0 5px; + } + i{ + color:#1C2B36!important; + font-size: 4px; + } + } + .ivu-tag-primary{ + transition: background .2s ease; + background: #2D8CF0!important; + span,i{ + color:#fff!important; + } + } + } + } + .contextmenu { + position: absolute; + margin: 0; + padding: 5px 0; + background: #fff; + z-index: 1000; + list-style-type: none; + border-radius: 3px; + box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .1); + li { + margin: 0; + padding: 5px 15px; + cursor: pointer; + &:hover { + background: #eee; + } + } + } +} diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/tags-nav/tags-nav.vue b/smart_admin_v1/smart-admin-web/src/components/main/components/tags-nav/tags-nav.vue new file mode 100644 index 00000000..00909fa0 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/tags-nav/tags-nav.vue @@ -0,0 +1,256 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/user/index.js b/smart_admin_v1/smart-admin-web/src/components/main/components/user/index.js new file mode 100644 index 00000000..54d7ca0b --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/user/index.js @@ -0,0 +1,2 @@ +import User from './user.vue'; +export default User; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/user/user.less b/smart_admin_v1/smart-admin-web/src/components/main/components/user/user.less new file mode 100644 index 00000000..9c5eeba7 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/user/user.less @@ -0,0 +1,25 @@ +.user-avatar-dropdown{ + padding-left:20px; + color:#909ca4; + .dropdown-arrows{ + margin:0 10px; + } + .head{ + position: relative; + top:-2px; + } +} +.user{ + + &-avatar-dropdown{ + cursor: pointer; + display: inline-block; + // height: 64px; + vertical-align: middle; + // line-height: 64px; + .ivu-badge-dot{ + top: 16px; + } + } + +} diff --git a/smart_admin_v1/smart-admin-web/src/components/main/components/user/user.vue b/smart_admin_v1/smart-admin-web/src/components/main/components/user/user.vue new file mode 100644 index 00000000..d7f0324a --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/components/user/user.vue @@ -0,0 +1,131 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/main/index.js b/smart_admin_v1/smart-admin-web/src/components/main/index.js new file mode 100644 index 00000000..87be9ddf --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/index.js @@ -0,0 +1,2 @@ +import Main from './main.vue'; +export default Main; diff --git a/smart_admin_v1/smart-admin-web/src/components/main/main.less b/smart_admin_v1/smart-admin-web/src/components/main/main.less new file mode 100644 index 00000000..588e8c13 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/main.less @@ -0,0 +1,129 @@ +//滚动条样式 +.scrollbar(@width: 2px){ + &::-webkit-scrollbar { width: @width; height: 8px; } + &::-webkit-scrollbar-thumb { border-radius: 5px; -webkit-box-shadow: inset 0 0 5px rgb(185, 185, 185); background: #c7c5c8; } + &::-webkit-scrollbar-track { border-radius: 0; background: #ddd; } +} +.no-scrollbar{ + &::-webkit-scrollbar {display:none} +} +.main{ + .scrollbar, + .ivu-table-overflowX, + .content-wrapper, + .w-e-text{ + .scrollbar; + } + iframe body{ + .scrollbar; + } + .logo-con{ + padding: 19px 10px 15px 5px; + &.collapsed{ + padding: 19px 0 15px; + text-align: center; + } + } + .menu-dropdown{ + margin-left: 200px; + } + .search-bar{ + padding:0 14px; + margin-bottom: 20px; + &.collapsed{ + padding:0 12px; + i{ + width: 40px; + + } + } + input{ + width: 100%; + height:36px; + background: #152a3a; + color:#44505c; + font-size: 14px; + outline: none; + + &::placeholder{ + color:#44505c; + } + &:focus{ + border:none; + outline: none; + background: #fff; + } + border:none; + } + i{ + line-height: 36px; + color:#44505c; + } + } + .header-con{ + background: #fff; + padding: 0 10px; + width: 100%; + } + .main-layout-con{ + height: 100%; + overflow: hidden; + } + .main-content-con{ + height: ~"calc(100% - 60px)"; + overflow: hidden; + } + .tag-nav-wrapper{ + padding: 0; + height:50px; + // background:#F0F0F0; + } + .content-wrapper{ + padding: 0 18px 18px; + height: ~"calc(100% - 80px)"; + overflow: auto; + } + .left-sider{ + .ivu-layout-sider-children{ + overflow-y: scroll; + margin-right: -18px; + } + } +} +.ivu-menu-light.ivu-menu-vertical .ivu-menu-item-active:not(.ivu-menu-submenu):after{ + right: inherit; left: 0; +} +.ivu-menu-item > i{ + margin-right: 12px !important; +} +.ivu-menu-submenu > .ivu-menu > .ivu-menu-item > i { + margin-right: 8px !important; +} +.collased-menu-dropdown{ + width: 100%; + margin: 0; + line-height: normal; + padding: 7px 0 6px 16px; + clear: both; + font-size: 12px !important; + white-space: nowrap; + list-style: none; + cursor: pointer; + transition: background 0.2s ease-in-out; + &:hover{ + background: rgba(100, 100, 100, 0.1); + } + & * { + color: #515a6e; + } + .ivu-menu-item > i{ + margin-right: 12px !important; + } + .ivu-menu-submenu > .ivu-menu > .ivu-menu-item > i { + margin-right: 8px !important; + } +} + +.ivu-select-dropdown.ivu-dropdown-transfer{ + max-height: 400px; +} diff --git a/smart_admin_v1/smart-admin-web/src/components/main/main.vue b/smart_admin_v1/smart-admin-web/src/components/main/main.vue new file mode 100644 index 00000000..0be9f2c1 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/main/main.vue @@ -0,0 +1,533 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/smart-admin-ad/ad.vue b/smart_admin_v1/smart-admin-web/src/components/smart-admin-ad/ad.vue new file mode 100644 index 00000000..43f2d9e1 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/smart-admin-ad/ad.vue @@ -0,0 +1,34 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/smart-admin-ad/index.js b/smart_admin_v1/smart-admin-web/src/components/smart-admin-ad/index.js new file mode 100644 index 00000000..f0b0e3fb --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/smart-admin-ad/index.js @@ -0,0 +1,2 @@ +import Ad from './ad.vue'; +export default Ad; diff --git a/smart_admin_v1/smart-admin-web/src/components/tables/edit.vue b/smart_admin_v1/smart-admin-web/src/components/tables/edit.vue new file mode 100644 index 00000000..55c142ac --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/tables/edit.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/components/tables/handle-btns.js b/smart_admin_v1/smart-admin-web/src/components/tables/handle-btns.js new file mode 100644 index 00000000..7254b3e1 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/tables/handle-btns.js @@ -0,0 +1,70 @@ +// 验证 +const validate = { + operation: (params) => { + if (params.operation === 0) { + return false; + } + return true; + }, + audit: (params) => { + if (params.audit === 0) { + return false; + } + return true; + } +}; +const btns = { + // 删除:需要判定 + delete: (h, params, vm) => { + let disabledFlag = false; + return h('Tooltip', { + props: { + content: '删除', + placement: 'top', + transfer: true + } + }, [h('Button', { + props: { + type: 'error', + size: 'small', + icon: 'md-trash', + disabled: disabledFlag + }, + style: { + marginRight: '5px' + }, + on: { + click: () => { + vm.$emit('on-delete', params); + } + } + })]); + }, + edit: (h, params, vm) => { + let disabledFlag = false; + return h('Tooltip', { + props: { + content: '编辑', + placement: 'top', + transfer: true + } + }, [h('Button', { + props: { + type: 'primary', + size: 'small', + icon: 'md-trash', + disabled: disabledFlag + }, + style: { + marginRight: '5px' + }, + on: { + click: () => { + vm.$emit('on-edit', params); + } + } + })]); + } +}; + +export default btns; diff --git a/smart_admin_v1/smart-admin-web/src/components/tables/index.js b/smart_admin_v1/smart-admin-web/src/components/tables/index.js new file mode 100644 index 00000000..899190c0 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/tables/index.js @@ -0,0 +1,2 @@ +import Tables from './tables.vue'; +export default Tables; diff --git a/smart_admin_v1/smart-admin-web/src/components/tables/index.less b/smart_admin_v1/smart-admin-web/src/components/tables/index.less new file mode 100644 index 00000000..3c352e11 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/tables/index.less @@ -0,0 +1,17 @@ +.search-con{ + padding: 10px 0; + .search{ + &-col{ + display: inline-block; + width: 200px; + } + &-input{ + display: inline-block; + width: 200px; + margin-left: 2px; + } + &-btn{ + margin-left: 2px; + } + } +} diff --git a/smart_admin_v1/smart-admin-web/src/components/tables/tables.vue b/smart_admin_v1/smart-admin-web/src/components/tables/tables.vue new file mode 100644 index 00000000..0c2329b4 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/components/tables/tables.vue @@ -0,0 +1,342 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/config/index.js b/smart_admin_v1/smart-admin-web/src/config/index.js new file mode 100644 index 00000000..a80b6815 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/config/index.js @@ -0,0 +1,38 @@ +console.log('api url : ', process.env.VUE_APP_URL); +console.log('websocket url : ', process.env.VUE_APP_SOCKET_URL); +export default { + /** + * @description 配置显示在浏览器标签的title + */ + title: 'Smart-Admin', + /** + * @description token在Cookie中存储的天数,默认1天 + */ + cookieExpires: 3, + /** + * @description 是否使用国际化,默认为false + * 如果不使用,则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'} + * 用来在菜单中显示文字 + */ + useI18n: false, + /** + * @description api请求基础路径 + */ + baseUrl: { + apiUrl: process.env.VUE_APP_URL, + webSocketUrl: process.env.VUE_APP_SOCKET_URL + }, + /** + * @description 默认打开的首页的路由name值,默认为home + */ + homeName: 'Home', + /** + * @description 需要加载的插件 + */ + plugin: { + 'error-store': { + showInHeader: true, // 设为false后不会在顶部显示错误日志徽标 + developmentOff: true // 设为true后在开发环境不会收集错误信息,方便开发中排查错误 + } + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/constants/file.js b/smart_admin_v1/smart-admin-web/src/constants/file.js new file mode 100644 index 00000000..6a205f55 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/constants/file.js @@ -0,0 +1,24 @@ +export const FILE_TYPE = { + LOCAL: { + value: 1, + desc: '本地文件服务' + }, + ALI_OSS: { + value: 2, + desc: '阿里OSS文件服务' + }, + QI_NIU_OSS: { + value: 3, + desc: '七牛文件服务' + } +}; +export const SERVICE_TYPE = { + BACK_USER: { + value: '1', + desc: '用户后台' + } +}; +export default { + FILE_TYPE, + SERVICE_TYPE +}; diff --git a/smart_admin_v1/smart-admin-web/src/constants/index.js b/smart_admin_v1/smart-admin-web/src/constants/index.js new file mode 100644 index 00000000..55101226 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/constants/index.js @@ -0,0 +1,10 @@ +import notice from './notice.js'; +import login from './login.js'; +import file from './file.js'; +import privilege from './privilege'; +export default { + ...notice, + ...login, + ...file, + ...privilege +}; diff --git a/smart_admin_v1/smart-admin-web/src/constants/login.js b/smart_admin_v1/smart-admin-web/src/constants/login.js new file mode 100644 index 00000000..fb28973b --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/constants/login.js @@ -0,0 +1,13 @@ +export const PRIVILEGE_TYPE = { + MENU: { + value: 1, + desc: '是' + }, + POINTS: { + value: 2, + desc: '否' + } +}; +export default { + PRIVILEGE_TYPE +}; diff --git a/smart_admin_v1/smart-admin-web/src/constants/notice.js b/smart_admin_v1/smart-admin-web/src/constants/notice.js new file mode 100644 index 00000000..0d5315fa --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/constants/notice.js @@ -0,0 +1,13 @@ +export const NOTICE_STATUS = { + YES: { + value: 1, + desc: '是' + }, + NO: { + value: 0, + desc: '否' + } +}; +export default { + NOTICE_STATUS +}; diff --git a/smart_admin_v1/smart-admin-web/src/constants/privilege.js b/smart_admin_v1/smart-admin-web/src/constants/privilege.js new file mode 100644 index 00000000..885e86d6 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/constants/privilege.js @@ -0,0 +1,14 @@ +export const PRIVILEGE_TYPE_ENUM = { + MENU: { + value: 1, + desc: '菜单' + }, + POINTS: { + value: 2, + desc: '功能点' + } +}; + +export default { + PRIVILEGE_TYPE_ENUM +}; diff --git a/smart_admin_v1/smart-admin-web/src/constants/table-page.js b/smart_admin_v1/smart-admin-web/src/constants/table-page.js new file mode 100644 index 00000000..83586bfd --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/constants/table-page.js @@ -0,0 +1,6 @@ + +/** + * table分页 每页条数切换的配置 + */ +export const PAGE_SIZE_OPTIONS = [10,20,30,50,75,100,150,200,300,500,1000]; + diff --git a/smart_admin_v1/smart-admin-web/src/directives/directives.js b/smart_admin_v1/smart-admin-web/src/directives/directives.js new file mode 100644 index 00000000..701eec5d --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/directives/directives.js @@ -0,0 +1,11 @@ +import draggable from './module/draggable'; +import clipboard from './module/clipboard'; +import privilege from './module/privilege'; + +const directives = { + draggable, + clipboard, + privilege +}; + +export default directives; diff --git a/smart_admin_v1/smart-admin-web/src/directives/index.js b/smart_admin_v1/smart-admin-web/src/directives/index.js new file mode 100644 index 00000000..dcc9ffb3 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/directives/index.js @@ -0,0 +1,31 @@ +import directive from './directives'; + +const importDirective = Vue => { + /** + * 拖拽指令 v-draggable="options" + * options = { + * trigger: /这里传入作为拖拽触发器的CSS选择器/, + * body: /这里传入需要移动容器的CSS选择器/, + * recover: /拖动结束之后是否恢复到原来的位置/ + * } + */ + Vue.directive('draggable', directive.draggable); + /** + * clipboard指令 v-draggable="options" + * options = { + * value: /在输入框中使用v-model绑定的值/, + * success: /复制成功后的回调/, + * error: /复制失败后的回调/ + * } + */ + Vue.directive('clipboard', directive.clipboard); + /** + * privilege指令 v-privilege="options" + * options = { + * value: /当前按钮的唯一权限识别/, + * } + */ + Vue.directive('privilege', directive.privilege); +}; + +export default importDirective; diff --git a/smart_admin_v1/smart-admin-web/src/directives/module/clipboard.js b/smart_admin_v1/smart-admin-web/src/directives/module/clipboard.js new file mode 100644 index 00000000..0684eb61 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/directives/module/clipboard.js @@ -0,0 +1,30 @@ +import Clipboard from 'clipboard'; +export default { + bind: (el, binding) => { + const clipboard = new Clipboard(el, { + text: () => binding.value.value + }); + el.__success_callback__ = binding.value.success; + el.__error_callback__ = binding.value.error; + clipboard.on('success', e => { + const callback = el.__success_callback__; + callback && callback(e); + }); + clipboard.on('error', e => { + const callback = el.__error_callback__; + callback && callback(e); + }); + el.__clipboard__ = clipboard; + }, + update: (el, binding) => { + el.__clipboard__.text = () => binding.value.value; + el.__success_callback__ = binding.value.success; + el.__error_callback__ = binding.value.error; + }, + unbind: (el, binding) => { + delete el.__success_callback__; + delete el.__error_callback__; + el.__clipboard__.destroy(); + delete el.__clipboard__; + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/directives/module/draggable.js b/smart_admin_v1/smart-admin-web/src/directives/module/draggable.js new file mode 100644 index 00000000..8bf798b3 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/directives/module/draggable.js @@ -0,0 +1,42 @@ +import { on } from '@/lib/util'; +export default { + inserted: (el, binding, vnode) => { + let triggerDom = document.querySelector(binding.value.trigger); + triggerDom.style.cursor = 'move'; + let bodyDom = document.querySelector(binding.value.body); + let pageX = 0; + let pageY = 0; + let transformX = 0; + let transformY = 0; + let canMove = false; + const handleMousedown = e => { + let transform = /\(.*\)/.exec(bodyDom.style.transform); + if (transform) { + transform = transform[0].slice(1, transform[0].length - 1); + let splitxy = transform.split('px, '); + transformX = parseFloat(splitxy[0]); + transformY = parseFloat(splitxy[1].split('px')[0]); + } + pageX = e.pageX; + pageY = e.pageY; + canMove = true; + }; + const handleMousemove = e => { + let xOffset = e.pageX - pageX + transformX; + let yOffset = e.pageY - pageY + transformY; + if (canMove) + {bodyDom.style.transform = `translate(${xOffset}px, ${yOffset}px)`;} + }; + const handleMouseup = e => { + canMove = false; + }; + on(triggerDom, 'mousedown', handleMousedown); + on(document, 'mousemove', handleMousemove); + on(document, 'mouseup', handleMouseup); + }, + update: (el, binding, vnode) => { + if (!binding.value.recover) return; + let bodyDom = document.querySelector(binding.value.body); + bodyDom.style.transform = ''; + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/directives/module/privilege.js b/smart_admin_v1/smart-admin-web/src/directives/module/privilege.js new file mode 100644 index 00000000..d5016721 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/directives/module/privilege.js @@ -0,0 +1,23 @@ +// 页面内按钮过滤 +import store from '@/store/index'; +export default { + inserted: function (el, binding, vnode) { + // 获取当前路由name + // 如果页面为同一模块下的子页面则取最上级权限 + let routeName = vnode.context.$route.meta.privilegeExtend + ? vnode.context.$route.meta.privilegeExtend + : vnode.context.$route.name; + // 超级管理员 + if (store.state.user.userLoginInfo.isSuperMan) { + return true; + } + // 获取功能点权限 + let functionList = store.state.user.privilegeFunctionPointsMap.get(routeName); + // 有权限 + if (functionList && functionList.includes(binding.value)) { + + } else { + el.parentNode.removeChild(el); + } + } +}; diff --git a/smart-admin-web/javascript-ant-design-vue3/README.md b/smart_admin_v1/smart-admin-web/src/filters/index.js similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/README.md rename to smart_admin_v1/smart-admin-web/src/filters/index.js diff --git a/smart_admin_v1/smart-admin-web/src/lib/cookie.js b/smart_admin_v1/smart-admin-web/src/lib/cookie.js new file mode 100644 index 00000000..83386119 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/lib/cookie.js @@ -0,0 +1,21 @@ +import Cookies from 'js-cookie'; +import config from '@/config'; +const { cookieExpires } = config; +export const TOKEN_KEY = 'token'; + +export default { + setToken: token => { + Cookies.set(TOKEN_KEY, token, { + // token在Cookie中存储的天数,默认1天 + expires: cookieExpires || 7 + }); + }, + getToken: () => { + const token = Cookies.get(TOKEN_KEY); + if (token) return token; + else return null; + }, + clearToken: () => { + Cookies.remove(TOKEN_KEY); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/lib/http.js b/smart_admin_v1/smart-admin-web/src/lib/http.js new file mode 100644 index 00000000..0223aa7b --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/lib/http.js @@ -0,0 +1,161 @@ +import Axios from 'axios'; +import config from '@/config'; +import { Message, Spin } from 'view-design'; +import cookie from '@/lib/cookie'; +// 之所以封装这个axios,是因为在一些请求中,无法上传信息,很尴尬,估计原因是继承的有问题,无法携带headers +export const baseUrl = config.baseUrl.apiUrl; +export const socketBaseUrl = config.baseUrl.webSocketUrl; + +let axios = Axios.create({ + baseURL: baseUrl, + timeout: 30000, + headers: { + 'Content-Type': 'application/json; charset=utf-8' + } +}); + +axios.interceptors.request.use( + function (config) { + // 在发送请求之前做些什么 + if (cookie.getToken()) { + config.headers['x-access-token'] = cookie.getToken(); + } + return config; + }, + function (error) { + // 对请求错误做些什么 + Spin.hide(); + return Promise.reject(error); + } +); +// 添加响应拦截器 +axios.interceptors.response.use( + res => { + if (res.config.responseType === 'blob') { + let isReturnJson = res.headers && res.headers['content-type'] && res.headers['content-type'].indexOf("json") > -1; + //后端返回错误信息 + if (isReturnJson) { + let reader = new FileReader() + reader.onload = function (event) { + let content = reader.result + let parseRes = JSON.parse(content) // 错误信息 + return validateResponseCode({ + data: parseRes + }); + } + reader.readAsText(res.data); + return true + } else { + //下载文件 + download(res); + } + } else { + //正常json请求 + return validateResponseCode(res); + } + }, + error => { + Spin.hide(); + Message.error('服务内部错误'); + console.log('1111', error); + // 对响应错误做点什么 + return Promise.reject(error); + } +); + +function validateResponseCode (res) { + let { data } = res; + if (data && data.code && data.code !== 1) { + if (data.code === 1001) { + cookie.clearToken(); + localStorage.clear(); + window.location.href = window.location.pathname + '#/login'; + Message.error('未登录,或登录失效,请登录'); + return; + } else if (data.code === 502) { + window.location.href = window.location.pathname + '#/500'; + return; + } else { + Spin.hide(); + Message.error(data.msg); + return Promise.reject(res); + } + } + return Promise.resolve(data); +} + +function blobToText (blob) { + return new Promise((resolve, reject) => { + const fileReader = new FileReader(); + fileReader.readAsText(blob); + fileReader.onload = function () { + try { + const result = JSON.parse(this.result); + if (result && result['resultCode'] === 'fail') { + resolve(result); + } else { + reject(); + } + } catch (e) { + //TODO handle the exception + reject(); + } + } + }) +} + +export const postAxios = (url, data) => { + return axios.post(url, data); +}; + +export const postFileUploadAxios = (url, data) => { + return axios.post(url, data, { headers: { 'Content-Type': 'multipart/form-data' } }); +}; + +export const getDownloadAxios = (url) => { + return axios.get(url, { responseType: 'blob' }); +}; + +export const postDownloadAxios = (url, data) => { + return axios.post(url, data, { responseType: 'blob' }); +}; + +export const getAxios = (url, data) => { + return axios.get(url, { + params: data + }); +}; + +function download (res) { + let reader = new FileReader(); + let data = res.data; + reader.onload = e => { + if (e.target.result.indexOf('Result') != -1 && JSON.parse(e.target.result).Result == false) { + // 进行错误处理 + } else { + let fileName = "download"; + let contentDisposition = res.headers['Content-Disposition']; + contentDisposition = contentDisposition ? contentDisposition : res.headers['content-disposition']; + if (contentDisposition) { + fileName = window.decodeURI(contentDisposition.split('=')[1], "UTF-8"); + } + executeDownload(data, fileName); + } + }; + reader.readAsText(data); +} + +// 模拟点击a 标签进行下载 +function executeDownload (data, fileName) { + if (!data) { + return + } + let url = window.URL.createObjectURL(new Blob([data])); + let link = document.createElement('a'); + link.style.display = 'none'; + link.href = url; + link.setAttribute('download', fileName); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); +} diff --git a/smart_admin_v1/smart-admin-web/src/lib/local.js b/smart_admin_v1/smart-admin-web/src/lib/local.js new file mode 100644 index 00000000..c19d7e3d --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/lib/local.js @@ -0,0 +1,8 @@ +export const localSave = (key, value) => { + localStorage.setItem(key, value); +}; + +export const localRead = key => { + return localStorage.getItem(key) || ''; +}; + diff --git a/smart_admin_v1/smart-admin-web/src/lib/menu-func.js b/smart_admin_v1/smart-admin-web/src/lib/menu-func.js new file mode 100644 index 00000000..914d5379 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/lib/menu-func.js @@ -0,0 +1,276 @@ +import { forEach, hasOneOf, objEqual } from '@/lib/util'; +import config from '@/config'; +import { localRead, localSave } from '@/lib/local'; +const { title, useI18n } = config; +export const hasChild = item => { + return item.children && item.children.length !== 0; +}; + +/** + * 通过权限过滤菜单 + * @param {Object} map 权限对象 + * @param {Array} menuList 菜单列表 + * @returns {Array} + */ +export const getShowMenu = (map = {}, menuList, access = false) => { + // 判断是否为超级管理员 + if (access) { + return menuList; + } + // 返回的菜单列表 + let result = []; + for (let menuItem of menuList) { + let routerObj = JSON.parse(JSON.stringify(menuItem)); + if ( + map.hasOwnProperty(menuItem.name) && + (menuItem.name !== 'home' && menuItem.name !== '_home') + ) { + // 判断该菜单权限下是否为数组,若为数组,则为功能点权限否则为子菜单 + if (getType(map[routerObj.name]) === 'array') { + let funcPrivilege = localRead('funcPrivilegeInfo') + ? JSON.parse(localRead('funcPrivilegeInfo')) + : {}; + localSave( + 'funcPrivilegeInfo', + JSON.stringify({ + ...funcPrivilege, + [routerObj.name]: map[routerObj.name] + }) + ); + } else if ( + getType(map[routerObj.name]) !== 'array' && + !routerObj.children + ) { + // 判断是否为二级菜单,若是则需要多枚举一层赋值 + let funcPrivilege = localRead('funcPrivilegeInfo') + ? JSON.parse(localRead('funcPrivilegeInfo')) + : {}; + localSave( + 'funcPrivilegeInfo', + JSON.stringify({ + ...funcPrivilege, + [routerObj.name]: map[routerObj.name][routerObj.name] + }) + ); + } else if ( + getType(map[routerObj.name]) !== 'array' && + routerObj.children + ) { + // 循环子菜单权限 + routerObj.children = getShowMenu( + map[routerObj.name], + routerObj.children + ); + } + result.push(routerObj); + } + } + return result; +}; +// 获取数据类型 +export const getType = obj => { + return {}.toString + .call(obj) + .match(/\s([a-zA-Z]+)/)[1] + .toLowerCase(); +}; + +/** + * @description 本地存储和获取标签导航列表 + */ +export const setTagNavListInLocalStorage = list => { + localStorage.tagNaveList = JSON.stringify(list); +}; +/** + * @returns {Array} 其中的每个元素只包含路由原信息中的name, path, meta三项 + */ +export const getTagNavListFromLocalStorage = () => { + const list = localStorage.tagNaveList; + return list ? JSON.parse(list) : []; +}; +export const getBreadCrumbList = (route, homeRoute) => { + let homeItem = { + ...homeRoute, + icon: homeRoute.meta.icon + }; + let routeMatched = route.matched; + if (routeMatched.some(item => item.name === homeRoute.name)) { + return [homeItem]; + } + let res = routeMatched + .filter(item => { + return item.meta === undefined || !item.meta.hideInBread; + }) + .map(item => { + let meta = { + ...item.meta + }; + if (meta.title && typeof meta.title === 'function') { + meta.__titleIsFunction__ = true; + meta.title = meta.title(route); + } + let obj = { + icon: (item.meta && item.meta.icon) || '', + name: item.name, + meta: meta + }; + return obj; + }); + res = res.filter(item => { + return !item.meta.hideInMenu; + }); + return [...res]; +}; +/** + * @param {Array} routers 路由列表数组 + * @description 用于找到路由列表中name为home的对象 + */ +export const getHomeRoute = (routers, homeName = 'Home') => { + let i = -1; + let len = routers.length; + let homeRoute = {}; + while (++i < len) { + let item = routers[i]; + if (item.children && item.children.length) { + let res = getHomeRoute(item.children, homeName); + if (res.name) return res; + } else { + if (item.name === homeName) homeRoute = item; + } + } + return homeRoute; +}; +/** + * @param {Array} list 标签列表 + * @param {String} name 当前关闭的标签的name + */ +export const getNextRoute = (list, route) => { + let res = {}; + if (list.length === 2) { + res = getHomeRoute(list); + } else { + const index = list.findIndex(item => routeEqual(item, route)); + if (index === list.length - 1) res = list[list.length - 2]; + else res = list[index + 1]; + } + return res; +}; + +/** + * 判断打开的标签列表里是否已存在这个新添加的路由对象 + */ +export const routeHasExist = (tagNavList, routeItem) => { + let len = tagNavList.length; + let res = false; + doCustomTimes(len, index => { + if (routeEqual(tagNavList[index], routeItem)) res = true; + }); + return res; +}; +/** + * @param {*} list 现有标签导航列表 + * @param {*} newRoute 新添加的路由原信息对象 + * @description 如果该newRoute已经存在则不再添加 + */ +export const getNewTagList = (list, newRoute) => { + const { name, path, meta, query } = newRoute; + let newList = [...list]; + let index = newList.findIndex(item => item.name === name); + if (index >= 0) { + newList[index] = { name, path, meta, query }; + } else newList.push({ name, path, meta, query }); + return newList; +}; +export const routeEqual = (route1, route2) => { + return route1.name === route2.name; +}; +export const getRouteTitleHandled = route => { + let router = { + ...route + }; + let meta = { + ...route.meta + }; + let title = ''; + if (meta.title) { + if (typeof meta.title === 'function') { + meta.__titleIsFunction__ = true; + title = meta.title(router); + } else title = meta.title; + } + meta.title = title; + router.meta = meta; + return router; +}; +/** + * @param {Number} times 回调函数需要执行的次数 + * @param {Function} callback 回调函数 + */ +export const doCustomTimes = (times, callback) => { + let i = -1; + while (++i < times) { + callback(i); + } +}; +export const showTitle = (item, vm) => { + let { title, __titleIsFunction__ } = item.meta; + if (!title) return; + if (useI18n) { + if (title.includes('{{') && title.includes('}}') && useI18n) { + title = title.replace(/({{[\s\S]+?}})/, (m, str) => + str.replace(/{{([\s\S]*)}}/, (m, _) => vm.$t(_.trim())) + ); + } else if (__titleIsFunction__) title = item.meta.title; + else title = vm.$t(item.name); + } else title = (item.meta && item.meta.title) || item.name; + return title; +}; +/** + * @description 根据当前跳转的路由设置显示在浏览器标签的title + * @param {Object} routeItem 路由对象 + * @param {Object} vm Vue实例 + */ +export const setTitle = (routeItem, vm) => { + const handledRoute = getRouteTitleHandled(routeItem); + const pageTitle = showTitle(handledRoute, vm); + const resTitle = pageTitle ? `${pageTitle} - ${title}` : title; + window.document.title = resTitle; +}; + +export const findNodeUpper = (ele, tag) => { + if (ele.parentNode) { + if (ele.parentNode.tagName === tag.toUpperCase()) { + return ele.parentNode; + } else { + return findNodeUpper(ele.parentNode, tag); + } + } +}; + +export const findNodeUpperByClasses = (ele, classes) => { + let parentNode = ele.parentNode; + if (parentNode) { + let classList = parentNode.classList; + if ( + classList && + classes.every(className => classList.contains(className)) + ) { + return parentNode; + } else { + return findNodeUpperByClasses(parentNode, classes); + } + } +}; + +export const findNodeDownward = (ele, tag) => { + const tagName = tag.toUpperCase(); + if (ele.childNodes.length) { + let i = -1; + let len = ele.childNodes.length; + while (++i < len) { + let child = ele.childNodes[i]; + if (child.tagName === tagName) return child; + else return findNodeDownward(child, tag); + } + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/lib/printPlugs.js b/smart_admin_v1/smart-admin-web/src/lib/printPlugs.js new file mode 100644 index 00000000..9c4295dd --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/lib/printPlugs.js @@ -0,0 +1,133 @@ +// 打印类属性、方法定义 +/* eslint-disable */ +//第二个参数表明是否要关闭当前窗口 +const Print = function(dom, close, options) { + if (!(this instanceof Print)) return new Print(dom, close, options); + + this.options = this.extend( + { + noPrint: '.no-print' + }, + options + ); + + if (typeof dom === 'string') { + this.dom = document.querySelector(dom); + } else { + this.dom = dom; + } + + this.init(close); +}; +Print.prototype = { + init: function(close) { + var content = this.getStyle() + this.getHtml(); + this.writeIframe(content, close); + }, + extend: function(obj, obj2) { + for (var k in obj2) { + obj[k] = obj2[k]; + } + return obj; + }, + + getStyle: function() { + var str = '', + styles = document.querySelectorAll('style,link'); + for (var i = 0; i < styles.length; i++) { + str += styles[i].outerHTML; + } + str += + ''; + + return str; + }, + + getHtml: function() { + var inputs = document.querySelectorAll('input'); + var textareas = document.querySelectorAll('textarea'); + var selects = document.querySelectorAll('select'); + + for (var k in inputs) { + if (inputs[k].type == 'checkbox' || inputs[k].type == 'radio') { + if (inputs[k].checked == true) { + inputs[k].setAttribute('checked', 'checked'); + } else { + inputs[k].removeAttribute('checked'); + } + } else if (inputs[k].type == 'text') { + inputs[k].setAttribute('value', inputs[k].value); + } + } + + for (var k2 in textareas) { + if (textareas[k2].type == 'textarea') { + textareas[k2].innerHTML = textareas[k2].value; + } + } + + for (var k3 in selects) { + if (selects[k3].type == 'select-one') { + var child = selects[k3].children; + for (var i in child) { + if (child[i].tagName == 'OPTION') { + if (child[i].selected == true) { + child[i].setAttribute('selected', 'selected'); + } else { + child[i].removeAttribute('selected'); + } + } + } + } + } + return this.dom.outerHTML; + }, + + writeIframe: function(content, close) { + var w, + doc, + iframe = document.createElement('iframe'), + f = document.body.appendChild(iframe); + iframe.id = 'myIframe'; + iframe.style = 'position:absolute;'; + + w = f.contentWindow || f.contentDocument; + doc = f.contentDocument || f.contentWindow.document; + doc.open(); + doc.write(content); + doc.close(); + this.toPrint(w, close); + setTimeout(function() { + document.body.removeChild(iframe); + }, 500); + }, + + toPrint: function(frameWindow, close) { + try { + setTimeout(function() { + frameWindow.focus(); + try { + if (!frameWindow.document.execCommand('print', false, null)) { + frameWindow.print(); + } + } catch (e) { + frameWindow.print(); + } + frameWindow.close(); + if (close) { + window.close(); + } + }, 500); + } catch (err) { + console.log('err', err); + } + } +}; +const MyPlugin = {}; +MyPlugin.install = function(Vue, options) { + // 4. 添加实例方法 + Vue.prototype.$print = Print; +}; +export default MyPlugin; diff --git a/smart_admin_v1/smart-admin-web/src/lib/render-dom.js b/smart_admin_v1/smart-admin-web/src/lib/render-dom.js new file mode 100644 index 00000000..1cad207e --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/lib/render-dom.js @@ -0,0 +1,10 @@ +export default { + name: 'RenderDom', + functional: true, + props: { + render: Function + }, + render: (h, ctx) => { + return ctx.props.render(h); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/lib/table-action.js b/smart_admin_v1/smart-admin-web/src/lib/table-action.js new file mode 100644 index 00000000..f9a541fc --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/lib/table-action.js @@ -0,0 +1,84 @@ +// 处理table操作按钮 +const tableAction = (h, array) => { + let btnArray = []; + let btnMore = []; + array.map((item, index) => { + if (index < 2) { + let btn = h( + 'a', + { + props: { + type: !index ? 'primary' : 'info', + size: 'small', + to: item.to ? item.to : '', + target: item.target ? item.target : '_self', + ghost: true + }, + style: { + marginLeft: '5px' + }, + directives: item.directives, + on: { + click: item.action + } + }, + item.title + ); + btnArray.push(btn); + } else { + btnMore.push( + h( + 'DropdownItem', + { + nativeOn: { + click: item.action + } + }, + item.title + ) + ); + } + }); + let dropdown = h( + 'Dropdown', + { + props: { + transfer: true + } + }, + [ + h( + 'a', + { + props: { + type: 'default', + size: 'small' + }, + style: { + marginLeft: '5px' + } + }, + [ + h('span', '更多'), + h('Icon', { + props: { + type: 'ios-arrow-down' + } + }) + ] + ), + h( + 'DropdownMenu', + { + slot: 'list' + }, + btnMore + ) + ] + ); + if (array.length > 2) { + btnArray.push(dropdown); + } + return btnArray; +}; +export default tableAction; diff --git a/smart_admin_v1/smart-admin-web/src/lib/util.js b/smart_admin_v1/smart-admin-web/src/lib/util.js new file mode 100644 index 00000000..6a3845b0 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/lib/util.js @@ -0,0 +1,515 @@ +import moment from 'moment'; +/** + * @param {String} url + * @description 从URL中解析参数 + */ +export const getParams = url => { + const keyValueArr = url.split('?')[1].split('&'); + let paramObj = {}; + keyValueArr.forEach(item => { + const keyValue = item.split('='); + paramObj[keyValue[0]] = keyValue[1]; + }); + return paramObj; +}; + +/** + * @param {Any} obj + * @description 获取数据类型 + */ +export const getType = obj => { + return {}.toString + .call(obj) + .match(/\s([a-zA-Z]+)/)[1] + .toLowerCase(); +}; +// 日期格式 +export const dateFormat = { + YMD: 'YMD', + YMDHM: 'YMDHM', + YMDHMS: 'YMDHMS' +}; +export const forEach = (arr, fn) => { + if (!arr.length || !fn) return; + let i = -1; + let len = arr.length; + while (++i < len) { + let item = arr[i]; + fn(item, i, arr); + } +}; + +/** + * @param {Array} arr1 + * @param {Array} arr2 + * @description 得到两个数组的交集, 两个数组的元素为数值或字符串 + */ +export const getIntersection = (arr1, arr2) => { + let len = Math.min(arr1.length, arr2.length); + let i = -1; + let res = []; + while (++i < len) { + const item = arr2[i]; + if (arr1.indexOf(item) > -1) res.push(item); + } + return res; +}; + +/** + * @param {Array} arr1 + * @param {Array} arr2 + * @description 得到两个数组的并集, 两个数组的元素为数值或字符串 + */ +export const getUnion = (arr1, arr2) => { + return Array.from(new Set([...arr1, ...arr2])); +}; + +/** + * @param {Array} target 目标数组 + * @param {Array} arr 需要查询的数组 + * @description 判断要查询的数组是否至少有一个元素包含在目标数组中 + */ +export const hasOneOf = (targetarr, arr) => { + return targetarr.some(_ => arr.indexOf(_) > -1); +}; + +/** + * @param {String|Number} value 要验证的字符串或数值 + * @param {*} validList 用来验证的列表 + */ +export function oneOf (value, validList) { + for (let i = 0; i < validList.length; i++) { + if (value === validList[i]) { + return true; + } + } + return false; +} + +/** + * @param {Number} timeStamp 判断时间戳格式是否是毫秒 + * @returns {Boolean} + */ +const isMillisecond = timeStamp => { + const timeStr = String(timeStamp); + return timeStr.length > 10; +}; + +/** + * @param {Number} timeStamp 传入的时间戳 + * @param {Number} currentTime 当前时间时间戳 + * @returns {Boolean} 传入的时间戳是否早于当前时间戳 + */ +const isEarly = (timeStamp, currentTime) => { + return timeStamp < currentTime; +}; + +/** + * @param {Number} num 数值 + * @returns {String} 处理后的字符串 + * @description 如果传入的数值小于10,即位数只有1位,则在前面补充0 + */ +const getHandledValue = num => { + return num < 10 ? '0' + num : num; +}; + +/** + * @param {Number} timeStamp 传入的时间戳 + * @param {Number} startType 要返回的时间字符串的格式类型,传入'year'则返回年开头的完整时间 + */ +const getDate = (timeStamp, startType) => { + const d = new Date(timeStamp * 1000); + const year = d.getFullYear(); + const month = getHandledValue(d.getMonth() + 1); + const date = getHandledValue(d.getDate()); + const hours = getHandledValue(d.getHours()); + const minutes = getHandledValue(d.getMinutes()); + const second = getHandledValue(d.getSeconds()); + let resStr = ''; + if (startType === 'year') { + resStr = + year + + '-' + + month + + '-' + + date + + ' ' + + hours + + ':' + + minutes + + ':' + + second; + } + else resStr = month + '-' + date + ' ' + hours + ':' + minutes; + return resStr; +}; + +/** + * @param {String|Number} timeStamp 时间戳 + * @returns {String} 相对时间字符串 + */ +export const getRelativeTime = timeStamp => { + // 判断当前传入的时间戳是秒格式还是毫秒 + const IS_MILLISECOND = isMillisecond(timeStamp); + // 如果是毫秒格式则转为秒格式 + if (IS_MILLISECOND) Math.floor((timeStamp /= 1000)); + // 传入的时间戳可以是数值或字符串类型,这里统一转为数值类型 + timeStamp = Number(timeStamp); + // 获取当前时间时间戳 + const currentTime = Math.floor(Date.parse(new Date()) / 1000); + // 判断传入时间戳是否早于当前时间戳 + const IS_EARLY = isEarly(timeStamp, currentTime); + // 获取两个时间戳差值 + let diff = currentTime - timeStamp; + // 如果IS_EARLY为false则差值取反 + if (!IS_EARLY) diff = -diff; + let resStr = ''; + const dirStr = IS_EARLY ? '前' : '后'; + // 少于等于59秒 + if (diff <= 59) resStr = diff + '秒' + dirStr; + // 多于59秒,少于等于59分钟59秒 + else if (diff > 59 && diff <= 3599) { resStr = Math.floor(diff / 60) + '分钟' + dirStr; } + // 多于59分钟59秒,少于等于23小时59分钟59秒 + else if (diff > 3599 && diff <= 86399) { resStr = Math.floor(diff / 3600) + '小时' + dirStr; } + // 多于23小时59分钟59秒,少于等于29天59分钟59秒 + else if (diff > 86399 && diff <= 2623859) { resStr = Math.floor(diff / 86400) + '天' + dirStr; } + // 多于29天59分钟59秒,少于364天23小时59分钟59秒,且传入的时间戳早于当前 + else if (diff > 2623859 && diff <= 31567859 && IS_EARLY) { resStr = getDate(timeStamp); } + else resStr = getDate(timeStamp, 'year'); + return resStr; +}; + +/** + * @returns {String} 当前浏览器名称 + */ +export const getExplorer = () => { + const ua = window.navigator.userAgent; + const isExplorer = exp => { + return ua.indexOf(exp) > -1; + }; + if (isExplorer('MSIE')) return 'IE'; + else if (isExplorer('Firefox')) return 'Firefox'; + else if (isExplorer('Chrome')) return 'Chrome'; + else if (isExplorer('Opera')) return 'Opera'; + else if (isExplorer('Safari')) return 'Safari'; +}; + +/** + * @description 绑定事件 on(element, event, handler) + */ +export const on = (function () { + if (document.addEventListener) { + return function (element, event, handler) { + if (element && event && handler) { + element.addEventListener(event, handler, false); + } + }; + } else { + return function (element, event, handler) { + if (element && event && handler) { + element.attachEvent('on' + event, handler); + } + }; + } +})(); + +/** + * @description 解绑事件 off(element, event, handler) + */ +export const off = (function () { + if (document.removeEventListener) { + return function (element, event, handler) { + if (element && event) { + element.removeEventListener(event, handler, false); + } + }; + } else { + return function (element, event, handler) { + if (element && event) { + element.detachEvent('on' + event, handler); + } + }; + } +})(); + +/** + * 判断一个对象是否存在key,如果传入第二个参数key,则是判断这个obj对象是否存在key这个属性 + * 如果没有传入key这个参数,则判断obj对象是否有键值对 + */ +export const hasKey = (obj, key) => { + if (key) return key in obj; + else { + let keysArr = Object.keys(obj); + return keysArr.length; + } +}; + +/** + * @param {*} obj1 对象 + * @param {*} obj2 对象 + * @description 判断两个对象是否相等,这两个对象的值只能是数字或字符串 + */ +export const objEqual = (obj1, obj2) => { + const keysArr1 = Object.keys(obj1); + const keysArr2 = Object.keys(obj2); + if (keysArr1.length !== keysArr2.length) return false; + else if (keysArr1.length === 0 && keysArr2.length === 0) return true; + /* eslint-disable-next-line */ else { return !keysArr1.some(key => obj1[key] != obj2[key]); } +}; + +// 相关工具类 +export const utils = { + /** + * @description table实现反选 + * @param {Object} vm Vue实例 + * @param {Array} tableSelectDate 选中的数据 + * @param {Array} allData 所有数据 + * @param {Array} key 数据中的唯一值 + */ + reverseSelect (vm, tableSelectDate, allData, key) { + let copyMess = JSON.parse(JSON.stringify(tableSelectDate)); + // 流程:先全部选中->再部分选中 + vm.handleSelectAll(false); + // 选中的idList + let idList = copyMess.map(item => item[key]); + console.log(idList); + for (let item of allData) { + if (idList.every(id => id !== item.id)) { + vm.$set(item, '_checked', true); + tableSelectDate.push(item); + } else { + vm.$set(item, '_checked', false); + } + } + }, + // 校验字符串是否相同 合同使用 + contrastString (originStr, changeStr) { + let origin = originStr + .replace(/\s*/g, '') + .replace(/"/g, '\'') + .replace(/ /g, '') + .replace(/disabled=\/'\/'/g, 'disabled'); + let change = changeStr + .replace(/\s*/g, '') + .replace(/"/g, '\'') + .replace(/ /g, '') + .replace(/disabled=\/'\/'/g, 'disabled'); + return origin === change; + }, + // 获取当前日期getDateStr(0)、前几天getDateStr(-10)、后几天getDateStr(20) + getDateStr (AddDayCount, format) { + let date = new Date(); + // 获取AddDayCount天后的日期 + date.setDate(date.getDate() + AddDayCount); + return this.getDate(date, format); + }, + getDate (date, format) { + let year = date.getFullYear(); + // day获取当前几号,不足10补0 + let day = date.getDate() > 9 ? date.getDate() : '0' + date.getDate(); + // month获取当前月份的日期,不足10补0 + let month = + date.getMonth() + 1 > 9 + ? date.getMonth() + 1 + : '0' + (date.getMonth() + 1); + // h获取当前小时,不足10补0 + let h = date.getHours() > 9 ? date.getHours() : '0' + date.getHours(); + // s获取当前分钟,不足10补0 + let m = date.getMinutes() > 9 ? date.getMinutes() : '0' + date.getMinutes(); + // s获取当前秒数,不足10补0 + let s = date.getSeconds() > 9 ? date.getSeconds() : '0' + date.getSeconds(); + let resultDate = ''; + if (format === dateFormat.YMD) { + resultDate = year + '-' + month + '-' + day; + } + if (format === dateFormat.YMDHM) { + resultDate = year + '-' + month + '-' + day + ' ' + h + ':' + m; + } + if (format === dateFormat.YMDHMS) { + resultDate = year + '-' + month + '-' + day + ' ' + h + ':' + m + ':' + s; + } + return resultDate; + }, + // 获取周一和周日日期,返回两种格式时间 + getDateWeek () { + let now = new Date(); + let nowTime = now.getTime(); + let day = now.getDay(); + let oneDayLong = 1000 * 60 * 60 * 24; + let MondayTime = nowTime - (day - 1) * oneDayLong; + let SundayTime = nowTime + (7 - day) * oneDayLong; + let monday = new Date(MondayTime); + let sunday = new Date(SundayTime); + return { + // first: this.getDateAll(monday), + // last: this.getDateAll(sunday), + firstDate: monday, + lastDate: sunday + }; + }, + // 获取月初与月末日期,返回两种时间格式 + getDateMonth () { + let dateFirter = new Date(); + let dateLast = new Date(); + dateFirter.setDate(1); + + let currentMonth = dateLast.getMonth(); + let nextMonth = ++currentMonth; + let nextMonthFirstDay = new Date(dateLast.getFullYear(), nextMonth, 1); + let oneDay = 1000 * 60 * 60 * 24; + dateLast = new Date(nextMonthFirstDay - oneDay); + + return { + // first: this.getDateAll(dateFirter), + // last: this.getDateAll(dateLast), + firstDate: dateFirter, + lastDate: dateLast + }; + }, + // 计算天数 + getDayBetweenDate (date) { + date = this.getDate(new Date(date), 'YMD'); + let startTime = Date.parse(new Date(date)); // IE支持“yyyy/MM/dd”格式 + let endTime = Date.parse(this.getDate(new Date(), 'YMD')); + let day = parseInt((endTime - startTime) / (1000 * 60 * 60 * 24)); + return day; + }, + getDateIntervalYear (firstDate, secondDate) { + if (!firstDate || !secondDate) { + return 0; + } + let first = new Date(firstDate); + let second = new Date(secondDate); + let firstYear = first.getFullYear(); + let secondYear = second.getFullYear(); + let intervalYear = secondYear - firstYear; + return intervalYear < 0 ? 0 : intervalYear; + }, + getDateIntervalYearFixed2 (firstDate, secondDate) { + if (!firstDate || !secondDate) { + return 0; + } + // 格式化时间 + let startDate = new Date(this.getDate(new Date(firstDate), 'YMD')); + let endDate = new Date(this.getDate(new Date(secondDate), 'YMD')); + // 得到毫秒值 + let startTime = Date.parse(startDate); + let endTime = Date.parse(endDate); + // 得到差了多少天 + let day = parseInt((endTime - startTime) / (1000 * 60 * 60 * 24)); + if (day <= 0) { + return 0; + } + // 得到差的多少年 保留两位小数 + let resultYear = parseFloat((day / (30 * 12)).toFixed(2)); + return resultYear; + }, + // 数字转化为中文大写 + // 代码如下所示: + convertCurrency (money) { + // 汉字的数字 + let cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']; + // 基本单位 + let cnIntRadice = ['', '拾', '佰', '仟']; + // 对应整数部分扩展单位 + let cnIntUnits = ['', '万', '亿', '兆']; + // 对应小数部分单位 + let cnDecUnits = ['角', '分', '毫', '厘']; + // 整数金额时后面跟的字符 + let cnInteger = '整'; + // 整型完以后的单位 + let cnIntLast = '元'; + // 最大处理的数字 + let maxNum = 999999999999999.9999; + // 金额整数部分 + let integerNum; + // 金额小数部分 + let decimalNum; + // 输出的中文金额字符串 + let chineseStr = ''; + // 分离金额后用的数组,预定义 + let parts; + if (money === '') { + return ''; + } + money = parseFloat(money); + if (money >= maxNum) { + // 超出最大处理数字 + return ''; + } + if (money === 0) { + chineseStr = cnNums[0] + cnIntLast + cnInteger; + return chineseStr; + } + // 转换为字符串 + money = money.toString(); + if (money.indexOf('.') === -1) { + integerNum = money; + decimalNum = ''; + } else { + parts = money.split('.'); + integerNum = parts[0]; + decimalNum = parts[1].substr(0, 4); + } + // 获取整型部分转换 + if (parseInt(integerNum, 10) > 0) { + let zeroCount = 0; + let IntLen = integerNum.length; + for (let i = 0; i < IntLen; i++) { + let n = integerNum.substr(i, 1); + let p = IntLen - i - 1; + let q = p / 4; + let m = p % 4; + if (n === '0') { + zeroCount++; + } else { + if (zeroCount > 0) { + chineseStr += cnNums[0]; + } + // 归零 + zeroCount = 0; + chineseStr += cnNums[parseInt(n)] + cnIntRadice[m]; + } + if (m === 0 && zeroCount < 4) { + chineseStr += cnIntUnits[q]; + } + } + chineseStr += cnIntLast; + } + // 小数部分 + if (decimalNum !== '') { + let decLen = decimalNum.length; + for (let i = 0; i < decLen; i++) { + let n = decimalNum.substr(i, 1); + if (n !== '0') { + chineseStr += cnNums[Number(n)] + cnDecUnits[i]; + } + } + } + if (chineseStr === '') { + chineseStr += cnNums[0] + cnIntLast + cnInteger; + } else if (decimalNum === '') { + chineseStr += cnInteger; + } + return chineseStr; + } +}; + + +export const dateTimeRangeConvert = (timerange) => { + // timerange + let arr = []; + if (timerange[0] === '') { + arr.push(null); + } else { + arr.push(moment(timerange[0]).format("YYYY-MM-DD 00:00:00")); + } + + if (timerange[1] === '') { + arr.push(null); + } else { + arr.push(moment(timerange[1]).format("YYYY-MM-DD 23:59:59")); + } + return arr; +} + diff --git a/smart_admin_v1/smart-admin-web/src/locale/index.js b/smart_admin_v1/smart-admin-web/src/locale/index.js new file mode 100644 index 00000000..5509260c --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/locale/index.js @@ -0,0 +1,37 @@ +import Vue from 'vue'; +import VueI18n from 'vue-i18n'; +import { localRead } from '@/lib/local'; +import customZhCn from './lang/zh-CN'; +import customZhTw from './lang/zh-TW'; +import customEnUs from './lang/en-US'; +import zhCnLocale from 'view-design/src/locale/lang/zh-CN'; +import enUsLocale from 'view-design/src/locale/lang/en-US'; +import zhTwLocale from 'view-design/src/locale/lang/zh-TW'; + +Vue.use(VueI18n); + +// 自动根据浏览器系统语言设置语言 +const navLang = navigator.language; +const localLang = (navLang === 'zh-CN' || navLang === 'en-US') ? navLang : false; +let lang = localLang || localRead('local') || 'zh-CN'; + +Vue.config.lang = lang; + +// vue-i18n 6.x+写法 +Vue.locale = () => { }; +const messages = { + 'zh-CN': Object.assign(zhCnLocale, customZhCn), + 'zh-TW': Object.assign(zhTwLocale, customZhTw), + 'en-US': Object.assign(enUsLocale, customEnUs) +}; +const i18n = new VueI18n({ + locale: lang, + messages +}); + +export default i18n; + +// vue-i18n 5.x写法 +// Vue.locale('zh-CN', Object.assign(zhCnLocale, customZhCn)) +// Vue.locale('en-US', Object.assign(zhTwLocale, customZhTw)) +// Vue.locale('zh-TW', Object.assign(enUsLocale, customEnUs)) diff --git a/smart_admin_v1/smart-admin-web/src/locale/lang/en-US.js b/smart_admin_v1/smart-admin-web/src/locale/lang/en-US.js new file mode 100644 index 00000000..dc20d8f6 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/locale/lang/en-US.js @@ -0,0 +1,46 @@ +export default { + home: 'Home', + login: 'Login', + components: 'Components', + count_to_page: 'Count-to', + tables_page: 'Table', + split_pane_page: 'Split-pane', + markdown_page: 'Markdown-editor', + editor_page: 'Rich-Text-Editor', + icons_page: 'Custom-icon', + img_cropper_page: 'Image-editor', + update: 'Update', + doc: 'Document', + join_page: 'QQ Group', + update_table_page: 'Update .CSV', + update_paste_page: 'Paste Table Data', + multilevel: 'multilevel', + directive_page: 'Directive', + level_1: 'Level-1', + level_2: 'Level-2', + level_2_1: 'Level-2-1', + level_2_3: 'Level-2-3', + level_2_2: 'Level-2-2', + level_2_2_1: 'Level-2-2-1', + level_2_2_2: 'Level-2-2-2', + excel: 'Excel', + 'upload-excel': 'Upload Excel', + 'export-excel': 'Export Excel', + tools_methods_page: 'Tools Methods', + drag_list_page: 'Drag-list', + i18n_page: 'Internationalization', + modalTitle: 'Modal Title', + content: 'This is the modal box content.', + buttonText: 'Show Modal', + 'i18n-tip': 'Note: Only this page is multi-language, other pages do not add language content to the multi-language package.', + error_store_page: 'Error Collection', + error_logger_page: 'Error Logger', + query: 'Query', + params: 'Params', + cropper_page: 'Cropper', + message_page: 'Message Center', + tree_table_page: 'Tree Table', + org_tree_page: 'Org Tree', + drag_drawer_page: 'Draggable Drawer', + tree_select_page: 'Tree Selector' +} diff --git a/smart_admin_v1/smart-admin-web/src/locale/lang/zh-CN.js b/smart_admin_v1/smart-admin-web/src/locale/lang/zh-CN.js new file mode 100644 index 00000000..9e402562 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/locale/lang/zh-CN.js @@ -0,0 +1,46 @@ +export default { + home: '首页', + login: '登录', + components: '组件', + count_to_page: '数字渐变', + tables_page: '多功能表格', + split_pane_page: '分割窗口', + markdown_page: 'Markdown编辑器', + editor_page: '富文本编辑器', + icons_page: '自定义图标', + img_cropper_page: '图片编辑器', + update: '上传数据', + join_page: 'QQ群', + doc: '文档', + update_table_page: '上传CSV文件', + update_paste_page: '粘贴表格数据', + multilevel: '多级菜单', + directive_page: '指令', + level_1: 'Level-1', + level_2: 'Level-2', + level_2_1: 'Level-2-1', + level_2_3: 'Level-2-3', + level_2_2: 'Level-2-2', + level_2_2_1: 'Level-2-2-1', + level_2_2_2: 'Level-2-2-2', + excel: 'Excel', + 'upload-excel': '上传excel', + 'export-excel': '导出excel', + tools_methods_page: '工具函数', + drag_list_page: '拖拽列表', + i18n_page: '多语言', + modalTitle: '模态框题目', + content: '这是模态框内容', + buttonText: '显示模态框', + 'i18n-tip': '注:仅此页做了多语言,其他页面没有在多语言包中添加语言内容', + error_store_page: '错误收集', + error_logger_page: '错误日志', + query: '带参路由', + params: '动态路由', + cropper_page: '图片裁剪', + message_page: '消息中心', + tree_table_page: '树状表格', + org_tree_page: '组织结构树', + drag_drawer_page: '可拖动抽屉', + tree_select_page: '树状下拉选择器' +} diff --git a/smart_admin_v1/smart-admin-web/src/locale/lang/zh-TW.js b/smart_admin_v1/smart-admin-web/src/locale/lang/zh-TW.js new file mode 100644 index 00000000..ce51c428 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/locale/lang/zh-TW.js @@ -0,0 +1,46 @@ +export default { + home: '首頁', + login: '登錄', + components: '组件', + count_to_page: '数字渐变', + tables_page: '多功能表格', + split_pane_page: '分割窗口', + markdown_page: 'Markdown編輯器', + editor_page: '富文本編輯器', + icons_page: '自定義圖標', + img_cropper_page: '圖片編輯器', + update: '上傳數據', + join_page: 'QQ群', + doc: '文檔', + update_table_page: '上傳CSV文件', + update_paste_page: '粘貼表格數據', + multilevel: '多级菜单', + directive_page: '指令', + level_1: 'Level-1', + level_2: 'Level-2', + level_2_1: 'Level-2-1', + level_2_3: 'Level-2-3', + level_2_2: 'Level-2-2', + level_2_2_1: 'Level-2-2-1', + level_2_2_2: 'Level-2-2-2', + excel: 'Excel', + 'upload-excel': '上傳excel', + 'export-excel': '導出excel', + tools_methods_page: '工具函數', + drag_list_page: '拖拽列表', + i18n_page: '多語言', + modalTitle: '模態框題目', + content: '這是模態框內容', + buttonText: '顯示模態框', + 'i18n-tip': '注:僅此頁做了多語言,其他頁面沒有在多語言包中添加語言內容', + error_store_page: '錯誤收集', + error_logger_page: '錯誤日誌', + query: '帶參路由', + params: '動態路由', + cropper_page: '圖片裁剪', + message_page: '消息中心', + tree_table_page: '樹狀表格', + org_tree_page: '組織結構樹', + drag_drawer_page: '可拖動抽屜', + tree_select_page: '樹狀下拉選擇器' +} diff --git a/smart_admin_v1/smart-admin-web/src/main.js b/smart_admin_v1/smart-admin-web/src/main.js new file mode 100644 index 00000000..d213c7f2 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/main.js @@ -0,0 +1,80 @@ +// The Vue build version to load with the `import` command +// (runtime-only or standalone) has been set in webpack.base.conf with an alias. +import Vue from 'vue'; +import App from './App'; +import router from './router'; +import store from './store'; +import ViewUI from 'view-design'; +import i18n from '@/locale'; +import config from '@/config'; +import importDirective from '@/directives'; +import JsonViewer from 'vue-json-viewer'; +import _ from 'lodash'; +// import { directive as clickOutside } from 'v-click-outside-x'; +import * as vClickOutside from 'v-click-outside-x'; +import installPlugin from '@/plugins'; +import './themes/index.less'; +import '@/assets/icons/iconfont.css'; +import 'slick-carousel/slick/slick.css'; +import { Decimal } from 'decimal.js'; +// 枚举管理 +import Enum from 'vue-enum'; +import enumInfo from '@/constants'; +// 处理table操作按钮 +import tableAction from './lib/table-action'; + +// 时间 +import moment from 'moment'; + +import 'e-guide-layer/dist/e-guide-layer.css' +import eGuideLayer from 'e-guide-layer' + +Vue.use(eGuideLayer); + +Vue.prototype.$tableAction = tableAction; +Vue.use(Enum, { enumInfo }); +Vue.use(ViewUI, { + i18n: (key, value) => i18n.t(key, value) +}); +Vue.use(JsonViewer); +Vue.use(vClickOutside); + + +Number.prototype.toFixed = function (length) { + let x = new Decimal(this); + return x.toFixed(length); +}; + +//时间处理 +moment.locale('zh-cn'); //设置语言 或 moment.lang('zh-cn'); +Vue.prototype.$moment = moment;//赋值使用 + + +/** + * @description 注册admin内置插件 + */ +installPlugin(Vue); +/** + * @description 生产环境关掉提示 + */ +Vue.config.productionTip = false; +/** + * @description 全局注册应用配置 + */ +Vue.prototype.$config = config; +/** + * 注册指令 + */ +importDirective(Vue); +// Vue.directive('clickOutside', clickOutside); + +window._ = _; + +/* eslint-disable no-new */ +new Vue({ + el: '#app', + router, + i18n, + store, + render: h => h(App) +}); diff --git a/smart_admin_v1/smart-admin-web/src/main.less b/smart_admin_v1/smart-admin-web/src/main.less new file mode 100644 index 00000000..72a1a030 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/main.less @@ -0,0 +1,37 @@ +.warp-card { + margin-top: 10px; + &:first-child { + margin-top: 0; + } + .action-show { + .ivu-btn { + margin: 0 3px; + } + } + .action-hide { + .ivu-btn { + margin: 0 3px; + span { + //display: none; + } + } + } + .add-form { + padding-top: 15px; + } +} +.areaSelect .areaBox .areaArrow.active { + border-color: #689df6 !important; +} + +.areaSelect .areaBox .areaInput:hover, .areaSelect .areaBox .areaInput:focus { + border-color: #689df6 !important; +} + +.areaSelect .areaBox .areaModal ul li.active[data-v-16a01167] { + background: #fff !important; + color: #689df6 !important; +} +.main{ + .side-menu-wrapper .ivu-menu-dark .ivu-menu .ivu-menu-submenu-has-parent-submenu{ padding-left: 41px; } +} diff --git a/smart_admin_v1/smart-admin-web/src/plugins/error-store/index.js b/smart_admin_v1/smart-admin-web/src/plugins/error-store/index.js new file mode 100644 index 00000000..c8b35b8f --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/plugins/error-store/index.js @@ -0,0 +1,4 @@ +import store from '@/store'; +export default { + install(Vue, options) {} +}; diff --git a/smart_admin_v1/smart-admin-web/src/plugins/index.js b/smart_admin_v1/smart-admin-web/src/plugins/index.js new file mode 100644 index 00000000..1a1c1870 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/plugins/index.js @@ -0,0 +1,12 @@ +import config from '@/config'; +const { plugin } = config; + +export default Vue => { + for (let name in plugin) { + const value = plugin[name]; + Vue.use( + require(`./${name}`).default, + typeof value === 'object' ? value : undefined + ); + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/router/before-close.js b/smart_admin_v1/smart-admin-web/src/router/before-close.js new file mode 100644 index 00000000..0d4d61db --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/before-close.js @@ -0,0 +1,17 @@ +import { Modal } from 'view-design'; + +const beforeClose = { + before_close_normal: resolve => { + Modal.confirm({ + title: '确定要关闭这一页吗', + onOk: () => { + resolve(true); + }, + onCancel: () => { + resolve(false); + } + }); + } +}; + +export default beforeClose; diff --git a/smart_admin_v1/smart-admin-web/src/router/index.js b/smart_admin_v1/smart-admin-web/src/router/index.js new file mode 100644 index 00000000..c86b14ee --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/index.js @@ -0,0 +1,218 @@ +import Vue from 'vue'; +import Router from 'vue-router'; +import { routers } from './routers'; +import store from '@/store'; +import ViewUI from 'view-design'; +import cookie from '@/lib/cookie'; +import { localRead } from '@/lib/local'; +import { setTitle } from '@/lib/menu-func'; +import config from '@/config'; + +const { homeName } = config; + +Vue.use(Router); +const router = new Router({ + // routes: routers, + routes: buildRouters(routers) + // mode: 'history' +}); +const LOGIN_PAGE_NAME = 'login'; + +// 防止用户刷新丢失登录信息 +if ( + Object.keys(store.state.user.userLoginInfo).length === 0 && + localRead('userLoginInfo') +) { + store.commit('setUserLoginInfo', JSON.parse(localRead('userLoginInfo'))); +} +// 解决路由跳转相同的地址报错 +const originalPush = Router.prototype.push; +Router.prototype.push = function (location) { + try { + return originalPush.call(this, location).catch(err => err); + } catch (error) { + // TODO zhuoda sentry + console.error(error); + } +}; + +// 关于当前页面 +Router.prototype.closeCurrentPage = function () { + let current = this.history.current; + store.commit('closeTag', current); + store.commit('deleteKeepAliveIncludes', current.name); +}; + +// 关闭当前页面然后跳转到指定页面 +Router.prototype.closeCurrentPageAndPush = function (pushParam) { + let current = this.history.current; + store.commit('closeTagNotPushNextRoute', current); + store.commit('deleteKeepAliveIncludes', current.name); + this.push(pushParam); +}; +let storeSelf = store; +router.beforeEach((to, from, next) => { + ViewUI.LoadingBar.start(); + const token = cookie.getToken(); + if (!token && to.name !== LOGIN_PAGE_NAME) { + // 未登录且要跳转的页面不是登录页 + next({ + name: LOGIN_PAGE_NAME // 跳转到登录页 + }); + } else if (!token && to.name === LOGIN_PAGE_NAME) { + // 未登陆且要跳转的页面是登录页 + next(); // 跳转 + } else if (token && to.name === LOGIN_PAGE_NAME) { + // 已登录且要跳转的页面是登录页 + next({ + // 跳转到home页 + name: homeName + }); + setTitle(to, router.app); + ViewUI.LoadingBar.finish(); + window.scrollTo(0, 0); + } else { + // 特殊页面直接放行 + if (to.meta.noValidatePrivilege) { + next(); + return; + } + + //如果是超管,直接放行 + if (store.state.user.userLoginInfo.isSuperMan) { + next(); + return; + } + + // 去掉/之后第一个字母 + let key = to.path.substr(1, 1); + let pathArray = storeSelf.state.user.privilegeRouterPathMap.get(key); + if (!(pathArray && pathArray.indexOf(to.path) >= 0)) { + next({ + name: 'Error401' + }); + } else { + next(); + } + } +}); + +router.afterEach(to => { + setTitle(to, router.app); + ViewUI.LoadingBar.finish(); + window.scrollTo(0, 0); +}); + +function buildRouters (routerArray) { + let lineRouters = []; + for (let routerItem of routerArray) { + //如果是顶层菜单 + if (routerItem.meta.topMenu) { + // for (let children of routerItem.children) { + let lineRouterArray = convertRouterTree2Line(routerItem.children); + lineRouters.push(...lineRouterArray); + // } + } else { + let lineRouterArray = convertRouterTree2Line([routerItem]); + lineRouters.push(...lineRouterArray); + } + } + return lineRouters; +} + +function convertRouterTree2Line (routerArray) { + //一级,比如 人员管理 + let topArray = []; + for (let router1Item of routerArray) { + let level2Array = []; + //二级,比如员工管理 + if (router1Item.children) { + for (let level2Item of router1Item.children) { + + let level2ItemCopy = {}; + for (let property in level2Item) { + if ('children' !== property) { + level2ItemCopy[property] = level2Item[property]; + } + } + + //三级, + if (level2Item.children) { + level2Array.push(...level2Item.children) + } + + level2ItemCopy.children = []; + level2Array.push(level2Item); + } + } + + let newTopRouterItem = {}; + for (let property in router1Item) { + if ('children' !== property) { + newTopRouterItem[property] = router1Item[property]; + } + } + + newTopRouterItem.children = level2Array; + topArray.push(newTopRouterItem); + } + + return topArray; +} + +let tempCheckObj = { + checkRouterNameMap: new Map(), + checkRouterPathMap: new Map() +}; + +function recursionCheckRouter (routerArray) { + for (let routerItem of routerArray) { + if (!routerItem.name) { + console.error('没有配置router name', routerItem); + } else { + let existNameRouter = tempCheckObj.checkRouterNameMap.get( + routerItem.name + ); + if (typeof existNameRouter !== 'undefined') { + console.error('存在相同的router name', routerItem, existNameRouter); + } else { + tempCheckObj.checkRouterNameMap.set(routerItem.name, routerItem); + } + } + + if (!routerItem.path) { + console.error('没有配置router path', routerItem); + } else { + // path必须以 / 开头 + if (routerItem.path !== '*' && routerItem.path.indexOf('/') !== 0) { + console.error('path 没有以/开头 ', routerItem); + } + + let existPathRouter = tempCheckObj.checkRouterPathMap.get( + routerItem.path + ); + if (typeof existPathRouter !== 'undefined') { + console.error('存在相同的router path', routerItem, existPathRouter); + } else { + tempCheckObj.checkRouterPathMap.set(routerItem.path, routerItem); + } + } + + if (routerItem.children) { + recursionCheckRouter(routerItem.children); + } + } +} + +//如果是开发环境,需要检测router的规范性 +if (process.env.NODE_ENV === 'development') { + recursionCheckRouter(routers); + delete tempCheckObj.checkRouterNameMap; + delete tempCheckObj.checkRouterPathMap; +} + +const topMenuArray = routers.filter(e => e.meta.topMenu); +export { topMenuArray }; + +export default router; + diff --git a/smart_admin_v1/smart-admin-web/src/router/module/business/email.js b/smart_admin_v1/smart-admin-web/src/router/module/business/email.js new file mode 100644 index 00000000..55c00de7 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/business/email.js @@ -0,0 +1,40 @@ +import Main from '@/components/main'; +// 基础设置 +export const emailSetting = [ + { + path: '/email', + name: 'Email', + component: Main, + meta: { + title: '邮件管理', + icon: 'icon iconfont iconyoujianguanli' + }, + children: [ + // 发送email + { + path: '/email/email-list', + name: 'EmailList', + meta: { + title: '邮件管理', + privilege: [ + { title: '查询', name: 'email-query' }, + { title: '新增', name: 'email-add' }, + { title: '编辑', name: 'email-update' }, + { title: '删除', name: 'email-delete' } + ] + }, + component: () => import('@/views/business/email/email-list.vue') + }, + // 发送email + { + path: '/email/send-mail', + name: 'SendMail', + meta: { + title: '发送邮件', + privilege: [{ title: '发送', name: 'email-send' }] + }, + component: () => import('@/views/business/email/send-mail.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/business/index.js b/smart_admin_v1/smart-admin-web/src/router/module/business/index.js new file mode 100644 index 00000000..cf9ef2e4 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/business/index.js @@ -0,0 +1,29 @@ + +import Main from '@/components/main'; + +import { peony } from './peony'; +import { emailSetting } from './email'; +import { keepAlive } from './keep-alive'; +import { notice } from './notice'; +import { threeRouter } from './three-router'; + +// 业务 +export const business = [ + { + path: '/business', + name: 'Business', + component: Main, + meta: { + title: '业务功能', + topMenu:true, + icon: 'icon iconfont iconyoujianguanli' + }, + children: [ + ...peony, + ...emailSetting, + ...keepAlive, + ...notice, + ...threeRouter + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/business/keep-alive.js b/smart_admin_v1/smart-admin-web/src/router/module/business/keep-alive.js new file mode 100644 index 00000000..98c5e044 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/business/keep-alive.js @@ -0,0 +1,31 @@ +import Main from '@/components/main'; +// 接口文档 +export const keepAlive = [ + { + path: '/keep-alive', + name: 'KeepAlive', + component: Main, + meta: { + title: 'KeepAlive', + icon: 'icon iconfont iconxitongshezhi' + }, + children: [ + { + path: '/keep-alive/content-list', + name: 'KeepAliveContentList', + meta: { + title: 'KeepAlive列表' + }, + component: () => import('@/views/business/keep-alive/content-list.vue') + }, + { + path: '/keep-alive/add-content', + name: 'KeepAliveAddContent', + meta: { + title: 'KeepAlive表单' + }, + component: () => import('@/views/business/keep-alive/add-content.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/business/notice.js b/smart_admin_v1/smart-admin-web/src/router/module/business/notice.js new file mode 100644 index 00000000..c4ae9550 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/business/notice.js @@ -0,0 +1,52 @@ +import Main from '@/components/main'; +// 消息管理 +export const notice = [ + { + path: '/notice', + name: 'Notice', + component: Main, + meta: { + title: '消息管理', + icon: 'icon iconfont iconnews' + }, + children: [ + { + path: '/notice/notice-list', + name: 'NoticeList', + meta: { + title: '通知管理', + privilege: [ + { title: '查询', name: 'notice-query' }, + { title: '添加', name: 'notice-add' }, + { title: '修改', name: 'notice-edit' }, + { title: '删除', name: 'notice-delete' }, + { title: '详情', name: 'notice-detail' }, + { title: '发送', name: 'notice-send' } + ] + }, + component: () => import('@/views/business/notice/notice-list.vue') + }, + { + path: '/notice/person-notice', + name: 'PersonNotice', + meta: { + title: '个人消息', + privilege: [ + { title: '查询', name: 'person-notice-query' }, + { title: '详情', name: 'person-notice-detail' } + ] + }, + component: () => import('@/views/business/notice/person-notice.vue') + }, + { + path: '/notice/notice-detail', + name: 'NoticeDetail', + meta: { + title: '消息详情', + hideInMenu:true + }, + component: () => import('@/views/business/notice/notice-detail.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/business/peony.js b/smart_admin_v1/smart-admin-web/src/router/module/business/peony.js new file mode 100644 index 00000000..aff33eac --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/business/peony.js @@ -0,0 +1,49 @@ +import Main from '@/components/main'; +// t_peony路由 +export const peony = [ + { + path: '/peony', + name: 'Peony', + component: Main, + meta: { + title: '牡丹管理', + icon: 'icon iconfont iconyoujianguanli' + }, + children: [ + // 牡丹花 列表 + { + path: '/peony/peony-list', + name: 'PeonyList', + meta: { + title: '牡丹花列表', + privilege: [ + { title: '查询', name: 'peony-list-query' }, + { title: '新增', name: 'peony-list-add' }, + { title: '编辑', name: 'peony-list-update' }, + { title: '批量删除', name: 'peony-list-batch-delete' }, + { title: '批量导出', name: 'peony-list-batch-export' }, + { title: '导出全部', name: 'peony-list-export-all' } + ] + }, + component: () => import('@/views/business/peony/peony-list.vue') + }, + // 牡丹花 列表 1 + { + path: '/peony/peony-list1', + name: 'PeonyList1', + meta: { + title: '牡丹花列表1', + privilege: [ + { title: '查询', name: 'peony1-list-query' }, + { title: '新增', name: 'peony1-list-add' }, + { title: '编辑', name: 'peony1-list-update' }, + { title: '批量删除', name: 'peony1-list-batch-delete' }, + { title: '批量导出', name: 'peony1-list-batch-export' }, + { title: '导出全部', name: 'peony1-list-export-all' } + ] + }, + component: () => import('@/views/business/peony/peony-list.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/business/three-router.js b/smart_admin_v1/smart-admin-web/src/router/module/business/three-router.js new file mode 100644 index 00000000..bd958adc --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/business/three-router.js @@ -0,0 +1,63 @@ +import Main from '@/components/main'; +// 三级路由演示 +export const threeRouter = [ + { + path: '/three-router', + name: 'ThreeRouter', + component: Main, + meta: { + title: '三级路由', + icon: 'icon iconfont iconzujian' + }, + children: [ + // 最大支持到三级菜单 + { + path: '/three-router/level-two', + name: 'LevelTwo', + meta: { + title: '三级菜单' + }, + children: [ + { + path: '/three-router/level-two/level-three1', + name: 'ThreeLevelRouterView', + meta: { + title: '三级菜单子颗粒', + privilege: [ + { title: '添加', name: 'three-level-router-view-add' }, + { title: '查询', name: 'three-level-router-view-query' }, + ] + }, + component: () => import('@/views/business/three-level-router/three-level-router-view.vue') + }, + { + path: '/three-router/level-two/level-three2', + name: 'RoleTwoTwo', + meta: { + title: '三级菜单子哈', + privilege: [ + { title: '添加', name: 'roleTwoTwo-add' }, + { title: '删除', name: 'roleTwoTwo-delete' }, + { title: '删除', name: 'roleTwoTwo-delete1' }, + { title: '删除', name: 'roleTwoTwo-delete2' }, + ] + }, + component: () => import('@/views/support/monitor/sql.vue') + } + ] + }, + { + path: '/three-router/level-two2', + name: 'RoleOneOne', + meta: { + title: '二级菜单', + privilege: [ + { title: '添加', name: 'roleOneOne-add' }, + { title: '删除', name: 'roleOneOne-delete' } + ] + }, + component: () => import('@/views/support/monitor/sql.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/error.js b/smart_admin_v1/smart-admin-web/src/router/module/error.js new file mode 100644 index 00000000..9ab50841 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/error.js @@ -0,0 +1,33 @@ +// 错误页 +export const error = [ + { + path: '/401', + name: 'Error401', + meta: { + hideInMenu: true, + access: true, + noValidatePrivilege: true + }, + component: () => import('@/views/error-page/401.vue') + }, + { + path: '/500', + name: 'Error500', + meta: { + hideInMenu: true, + access: true, + noValidatePrivilege: true + }, + component: () => import('@/views/error-page/500.vue') + }, + { + path: '*', + name: 'http://localhost:8080/#employee/role-employee-manage', + meta: { + hideInMenu: true, + access: true, + noValidatePrivilege: true + }, + component: () => import('@/views/error-page/404.vue') + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/home.js b/smart_admin_v1/smart-admin-web/src/router/module/home.js new file mode 100644 index 00000000..87ca26a6 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/home.js @@ -0,0 +1,29 @@ +import Main from '@/components/main'; +// 首页 +export const home = [ + { + path: '/', + name: '_home', + redirect: '/home', + component: Main, + meta: { + title: '首页', + noKeepAlive: true, + hideInMenu: true, + noValidatePrivilege: true, + icon: 'icon iconfont iconxitongshezhi' + }, + children: [ + { + path: '/home', + name: 'Home', + meta: { + title: '首页', + noValidatePrivilege: true, + noKeepAlive: true + }, + component: () => import('@/views/home') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/support/api-doc.js b/smart_admin_v1/smart-admin-web/src/router/module/support/api-doc.js new file mode 100644 index 00000000..8336078c --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/support/api-doc.js @@ -0,0 +1,25 @@ +import Main from '@/components/main'; +// 接口文档 +export const apiDoc = [ + { + path: '/api-doc', + component: Main, + name: 'ApiDoc', + meta: { + title: '接口文档', + icon: 'icon iconfont iconjiekouwendang' + }, + + children: [ + { + path: '/api-doc/swagger', + name: 'Swagger', + meta: { + title: 'Swagger接口文档', + icon: 'icon iconfont iconjiekouwendang' + }, + component: () => import('@/views/support/api-doc/swagger.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/support/heart-beat.js b/smart_admin_v1/smart-admin-web/src/router/module/support/heart-beat.js new file mode 100644 index 00000000..82e51a01 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/support/heart-beat.js @@ -0,0 +1,31 @@ +import Main from '@/components/main'; +// 心跳服务 +export const heartBeat = [ + { + path: '/heart-beat', + name: 'HeartBeat', + component: Main, + meta: { + title: '心跳服务', + icon: 'icon iconfont icondingshirenwu' + }, + + children: [ + { + path: '/heart-beat/heart-beat-list', + name: 'HeartBeatList', + meta: { + title: '心跳服务', + icon: 'icon iconfont icondingshirenwu', + privilege: [ + { + title: '查询任务', + name: 'heart-beat-query' + } + ] + }, + component: () => import('@/views/support/heart-beat/heart-beat-list.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/support/index.js b/smart_admin_v1/smart-admin-web/src/router/module/support/index.js new file mode 100644 index 00000000..0f1d4ad0 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/support/index.js @@ -0,0 +1,30 @@ + +import Main from '@/components/main'; + + +import { apiDoc } from './api-doc'; +import { heartBeat } from './heart-beat'; +import { monitor } from './monitor'; +import { reload } from './reload'; +import { task } from './task'; + +// 业务 +export const support = [ + { + path: '/support', + name: 'Support', + component: Main, + meta: { + title: '开发专用', + topMenu: true, + icon: 'icon iconfont iconjiekouwendang' + }, + children: [ + ...apiDoc, + ...heartBeat, + ...monitor, + ...reload, + ...task + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/support/monitor.js b/smart_admin_v1/smart-admin-web/src/router/module/support/monitor.js new file mode 100644 index 00000000..064ec831 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/support/monitor.js @@ -0,0 +1,34 @@ +import Main from '@/components/main'; +// 系统监控 +export const monitor = [ + { + path: '/monitor', + component: Main, + name: 'Monitor', + meta: { + title: '系统监控', + icon: 'icon iconfont iconxitongjiankong' + }, + children: [ + // 在线人数 + { + path: '/monitor/online-user', + name: 'OnlineUser', + meta: { + title: '在线人数', + privilege: [{ title: '查询', name: 'online-user-search' }] + }, + component: () => import('@/views/support/monitor/online-user.vue') + }, + // SQL监控 + { + path: '/monitor/sql', + name: 'Sql', + meta: { + title: 'SQL监控' + }, + component: () => import('@/views/support/monitor/sql.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/support/reload.js b/smart_admin_v1/smart-admin-web/src/router/module/support/reload.js new file mode 100644 index 00000000..929a10d5 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/support/reload.js @@ -0,0 +1,40 @@ +import Main from '@/components/main'; +// 动态加载 +export const reload = [ + { + path: '/reload', + name: 'Reload', + component: Main, + meta: { + title: '动态加载', + icon: 'icon iconfont icondongtaijiazai' + }, + + children: [ + { + path: '/reload/smart-reload-list', + name: 'SmartReloadList', + meta: { + title: 'SmartReload', + icon: 'icon iconfont icondongtaijiazai', + privilege: [ + { + title: '查询', + name: 'smart-reload-search' + }, + { + title: '执行reload', + name: 'smart-reload-update' + }, + { + title: '查看执行结果', + name: 'smart-reload-result' + } + ] + }, + component: () => + import('@/views/support/reload/smart-reload/smart-reload-list.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/support/task.js b/smart_admin_v1/smart-admin-web/src/router/module/support/task.js new file mode 100644 index 00000000..97b2c869 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/support/task.js @@ -0,0 +1,63 @@ +import Main from '@/components/main'; +// 任务调度 +export const task = [ + { + path: '/task', + name: 'Task', + component: Main, + meta: { + title: '定时任务', + icon: 'icon iconfont icondingshirenwu' + }, + + children: [ + { + path: '/system-setting/task-list', + name: 'TaskList', + meta: { + title: '任务管理', + icon: 'icon iconfont icondingshirenwu', + privilege: [ + { + title: '查询任务', + name: 'task-search' + }, + { + title: '刷新任务', + name: 'task-refresh' + }, + { + title: '添加任务', + name: 'task-add' + }, + { + title: '编辑任务', + name: 'task-update' + }, + { + title: '暂停任务', + name: 'task-pause' + }, + { + title: '恢复任务', + name: 'task-resume' + }, + { + title: '立即运行任务', + name: 'task-run' + }, + { + title: '查看任务日志', + name: 'task-query-log' + }, + { + title: '删除任务', + name: 'task-delete' + } + ] + }, + component: () => import('@/views/support/task/task-list.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/system/employee.js b/smart_admin_v1/smart-admin-web/src/router/module/system/employee.js new file mode 100644 index 00000000..f01a9c6d --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/system/employee.js @@ -0,0 +1,149 @@ +import Main from '@/components/main'; +// 基础设置 +export const employee = [ + { + path: '/employee', + component: Main, + name: 'Employee', + meta: { + title: '人员管理', + icon: 'icon iconfont iconrenyuanguanli' + }, + children: [ + // 角色管理页面路由 + { + path: '/employee/role', + name: 'RoleManage', + meta: { + title: '角色管理', + privilege: [ + { + title: '添加角色', + name: 'add-role' + }, + { + title: '删除角色', + name: 'delete-role' + }, + { + title: '编辑角色', + name: 'update-role' + }, + { + title: '修改角色权限', + name: 'update-role-privilege' + }, + { + title: '添加成员', + name: 'add-employee-role' + }, + { + title: '移除成员', + name: 'delete-employee-role' + }, + { + title: '批量移除', + name: 'delete-employee-role-batch' + }, + { + title: '查询成员', + name: 'search-employee-list' + }, + { + title: '查询数据范围', + name: 'query-data-scope' + }, + { + title: '更新数据范围', + name: 'update-data-scope' + } + ] + }, + component: () => import('@/views/system/employee/role/role-manage.vue') + }, + // 岗位管理页面路由 新 + { + path: '/employee/position', + name: 'PositionList', + meta: { + title: '岗位管理', + privilege: [ + { + title: '查询', + name: 'search-position' + }, + { + title: '添加', + name: 'add-position' + }, + { + title: '修改', + name: 'update-position' + }, + { + title: '删除', + name: 'delete-position' + } + ] + }, + component: () => import('@/views/system/employee/position/position-list.vue') + }, + // 人员管理页面路由 + { + path: '/employee/role-employee-manage', + name: 'RoleEmployeeManage', + meta: { + title: '员工管理', + privilege: [ + { + title: '添加部门', + name: 'add-department' + }, + { + title: '编辑部门', + name: 'update-department' + }, + { + title: '删除部门', + name: 'delete-department' + }, + { + title: '查询', + name: 'search-department' + }, + { + title: '添加成员', + name: 'add-employee' + }, + { + title: '编辑成员', + name: 'update-employee' + }, + { + title: '禁用', + name: 'disabled-employee' + }, + { + title: '批量操作', + name: 'disabled-employee-batch' + }, + { + title: '员工角色编辑', + name: 'update-employee-role' + }, + { + title: '删除员工', + name: 'delete-employee' + }, + { + title: '重置密码', + name: 'reset-employee-password' + } + ] + }, + component: () => + import('@/views/system/employee/role-employee/role-employee-manage.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/system/file.js b/smart_admin_v1/smart-admin-web/src/router/module/system/file.js new file mode 100644 index 00000000..1d51b19a --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/system/file.js @@ -0,0 +1,29 @@ +import Main from '@/components/main'; +// 文件服务 +export const file = [ + { + path: '/file', + name: 'File', + component: Main, + meta: { + title: '文件服务', + icon: 'ios-cloud-upload' + }, + children: [ + { + path: '/file/file-list', + name: 'FileList', + meta: { + title: '文件列表', + icon: 'ios-cloud-upload', + privilege: [ + { title: '查询', name: 'file-filePage-query' }, + { title: '上传', name: 'file-filePage-upload' }, + { title: '下载', name: 'file-filePage-download' } + ] + }, + component: () => import('@/views/system/file/file-list.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/system/index.js b/smart_admin_v1/smart-admin-web/src/router/module/system/index.js new file mode 100644 index 00000000..1c5592c3 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/system/index.js @@ -0,0 +1,28 @@ + +import Main from '@/components/main'; + + +import { employee } from './employee'; +import { file } from './file'; +import { userLog } from './user-log'; +import { systemSetting } from './system-setting'; + +// 业务 +export const system = [ + { + path: '/system', + name: 'System', + component: Main, + meta: { + title: '系统设置', + topMenu: true, + icon: 'icon iconfont iconxitongshezhi' + }, + children: [ + ...employee, + ...file, + ...userLog, + ...systemSetting + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/system/system-setting.js b/smart_admin_v1/smart-admin-web/src/router/module/system/system-setting.js new file mode 100644 index 00000000..708cd3d7 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/system/system-setting.js @@ -0,0 +1,65 @@ +import Main from '@/components/main'; +// 基础设置 +export const systemSetting = [ + { + path: '/system-setting', + name: 'SystemSetting', + component: Main, + meta: { + title: '系统设置', + icon: 'icon iconfont iconxitongshezhi' + }, + + children: [ + { + path: '/system-setting/system-config', + name: 'SystemConfig', + meta: { + title: '系统参数', + privilege: [ + { + title: '查询系统参数', + name: 'system-params-search' + }, + { + title: '添加系统参数', + name: 'system-params-add' + }, + { + title: '修改系统参数', + name: 'system-config-update' + }, + { + title: '搜索系统参数', + name: 'system-config-search' + } + ] + }, + component: () => + import('@/views/system/system-setting/system-config/system-config.vue') + }, + { + path: '/system-setting/system-privilege', + name: 'SystemPrivilege', + meta: { + title: '菜单设置', + privilege: [ + { + title: '编辑', + name: 'privilege-main-update' + }, + { + title: '批量保存功能点', + name: 'privilege-batch-save-points' + }, + { + title: '查询', + name: 'privilege-main-search' + } + ] + }, + component: () => import('@/views/system/system-setting/system-privilege/system-privilege.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/module/system/user-log.js b/smart_admin_v1/smart-admin-web/src/router/module/system/user-log.js new file mode 100644 index 00000000..5d868c84 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/module/system/user-log.js @@ -0,0 +1,42 @@ +import Main from '@/components/main'; +// 用户日志 +export const userLog = [ + { + path: '/user-log', + name: 'UserLog', + component: Main, + meta: { + title: '用户日志', + icon: 'ios-paper-outline' + }, + children: [ + // 发送email + { + path: '/user-log/user-operate-log', + name: 'UserOperateLog', + meta: { + title: '用户操作日志', + privilege: [ + { title: '查询', name: 'user-operate-log-search' }, + { title: '详情', name: 'user-operate-log-detail' }, + { title: '删除', name: 'user-operate-log-delete' } + ] + }, + component: () => import('@/views/system/user-log/user-operate-log.vue') + }, + // 人员管理页面路由 + { + path: '/user-log/user-login-log', + name: 'UserLoginLog', + meta: { + title: '用户登录日志', + privilege: [ + { title: '查询', name: 'user-login-log-search' }, + { title: '删除', name: 'user-login-log-delete' } + ] + }, + component: () => import('@/views/system/user-log/user-login-log.vue') + } + ] + } +]; diff --git a/smart_admin_v1/smart-admin-web/src/router/routers.js b/smart_admin_v1/smart-admin-web/src/router/routers.js new file mode 100644 index 00000000..afcb628c --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/router/routers.js @@ -0,0 +1,43 @@ +import { home } from './module/home'; +import { error } from './module/error'; +import { business } from './module/business'; +import { support } from './module/support'; +import { system } from './module/system'; + +/** + * + * meta除了原生参数外可配置的参数: + * meta: { + * title: { String|Number|Function } + * 显示在侧边栏、面包屑和标签栏的文字 + * 使用'{{ 多语言字段 }}'形式结合多语言使用,例子看多语言的路由配置; + * 可以传入一个回调函数,参数是当前路由对象,例子看动态路由和带参路由 + * hideInBread: (false) 设为true后此级路由将不会出现在面包屑中,示例看QQ群路由配置 + * hideInMenu: (false) 设为true后在左侧菜单不会显示该页面选项, + * privilegeExtend:{String} 同一功能模块下子页面的功能点权限继承菜单模块创建的路由权限 by lihaifan&lipeng + * noKeepAlive: (false) 设为true后页面在切换标签后不会缓存,如果需要缓存,无需设置这个字段,而且需要设置页面组件name属性和路由配置的name一致 + * noValidatePrivilege: (true) 表示此路由不需要验证权限 + * topMenu:(true),表示为顶级菜单 + * } + */ +// 登录模块 +export const login = { + path: '/login', + name: 'login', + meta: { + hideInMenu: true, + title: 'Login - 登录', + noValidatePrivilege: true + }, + component: () => import('@/views/login/login.vue') +}; + +// 全部路由 +export const routers = [ + login, + ...home, + ...error, + ...business, + ...system, + ...support +]; diff --git a/smart_admin_v1/smart-admin-web/src/store/index.js b/smart_admin_v1/smart-admin-web/src/store/index.js new file mode 100644 index 00000000..6883f539 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/store/index.js @@ -0,0 +1,25 @@ +import Vue from 'vue'; +import Vuex from 'vuex'; + +import user from './module/user'; +import app from './module/app'; +import notice from './module/notice'; + +Vue.use(Vuex); + +export default new Vuex.Store({ + state: { + // + }, + mutations: { + // + }, + actions: { + // + }, + modules: { + user, + notice, + app + } +}); diff --git a/smart_admin_v1/smart-admin-web/src/store/module/app.js b/smart_admin_v1/smart-admin-web/src/store/module/app.js new file mode 100644 index 00000000..c19eade0 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/store/module/app.js @@ -0,0 +1,129 @@ +import { + getBreadCrumbList, + setTagNavListInLocalStorage, + getMenuByRouter, + getTagNavListFromLocalStorage, + getHomeRoute, + getNextRoute, + routeHasExist, + routeEqual, + getRouteTitleHandled +} from '@/lib/menu-func'; +import { localSave, localRead } from '@/lib/local'; +import router from '@/router'; +import { routers } from '@/router/routers'; +import config from '@/config'; +const { homeName } = config; +// 关闭页面+tag +const closePage = (state, route) => { + const nextRoute = getNextRoute(state.tagNavList, route); + state.tagNavList = state.tagNavList.filter(item => { + return !routeEqual(item, route); + }); + router.push(nextRoute); +}; + +export default { + state: { + // 缓存路由 + keepAliveIncludes: [], + // 面包屑列表 + breadCrumbList: [], + // tag列表 + tagNavList: [], + // 首页路由 + homeRoute: {}, + // 本地缓存 + local: localRead('local'), + // 错误列表 + errorList: [], + hasReadErrorPage: false + }, + getters: { + + errorCount: state => state.errorList.length + }, + mutations: { + // 加入缓存 + pushKeepAliveIncludes (state, val) { + if (state.keepAliveIncludes.length < 30) { + let number = state.keepAliveIncludes.findIndex(e => e === val); + if (number === -1) { + state.keepAliveIncludes.push(val); + } + } + }, + // 删除缓存 + deleteKeepAliveIncludes (state, val) { + let number = state.keepAliveIncludes.findIndex(e => e === val); + if (number !== -1) { + state.keepAliveIncludes.splice(number, 1); + } + }, + // 清空缓存 + clearKeepAliveIncludes (state, val) { + state.keepAliveIncludes = [val]; + }, + // 关闭其他 + deleteOtherKeepAliveIncludes (state, val) { + state.keepAliveIncludes.forEach((item, index, arr) => { + if (item !== config.homeName && item !== val) { + arr.splice(index, 1); + } + }); + }, + // 设置其是否出现在面包屑中 + setBreadCrumb (state, route) { + state.breadCrumbList = getBreadCrumbList(route, state.homeRoute); + }, + // 初始化首页使用 + setHomeRoute (state, routes) { + state.homeRoute = getHomeRoute(routes, homeName); + }, + // 设置tag列表 + setTagNavList (state, list) { + let tagList = []; + if (list) { + tagList = [...list]; + } else tagList = getTagNavListFromLocalStorage() || []; + if (tagList[0] && tagList[0].name !== homeName) tagList.shift(); + let homeTagIndex = tagList.findIndex(item => item.name === homeName); + if (homeTagIndex > 0) { + let homeTag = tagList.splice(homeTagIndex, 1)[0]; + tagList.unshift(homeTag); + } + state.tagNavList = tagList; + setTagNavListInLocalStorage([...tagList]); + }, + // 关闭tag + closeTag (state, route) { + let tag = state.tagNavList.filter(item => routeEqual(item, route)); + route = tag[0] ? tag[0] : null; + if (!route) return; + closePage(state, route); + }, + // 关闭当前tag,且不进行跳转 + closeTagNotPushNextRoute (state, route) { + state.tagNavList = state.tagNavList.filter(item => { + return !routeEqual(item, route); + }); + }, + // 新增tag + addTag (state, { route, type = 'unshift' }) { + let router = getRouteTitleHandled(route); + if (!routeHasExist(state.tagNavList, router)) { + if (type === 'push') state.tagNavList.push(router); + else { + if (router.name === homeName) state.tagNavList.unshift(router); + else state.tagNavList.splice(1, 0, router); + } + setTagNavListInLocalStorage([...state.tagNavList]); + } + }, + // 保存本地信息 + setLocal (state, lang) { + localSave('local', lang); + state.local = lang; + } + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/store/module/notice.js b/smart_admin_v1/smart-admin-web/src/store/module/notice.js new file mode 100644 index 00000000..3cff149e --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/store/module/notice.js @@ -0,0 +1,19 @@ +import { noticeApi } from '@/api/notice'; +export default { + state: { + noticeList: [], + noticeNumber: 0 + }, + mutations: { + updateNotice(state, data) { + state.noticeList = [...state.noticeList, ...data]; + }, + updateNoticeNum(state, data) { + state.noticeNumber = data; + }, + restNotice(state) { + state.noticeList = []; + state.noticeNumber = 0; + } + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/store/module/user.js b/smart_admin_v1/smart-admin-web/src/store/module/user.js new file mode 100644 index 00000000..eb2ca10a --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/store/module/user.js @@ -0,0 +1,122 @@ +import cookie from '@/lib/cookie.js'; +import { loginApi } from '@/api/login'; +import { localSave, localRead } from '@/lib/local'; +import { getType } from '@/lib/util'; +import { PRIVILEGE_TYPE_ENUM } from '@/constants/privilege'; + +const localReadRouterPrivilege = () => { + let map = new Map(); + let userRouterPrivilegeString = localRead('userRouterPrivilege'); + if (userRouterPrivilegeString) { + let privilegeList = JSON.parse(userRouterPrivilegeString); + if (privilegeList) { + for (const path of privilegeList) { + let key = path.substr(1, 1); + let pathArray = map.get(key); + if (pathArray) { + pathArray.push(path); + } else { + pathArray = []; + pathArray.push(path); + map.set(key, pathArray); + } + } + } + } + return map; +}; + +export default { + state: { + token: cookie.getToken(), + // session信息 + userLoginInfo: {}, + isUpdatePrivilege: false, + // key为router name, value为 key的集合,用于v-privilege,页面功能点判断 + privilegeFunctionPointsMap: new Map(), + // 菜单key权限集合,用于左侧是否有菜单权限判断 + privilegeMenuKeyList: [], + /** + * key为 router path的首字母,value为集合 + * 这样做是为了提高查询效率,用于vue-router拦截判断path + */ + privilegeRouterPathMap: localReadRouterPrivilege() + + }, + mutations: { + // 设置token + setToken (state, token) { + state.token = token; + cookie.setToken(token); + }, + // 保存用户登录信息 + setUserLoginInfo (state, userLoginInfo) { + state.userLoginInfo = userLoginInfo; + localSave('userLoginInfo', JSON.stringify(userLoginInfo)); + }, + setUserPrivilege (state, privilegeList) { + state.isUpdatePrivilege = true; + let routerPathArray = []; + for (const privilege of privilegeList) { + // 是菜单权限 + if (privilege.type === PRIVILEGE_TYPE_ENUM.MENU.value) { + state.privilegeMenuKeyList.push(privilege.key); + if (privilege.url) { + routerPathArray.push(privilege.url); + // 去掉/之后第一个字母 + let key = privilege.url.substr(1, 1); + let pathArray = state.privilegeRouterPathMap.get(key); + if (pathArray) { + pathArray.push(privilege.url); + } else { + pathArray = []; + pathArray.push(privilege.url); + state.privilegeRouterPathMap.set(key, pathArray); + } + } + } + // 如果是功能点 + if (privilege.type === PRIVILEGE_TYPE_ENUM.POINTS.value) { + if (privilege.parentKey) { + let pointArray = state.privilegeFunctionPointsMap.get(privilege.parentKey); + if (pointArray) { + pointArray.push(privilege.key); + } else { + pointArray = []; + pointArray.push(privilege.key); + state.privilegeFunctionPointsMap.set(privilege.parentKey, pointArray); + } + } + } + } + localSave('userRouterPrivilege', JSON.stringify(routerPathArray)); + } + }, + getters: { + // 用户功能点权限 + userFuncPrivilegeInfo: () => localRead('funcPrivilegeInfo'), + // 用户菜单权限 + userMenuPrivilege: state => state.userLoginInfo.privilegeList + }, + actions: { + // 登录 + handleLogin ({ commit }, params) { + params.loginName = params.loginName.trim(); + return new Promise((resolve, reject) => { + loginApi + .login(params) + .then(res => { + localStorage.clear(); + const data = res.data; + commit('setToken', data.xaccessToken); + // 保存用户登录 + commit('setUserLoginInfo', data); + resolve(); + }) + .catch(err => { + reject(err); + }); + }); + } + } +}; diff --git a/smart_admin_v1/smart-admin-web/src/themes/ReadMe.md b/smart_admin_v1/smart-admin-web/src/themes/ReadMe.md new file mode 100644 index 00000000..57ab76e4 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/themes/ReadMe.md @@ -0,0 +1 @@ +这是配置主题及颜色的 diff --git a/smart_admin_v1/smart-admin-web/src/themes/index.less b/smart_admin_v1/smart-admin-web/src/themes/index.less new file mode 100644 index 00000000..6870d219 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/themes/index.less @@ -0,0 +1,328 @@ +@import '~view-design/src/styles/index.less'; +/************** + 导航栏 +**************/ +// 导航栏背景 +@menu-dark-title: #001529; +@menu-dark-active-bg: #000c17; +@layout-sider-background: #001529; +@primary-color: #2d8cf0; +@blue: #2d8cf0; +@blueA100: #2e3c5a; +@blueA200: #e7f3ff; +@blueA300: #f0f7fd; +@blueA400: #001529; +@garyA100: #f5f5f5; +@garyA200: #666; +@garyA300: #999; +@tableColor: #eee; +@black: #444; + +.side-menu-wrapper { + // 一级菜单 高亮颜色 + .ivu-menu-dark.ivu-menu-vertical .ivu-menu-item-active:not(.ivu-menu-submenu), + .ivu-menu-dark.ivu-menu-vertical .ivu-menu-submenu-title-active:not(.ivu-menu-submenu){ + color: #fff; + } + .ivu-menu-dark { + .ivu-menu { + .ivu-menu-submenu { + margin-bottom: 0; + } + + .ivu-menu-submenu-title { + padding: 8px 24px !important; + } + + .ivu-menu-submenu-has-parent-submenu { + padding-left: 51px; + } + + // 二级菜单 + .ivu-menu-item, + .ivu-menu-submenu-has-parent-submenu { + padding: 8px 0 9px 48px !important; + background: url('../assets/images/slider/sub_slider_default.png') 30px 0 + no-repeat !important; + + &:hover { + background: url('../assets/images/slider/sub_slider_default.png') 30px + 0 no-repeat !important; + } + + &.ivu-menu-item-active { + background: url('../assets/images/slider/sub_slider_active.png') 30px + 0 no-repeat !important; + border-right: 5px @primary-color solid; + + &:hover { + background: url('../assets/images/slider/sub_slider_active.png') + 30px 0 no-repeat !important; + border-right: 5px @primary-color solid; + } + } + } + .ivu-menu-submenu-has-parent-submenu { + padding-left: 31px !important; + .ivu-menu-submenu-title { + padding: 0 17px !important; + } + &.ivu-menu-child-item-active { + background: url('../assets/images/slider/sub_slider_active.png') 30px + 0 no-repeat !important; + border-right: 0; + } + .ivu-menu { + padding-top: 8px; + } + .ivu-menu-item, + .ivu-menu-item-active:hover { + background: none !important; + padding-left: 32px !important; + } + } + } + } +} + +// 导航栏 +.menu-collapsed { + text-align: center; + padding-top: 0 !important; +} + +// 左侧导航收缩 +.ivu-layout-sider-collapsed { + .ivu-dropdown { + text-align: center; + line-height: 38px; + margin: 0px auto; + color: #515a6e; + + &:hover { + color: @primary-color; + } + } + .ivu-tooltip { + line-height: 38px; + } +} +// 收缩导航栏鼠标经过下拉 +.menu-dropdown { + width: 160px; + left: 65px !important; + background: #001529; + border-radius: 3px; + color: #fff; + .ivu-dropdown-item { + color: #fff; + height: 40px; + line-height: 40px; + padding: 0 20px; + box-sizing: border-box; + .menu-title { + // padding:5px 0; + } + &:hover { + background: none; + border-right: 4px @primary-color solid; + } + } +} +/************** + header +**************/ +@layout-header-height: 52px; + +//面包屑 +.ivu-breadcrumb { + color: #515a6e; +} + +.ivu-breadcrumb-item-separator { + color: #515a6e; +} + + +/************** + table +**************/ +@table-thead-bg: #F7F7F9; +@border-color-split: #F7F7F9; +// @border-color-base: #F7F7F9; + +.ivu-table { + height: auto; + + table { + border-spacing: 0; + width: 100%; + tr { + &.ivu-table-row-hover { + tr, td { + animation: tableHover 0.5s; + } + } + th, td { + border: 1px @tableColor solid; + border-left: 0; + border-top: 0; + text-align: center; + &.ivu-table-column-left { + text-align: left; + } + &:nth-child(1) { + border-left: 0; + } + .ivu-table-cell { + padding: 0 8px; + overflow: inherit; + } + .table-line { + background: @tableColor; + height: 1px; + margin: 8px -18px; + } + } + th { + color: @garyA200; + background: @garyA100; + height: 42px; + font-size: 14px; + color: #808080; + text-align: left; + } + td { + font-weight: normal; + padding: 2px 0; + height: 32px; + text-align: left; + font-size: 12px; + border-bottom: 1px solid #F7F7F9; + .ivu-table-cell-with-expand{ + height: 32px; + line-height: 32px; + } + } + } + } +} + +.ivu-table-body { + &::-webkit-scrollbar { + width: 10px; + height: 10px; + } +} + +.ivu-card-extra { + position: absolute; + right: 8px; + top: 8px; +} + +.ivu-card-head { + background: #fafafa; + border-radius: 4px 4px 0 0; + padding: 12px 16px; + font-size: 14px; + font-weight: bold; + .ivu-icon { + color: #666; + } +} + +.ivu-select-dropdown { + z-index: 10000; + &::-webkit-scrollbar { + width: 10px; + height: 10px; + } +} + +.ivu-dropdown-transfer, +.ivu-select-dropdown-transfer { + position: fixed; +} + +.ivu-table-fixed-body { + overflow: inherit; +} +.ivu-card{ + box-shadow: none !important; +} +// 表单类 +.ivu-btn{ + &:focus{ + box-shadow: none; + } +} + +.ivu-spin-fix{ + background-color: rgba(255, 255, 255, 0.3); +} + +// 重写字体大小 +.ivu-select, +.ivu-select-single .ivu-select-selection .ivu-select-placeholder, +.ivu-select-single .ivu-select-selection .ivu-select-selected-value, +.ivu-select-input, +.ivu-input, +textarea.ivu-input, +.ivu-btn, +.ivu-checkbox-wrapper, +.ivu-form .ivu-form-item-label{ + font-size: 12px; +} +.ivu-btn-large{ + font-size: 14px; +} +.ivu-select-item, +.ivu-dropdown-item{ + font-size: 12px !important; +} + +/****自定义样式***/ + +.search-card .ivu-form-item { + margin-bottom: 0px !important; +} + +.marginRight10{ + margin-right: 10px !important; +} +.marginLeft10{ + margin-left: 10px !important; +} + +.marginBottom10{ + margin-bottom: 10px !important; +} + +.float-right{ + float:right; +} + +.float-left{ + float:left; +} + +.error-color{ + color: #ed4014; +} + +.smart-query-card .ivu-card-body{ + padding: 10px !important; +} + +.smart-query-form-row:not(:first-child){ + margin-top: 8px; +} + +.smart-query-form-row span{ + margin-right: 8px; +} + +.smart-query-table-page{ + margin-top: 10px; +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/views/business/email/email-list.vue b/smart_admin_v1/smart-admin-web/src/views/business/email/email-list.vue new file mode 100644 index 00000000..357998a8 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/business/email/email-list.vue @@ -0,0 +1,214 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/business/email/send-mail.vue b/smart_admin_v1/smart-admin-web/src/views/business/email/send-mail.vue new file mode 100644 index 00000000..d06261d9 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/business/email/send-mail.vue @@ -0,0 +1,215 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/business/keep-alive/add-content.vue b/smart_admin_v1/smart-admin-web/src/views/business/keep-alive/add-content.vue new file mode 100644 index 00000000..0c2290dd --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/business/keep-alive/add-content.vue @@ -0,0 +1,94 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/business/keep-alive/content-list.vue b/smart_admin_v1/smart-admin-web/src/views/business/keep-alive/content-list.vue new file mode 100644 index 00000000..11b34887 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/business/keep-alive/content-list.vue @@ -0,0 +1,80 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/business/notice/notice-detail.vue b/smart_admin_v1/smart-admin-web/src/views/business/notice/notice-detail.vue new file mode 100644 index 00000000..66687bda --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/business/notice/notice-detail.vue @@ -0,0 +1,49 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/business/notice/notice-list.vue b/smart_admin_v1/smart-admin-web/src/views/business/notice/notice-list.vue new file mode 100644 index 00000000..8c129b19 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/business/notice/notice-list.vue @@ -0,0 +1,369 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/business/notice/person-notice.vue b/smart_admin_v1/smart-admin-web/src/views/business/notice/person-notice.vue new file mode 100644 index 00000000..cc2fec01 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/business/notice/person-notice.vue @@ -0,0 +1,221 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/business/peony/components/peony-list-form.vue b/smart_admin_v1/smart-admin-web/src/views/business/peony/components/peony-list-form.vue new file mode 100644 index 00000000..9f99862b --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/business/peony/components/peony-list-form.vue @@ -0,0 +1,133 @@ + + \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/views/business/peony/peony-list.vue b/smart_admin_v1/smart-admin-web/src/views/business/peony/peony-list.vue new file mode 100644 index 00000000..8c0edaff --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/business/peony/peony-list.vue @@ -0,0 +1,495 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/business/three-level-router/three-level-router-view.vue b/smart_admin_v1/smart-admin-web/src/views/business/three-level-router/three-level-router-view.vue new file mode 100644 index 00000000..2003c453 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/business/three-level-router/three-level-router-view.vue @@ -0,0 +1,58 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/error-page/401.vue b/smart_admin_v1/smart-admin-web/src/views/error-page/401.vue new file mode 100644 index 00000000..70b3c366 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/error-page/401.vue @@ -0,0 +1,19 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/error-page/404.vue b/smart_admin_v1/smart-admin-web/src/views/error-page/404.vue new file mode 100644 index 00000000..291406f6 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/error-page/404.vue @@ -0,0 +1,19 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/error-page/500.vue b/smart_admin_v1/smart-admin-web/src/views/error-page/500.vue new file mode 100644 index 00000000..e2a6c249 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/error-page/500.vue @@ -0,0 +1,19 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/error-page/back-btn-group.vue b/smart_admin_v1/smart-admin-web/src/views/error-page/back-btn-group.vue new file mode 100644 index 00000000..7966849b --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/error-page/back-btn-group.vue @@ -0,0 +1,40 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/error-page/error-content.vue b/smart_admin_v1/smart-admin-web/src/views/error-page/error-content.vue new file mode 100644 index 00000000..d81d965e --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/error-page/error-content.vue @@ -0,0 +1,28 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/error-page/error.less b/smart_admin_v1/smart-admin-web/src/views/error-page/error.less new file mode 100644 index 00000000..63802459 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/error-page/error.less @@ -0,0 +1,46 @@ +.error-page{ + width: 100%; + height: 100%; + position: relative; + background: #f8f8f9; + .content-con{ + width: 700px; + height: 600px; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -60%); + img{ + display: block; + width: 100%; + height: 100%; + } + .text-con{ + position: absolute; + left: 0px; + top: 0px; + h4{ + position: absolute; + left: 0px; + top: 0px; + font-size: 80px; + font-weight: 700; + color: #348EED; + } + h5{ + position: absolute; + width: 700px; + left: 0px; + top: 100px; + font-size: 20px; + font-weight: 700; + color: #67647D; + } + } + .back-btn-group{ + position: absolute; + right: 0px; + bottom: 20px; + } + } +} diff --git a/smart_admin_v1/smart-admin-web/src/views/home/components/card.vue b/smart_admin_v1/smart-admin-web/src/views/home/components/card.vue new file mode 100644 index 00000000..763eabf4 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/home/components/card.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/home/components/chart-bar.vue b/smart_admin_v1/smart-admin-web/src/views/home/components/chart-bar.vue new file mode 100644 index 00000000..8130be3c --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/home/components/chart-bar.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/home/components/chart-funnel.vue b/smart_admin_v1/smart-admin-web/src/views/home/components/chart-funnel.vue new file mode 100644 index 00000000..dd076399 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/home/components/chart-funnel.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/home/components/chart-gauge.vue b/smart_admin_v1/smart-admin-web/src/views/home/components/chart-gauge.vue new file mode 100644 index 00000000..99750aa7 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/home/components/chart-gauge.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/home/components/chart-line.vue b/smart_admin_v1/smart-admin-web/src/views/home/components/chart-line.vue new file mode 100644 index 00000000..d7aeed44 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/home/components/chart-line.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/home/components/chart-pie.vue b/smart_admin_v1/smart-admin-web/src/views/home/components/chart-pie.vue new file mode 100644 index 00000000..01037399 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/home/components/chart-pie.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/home/components/home-circle.vue b/smart_admin_v1/smart-admin-web/src/views/home/components/home-circle.vue new file mode 100644 index 00000000..903ec4e2 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/home/components/home-circle.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/home/components/home-progress.vue b/smart_admin_v1/smart-admin-web/src/views/home/components/home-progress.vue new file mode 100644 index 00000000..dc9682a7 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/home/components/home-progress.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/home/components/theme.json b/smart_admin_v1/smart-admin-web/src/views/home/components/theme.json new file mode 100644 index 00000000..909b518a --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/home/components/theme.json @@ -0,0 +1,490 @@ +{ + "color": [ + "#2d8cf0", + "#19be6b", + "#ff9900", + "#E46CBB", + "#9A66E4", + "#ed3f14" + ], + "backgroundColor": "rgba(0,0,0,0)", + "textStyle": {}, + "title": { + "textStyle": { + "color": "#516b91" + }, + "subtextStyle": { + "color": "#93b7e3" + } + }, + "line": { + "itemStyle": { + "normal": { + "borderWidth": "2" + } + }, + "lineStyle": { + "normal": { + "width": "2" + } + }, + "symbolSize": "6", + "symbol": "emptyCircle", + "smooth": true + }, + "radar": { + "itemStyle": { + "normal": { + "borderWidth": "2" + } + }, + "lineStyle": { + "normal": { + "width": "2" + } + }, + "symbolSize": "6", + "symbol": "emptyCircle", + "smooth": true + }, + "bar": { + "itemStyle": { + "normal": { + "barBorderWidth": 0, + "barBorderColor": "#ccc" + }, + "emphasis": { + "barBorderWidth": 0, + "barBorderColor": "#ccc" + } + } + }, + "pie": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "scatter": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "boxplot": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "parallel": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "sankey": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "funnel": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "gauge": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + }, + "emphasis": { + "borderWidth": 0, + "borderColor": "#ccc" + } + } + }, + "candlestick": { + "itemStyle": { + "normal": { + "color": "#edafda", + "color0": "transparent", + "borderColor": "#d680bc", + "borderColor0": "#8fd3e8", + "borderWidth": "2" + } + } + }, + "graph": { + "itemStyle": { + "normal": { + "borderWidth": 0, + "borderColor": "#ccc" + } + }, + "lineStyle": { + "normal": { + "width": 1, + "color": "#aaa" + } + }, + "symbolSize": "6", + "symbol": "emptyCircle", + "smooth": true, + "color": [ + "#2d8cf0", + "#19be6b", + "#f5ae4a", + "#9189d5", + "#56cae2", + "#cbb0e3" + ], + "label": { + "normal": { + "textStyle": { + "color": "#eee" + } + } + } + }, + "map": { + "itemStyle": { + "normal": { + "areaColor": "#f3f3f3", + "borderColor": "#516b91", + "borderWidth": 0.5 + }, + "emphasis": { + "areaColor": "rgba(165,231,240,1)", + "borderColor": "#516b91", + "borderWidth": 1 + } + }, + "label": { + "normal": { + "textStyle": { + "color": "#000" + } + }, + "emphasis": { + "textStyle": { + "color": "rgb(81,107,145)" + } + } + } + }, + "geo": { + "itemStyle": { + "normal": { + "areaColor": "#f3f3f3", + "borderColor": "#516b91", + "borderWidth": 0.5 + }, + "emphasis": { + "areaColor": "rgba(165,231,240,1)", + "borderColor": "#516b91", + "borderWidth": 1 + } + }, + "label": { + "normal": { + "textStyle": { + "color": "#000" + } + }, + "emphasis": { + "textStyle": { + "color": "rgb(81,107,145)" + } + } + } + }, + "categoryAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisTick": { + "show": false, + "lineStyle": { + "color": "#333" + } + }, + "axisLabel": { + "show": true, + "textStyle": { + "color": "#999999" + } + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#eeeeee" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "rgba(250,250,250,0.05)", + "rgba(200,200,200,0.02)" + ] + } + } + }, + "valueAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisTick": { + "show": false, + "lineStyle": { + "color": "#333" + } + }, + "axisLabel": { + "show": true, + "textStyle": { + "color": "#999999" + } + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#eeeeee" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "rgba(250,250,250,0.05)", + "rgba(200,200,200,0.02)" + ] + } + } + }, + "logAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisTick": { + "show": false, + "lineStyle": { + "color": "#333" + } + }, + "axisLabel": { + "show": true, + "textStyle": { + "color": "#999999" + } + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#eeeeee" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "rgba(250,250,250,0.05)", + "rgba(200,200,200,0.02)" + ] + } + } + }, + "timeAxis": { + "axisLine": { + "show": true, + "lineStyle": { + "color": "#cccccc" + } + }, + "axisTick": { + "show": false, + "lineStyle": { + "color": "#333" + } + }, + "axisLabel": { + "show": true, + "textStyle": { + "color": "#999999" + } + }, + "splitLine": { + "show": true, + "lineStyle": { + "color": [ + "#eeeeee" + ] + } + }, + "splitArea": { + "show": false, + "areaStyle": { + "color": [ + "rgba(250,250,250,0.05)", + "rgba(200,200,200,0.02)" + ] + } + } + }, + "toolbox": { + "iconStyle": { + "normal": { + "borderColor": "#999" + }, + "emphasis": { + "borderColor": "#666" + } + } + }, + "legend": { + "textStyle": { + "color": "#999999" + } + }, + "tooltip": { + "axisPointer": { + "lineStyle": { + "color": "#ccc", + "width": 1 + }, + "crossStyle": { + "color": "#ccc", + "width": 1 + } + } + }, + "timeline": { + "lineStyle": { + "color": "#8fd3e8", + "width": 1 + }, + "itemStyle": { + "normal": { + "color": "#8fd3e8", + "borderWidth": 1 + }, + "emphasis": { + "color": "#8fd3e8" + } + }, + "controlStyle": { + "normal": { + "color": "#8fd3e8", + "borderColor": "#8fd3e8", + "borderWidth": 0.5 + }, + "emphasis": { + "color": "#8fd3e8", + "borderColor": "#8fd3e8", + "borderWidth": 0.5 + } + }, + "checkpointStyle": { + "color": "#8fd3e8", + "borderColor": "rgba(138,124,168,0.37)" + }, + "label": { + "normal": { + "textStyle": { + "color": "#8fd3e8" + } + }, + "emphasis": { + "textStyle": { + "color": "#8fd3e8" + } + } + } + }, + "visualMap": { + "color": [ + "#516b91", + "#59c4e6", + "#a5e7f0" + ] + }, + "dataZoom": { + "backgroundColor": "rgba(0,0,0,0)", + "dataBackgroundColor": "rgba(255,255,255,0.3)", + "fillerColor": "rgba(167,183,204,0.4)", + "handleColor": "#a7b7cc", + "handleSize": "100%", + "textStyle": { + "color": "#333" + } + }, + "markPoint": { + "label": { + "normal": { + "textStyle": { + "color": "#eee" + } + }, + "emphasis": { + "textStyle": { + "color": "#eee" + } + } + } + } +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/views/home/home.vue b/smart_admin_v1/smart-admin-web/src/views/home/home.vue new file mode 100644 index 00000000..99cdbac2 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/home/home.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/home/index.js b/smart_admin_v1/smart-admin-web/src/views/home/index.js new file mode 100644 index 00000000..5f66ed9d --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/home/index.js @@ -0,0 +1,2 @@ +import home from './home.vue'; +export default home; diff --git a/smart_admin_v1/smart-admin-web/src/views/login/canvas.js b/smart_admin_v1/smart-admin-web/src/views/login/canvas.js new file mode 100644 index 00000000..67b21ffb --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/login/canvas.js @@ -0,0 +1,289 @@ +// 离子波浪 +export const lonWave = () => { + var starlings = function (n, r, t, o, e, u, i, f) { + var a = f.onSetup + void 0 === a && (a = null) + var v = f.onRepeat + void 0 === v && (v = null) + var c = f.modifier + void 0 === c && (c = null) + var l = f.perspective + void 0 === l && (l = 1) + var d = f.pixelRatio + void 0 === d && (d = 1) + var m = f.triangles + void 0 === m && (m = !1) + var s + var p + var y = r.length + var w = function (n, r) { + let t = s.createShader(n) + return s.shaderSource(t, r), s.compileShader(t), t + } + var b = function () { + for (var n = 0; n < o.length; n += 1) { + for (var r = s.createBuffer(), e = o[n], u = e.data(0, 0).length, i = new Float32Array(t * y * u), f = 0; f < t; f += 1) { + for (var a = e.data(f, t), v = f * y * u, l = 0; l < y; l += 1) { + for (var d = 0; d < u; d += 1) { + c !== null && e.name === c.attribute ? i[v] = c.value(i[v], a, d, l) : i[v] = a[d] + v += 1 + } + } + } + s.bindBuffer(s.ARRAY_BUFFER, r) + s.bufferData(s.ARRAY_BUFFER, i, s.STATIC_DRAW) + var m = s.getAttribLocation(p, o[n].name) + s.enableVertexAttribArray(m) + s.vertexAttribPointer(m, u, s.FLOAT, !1, !1, 0, 0) + } + } + var A = function () { + e.push({ + name: 'uMVP', + type: 'mat4' + }) + for (var n = 0; n < e.length; n += 1) { + var r = s.getUniformLocation(p, e[n].name) + e[n].location = r + } + } + var F = { + float: function (n, r) { + return s.uniform1f(n, r) + }, + vec2: function (n, r) { + return s.uniform2fv(n, r) + }, + vec3: function (n, r) { + return s.uniform3fv(n, r) + }, + vec4: function (n, r) { + return s.uniform4fv(n, r) + }, + mat2: function (n, r) { + return s.uniformMatrix2fv(n, !1, r) + }, + mat3: function (n, r) { + return s.uniformMatrix3fv(n, !1, r) + }, + mat4: function (n, r) { + return s.uniformMatrix4fv(n, !1, r) + } + } + var g = function () { + s.clear(16640) + s.useProgram(p) + v !== null && v(s, p, e) + for (var n = 0; n < e.length; n += 1) F[e[n].type](e[n].location, e[n].value) + s.drawArrays(m ? s.TRIANGLES : s.POINTS, 0, y * t) + requestAnimationFrame(g) + } + var h = function () { + n.width = n.clientWidth * d + n.height = n.clientHeight * d + var r = s.drawingBufferWidth + var t = s.drawingBufferHeight + s.viewport(0, 0, r, t) + e[e.length - 1].value = [l / (r / t), 0, 0, 0, 0, l, 0, 0, 0, 0, -1, -1, 0, 0, 1, 1] + } + s = n.getContext('webgl') + p = s.createProgram() + s.attachShader(p, w(s.VERTEX_SHADER, u)) + s.attachShader(p, w(s.FRAGMENT_SHADER, i)) + s.linkProgram(p) + A() + h() + b() + a !== null && a(s) + g() + window.addEventListener('resize', h, !1) + } + + // Do you like rainbow waves? + var rainbow = false + + // Need more performance? + var HD = true + + var canvas = document.getElementById('canvas') + var background = document.querySelector('.background') + var bar = document.querySelector('.progress') + var initialize = function initialize (vertices) { + var pixelRatio = HD ? window.devicePixelRatio : 1 + var rows = HD ? 90 : 90 + var multiplier = rows * rows + var duration = 0.4 + var geometry = [{ + x: 0, + y: 0, + z: 0 + }] + var pointSize = (HD ? 6 : 2).toFixed(1) + + var step = 0.004 + var size = 5 + var attributes = [{ + name: 'aPositionStart', + data: function data (i, total) { + return [size - (i % rows / rows + 0.5 / rows) * (size * 2), -1, (size - (Math.floor(i / rows) / rows + 0.5 / rows) * size * 2) * -1] + } + }, + { + name: 'aControlPointOne', + data: function data (i) { + return [size - (i % rows / rows + 0.5 / rows) * (size * 2), -0.5 + getRandom(0.2), (size - (Math.floor(i / rows) / rows + 0.5 / rows) * size * 2) * -1] + } + }, + { + name: 'aControlPointTwo', + data: function data (i) { + return [size - (i % rows / rows + 0.5 / rows) * (size * 2), -0.5 + getRandom(0.2), (size - (Math.floor(i / rows) / rows + 0.5 / rows) * size * 2) * -1] + } + }, + { + name: 'aPositionEnd', + data: function data (i) { + return [size - (i % rows / rows + 0.5 / rows) * (size * 2), -1, (size - (Math.floor(i / rows) / rows + 0.5 / rows) * size * 2) * -1] + } + }, + { + name: 'aOffset', + data: function data (i) { + return [i * ((1 - duration) / (multiplier - 1))] + } + }, + { + name: 'aColor', + data: function data (i, total) { + return getHSL(rainbow ? i / total * 1.0 : 0.5 + i / total * 0.4, 0.5, 0.5) + } + }] + + var uniforms = [{ + name: 'uProgress', + type: 'float', + value: 0.8 + }] + + var vertexShader = '\n attribute vec3 aPositionStart;\n attribute vec3 aControlPointOne;\n attribute vec3 aControlPointTwo;\n attribute vec3 aPositionEnd;\n attribute float aOffset;\n attribute vec3 aColor;\n\n uniform float uProgress;\n uniform mat4 uMVP;\n\n varying vec3 vColor;\n\n vec3 bezier4(vec3 a, vec3 b, vec3 c, vec3 d, float t) {\n return mix(mix(mix(a, b, t), mix(b, c, t), t), mix(mix(b, c, t), mix(c, d, t), t), t);\n }\n\n float easeInOutQuint(float t){\n return t < 0.5 ? 16.0 * t * t * t * t * t : 1.0 + 16.0 * (--t) * t * t * t * t;\n }\n\n void main () {\n float tProgress = easeInOutQuint(min(1.0, max(0.0, (uProgress - aOffset)) / ' + duration + '));\n vec3 newPosition = bezier4(aPositionStart, aControlPointOne, aControlPointTwo, aPositionEnd, tProgress);\n gl_PointSize = ' + pointSize + ' + ((newPosition.y + 1.0) * 80.0);\n gl_Position = uMVP * vec4(newPosition, 1.0);\n vColor = aColor;\n }\n' + + var fragmentShader = '\n precision mediump float;\n\n varying vec3 vColor;\n\n void main() {\n vec2 pc = 2.0 * gl_PointCoord - 1.0;\n gl_FragColor = vec4(vColor, 1.0 - dot(pc, pc));\n }\n' + + var onSetup = function onSetup (gl) { + gl.blendFunc(gl.SRC_ALPHA, gl.ONE) + gl.enable(gl.BLEND) + } + + var onRepeat = function onRepeat () { + rotateY(uniforms[uniforms.length - 1].value, 0.002) + if (uniforms[0].value < 0) { + uniforms[0].value = 1 + } + uniforms[0].value -= step + } + + var options = { + onSetup: onSetup, + onRepeat: onRepeat, + pixelRatio: pixelRatio + } + + starlings(canvas, geometry, multiplier, attributes, uniforms, vertexShader, fragmentShader, options) + } + + var getRandom = function getRandom (value) { + return Math.random() * value - value / 2 + } + + var rotateY = function rotateY (matrix, angle) { + var sin = Math.sin(angle) + var cos = Math.cos(angle) + var clone = JSON.parse(JSON.stringify(matrix)) + + matrix[0] = clone[0] * cos - clone[8] * sin + matrix[1] = clone[1] * cos - clone[9] * sin + matrix[2] = clone[2] * cos - clone[10] * sin + matrix[3] = clone[3] * cos - clone[11] * sin + matrix[8] = clone[0] * sin + clone[8] * cos + matrix[9] = clone[1] * sin + clone[9] * cos + matrix[10] = clone[2] * sin + clone[10] * cos + matrix[11] = clone[3] * sin + clone[11] * cos + } + + var h2r = function h2r (p, q, t) { + if (t < 0) t += 1 + if (t > 1) t -= 1 + if (t < 1 / 6) return p + (q - p) * 6 * t + if (t < 1 / 2) return q + if (t < 2 / 3) return p + (q - p) * 6 * (2 / 3 - t) + return p + } + + var getHSL = function getHSL (h, s, l) { + h = (h % 1 + 1) % 1 + s = Math.max(0, Math.min(1, s)) + l = Math.max(0, Math.min(1, l)) + if (s === 0) return [l, l, l] + var p = l <= 0.5 ? l * (1 + s) : l + s - l * s + var q = 2 * l - p + return [h2r(q, p, h + 1 / 3), h2r(q, p, h), h2r(q, p, h - 1 / 3)] + } + initialize() +} + +// 随机线条 +export const canvasParticle = (function () { + function getElementByTag (name) { return document.getElementsByTagName(name) } + function getELementById (id) { return document.getElementById(id) } + function canvasInit (canvasConfig) { + canvasConfig = canvasConfig || {} + var html = getElementByTag('html')[0] + var body = document.getElementById('canvasView') + var canvasObj = document.createElement('canvas') + var canvas = { element: canvasObj, points: [], config: { vx: canvasConfig.vx || 4, vy: canvasConfig.vy || 4, height: canvasConfig.height || 2, width: canvasConfig.width || 2, count: canvasConfig.count || 100, color: canvasConfig.color || '121, 162, 185', stroke: canvasConfig.stroke || '130,255,255', dist: canvasConfig.dist || 6000, e_dist: canvasConfig.e_dist || 20000, max_conn: 10 } }; if (canvas.element.getContext('2d')) { canvas.context = canvas.element.getContext('2d') } else { return null } + body.style.padding = '0'; body.style.margin = '0'; body.appendChild(canvas.element); canvas.element.style = 'position: fixed; top: 0; left: 0; z-index: -1;'; canvasSize(canvas.element); window.onresize = function () { canvasSize(canvas.element) } + body.onmousemove = function (e) { var event = e || window.event; canvas.mouse = { x: event.clientX, y: event.clientY } } + document.onmouseleave = function () { canvas.mouse = undefined } + setInterval(function () { drawPoint(canvas) }, 40) + } + function canvasSize (canvas) { + var width = document.getElementById('canvasView').style.width + var height = document.getElementById('canvasView').style.height + width = parseInt(width); height = parseInt(height) + canvas.width = width || window.innerWeight || document.documentElement.clientWidth || document.body.clientWidth; canvas.height = height || window.innerWeight || document.documentElement.clientHeight || document.body.clientHeight + } + function drawPoint (canvas) { + var context = canvas.context + var point + var dist + context.clearRect(0, 0, canvas.element.width, canvas.element.height); context.beginPath(); context.fillStyle = 'rgb(' + canvas.config.color + ')'; for (var i = 0, len = canvas.config.count; i < len; i++) { + if (canvas.points.length != canvas.config.count) { point = { x: Math.floor(Math.random() * canvas.element.width), y: Math.floor(Math.random() * canvas.element.height), vx: canvas.config.vx / 2 - Math.random() * canvas.config.vx, vy: canvas.config.vy / 2 - Math.random() * canvas.config.vy } } else { point = borderPoint(canvas.points[i], canvas) } + context.fillRect(point.x - canvas.config.width / 2, point.y - canvas.config.height / 2, canvas.config.width, canvas.config.height); canvas.points[i] = point + } + drawLine(context, canvas, canvas.mouse); context.closePath() + } + function borderPoint (point, canvas) { + var p = point; if (point.x <= 0 || point.x >= canvas.element.width) { p.vx = -p.vx; p.x += p.vx } else if (point.y <= 0 || point.y >= canvas.element.height) { p.vy = -p.vy; p.y += p.vy } else { p = { x: p.x + p.vx, y: p.y + p.vy, vx: p.vx, vy: p.vy } } + return p + } + function drawLine (context, canvas, mouse) { + let dist + context = context || canvas.context; for (var i = 0, len = canvas.config.count; i < len; i++) { + canvas.points[i].max_conn = 0; for (var j = 0; j < len; j++) { + if (i != j) { + dist = Math.round(canvas.points[i].x - canvas.points[j].x) * Math.round(canvas.points[i].x - canvas.points[j].x) + + Math.round(canvas.points[i].y - canvas.points[j].y) * Math.round(canvas.points[i].y - canvas.points[j].y); if (dist <= canvas.config.dist && canvas.points[i].max_conn < canvas.config.max_conn) { + canvas.points[i].max_conn++; context.lineWidth = 0.5 - dist / canvas.config.dist; context.strokeStyle = 'rgba(' + canvas.config.stroke + ',' + (1 - dist / canvas.config.dist) + ')' + context.beginPath(); context.moveTo(canvas.points[i].x, canvas.points[i].y); context.lineTo(canvas.points[j].x, canvas.points[j].y); context.stroke() + } + } + } + if (mouse) { + dist = Math.round(canvas.points[i].x - mouse.x) * Math.round(canvas.points[i].x - mouse.x) + + Math.round(canvas.points[i].y - mouse.y) * Math.round(canvas.points[i].y - mouse.y); if (dist > canvas.config.dist && dist <= canvas.config.e_dist) { canvas.points[i].x = canvas.points[i].x + (mouse.x - canvas.points[i].x) / 20; canvas.points[i].y = canvas.points[i].y + (mouse.y - canvas.points[i].y) / 20 } + if (dist <= canvas.config.e_dist) { context.lineWidth = 1; context.strokeStyle = 'rgba(' + canvas.config.stroke + ',' + (1 - dist / canvas.config.e_dist) + ')'; context.beginPath(); context.moveTo(canvas.points[i].x, canvas.points[i].y); context.lineTo(mouse.x, mouse.y); context.stroke() } + } + } + } + return canvasInit +})() diff --git a/smart_admin_v1/smart-admin-web/src/views/login/components/login-form.vue b/smart_admin_v1/smart-admin-web/src/views/login/components/login-form.vue new file mode 100644 index 00000000..b50ae0e6 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/login/components/login-form.vue @@ -0,0 +1,134 @@ + + diff --git a/smart_admin_v1/smart-admin-web/src/views/login/login.less b/smart_admin_v1/smart-admin-web/src/views/login/login.less new file mode 100644 index 00000000..82a52efc --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/login/login.less @@ -0,0 +1,128 @@ +.center { + text-align: center; +} + +.login { + font-family: Arial, "PingFang SC", "Microsoft YaHei"; + width: 100%; + height: 100%; + background: url(../../assets/images/login-bg.jpg) no-repeat fixed; + background-size: cover; + + .content { + width: 424px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -56%) + } + .ivu-card { + background: rgba(255, 255, 255, 0.95); + border-radius: 10px; + box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.3); + } + .form-con { + margin: 32px 0; + width: 424px; + background: #fff; + padding: 32px 32px; + border-radius: 8px; + .ivu-input { + border: 1px solid #E8E8EE; + border-radius: 4px; + font-size: 16px; + color: #525252; + padding: 0 20px; + &:focus { + border: 1px solid #0097F6; + box-shadow: none; + } + } + .ivu-form-item-error-tip { + height: 30px; + line-height: 30px; + padding: 0; + color: #f66; + top:90%; + } + .ivu-form-item { + margin-bottom: 22px; + } + .remember { + margin: -10px 0 10px; + } + .ivu-input, + .ivu-btn { + height: 48px; + } + .ivu-btn { + font-size: 16px; + } + .ivu-input-group-prepend { + padding: 4px 15px; + } + .code-input { + width: 172px; + } + .codeUrl { + height: 80%; + position: absolute; + z-index: 3; + top: 0; + bottom: 0; + margin: auto; + right: 24px; + border-radius: 0 4px 4px 0; + cursor: pointer; + } + } + .login-tip { + font-size: 10px; + text-align: center; + color: #c3c3c3; + } + .footerDesc { + font-family: "MicrosoftYaHei"; + color: #A6A6A8; + font-size: 14px; + } + .otherWay { + font-size: 14px; + font-family: "Microsoft YaHei"; + .inline { + display: inline-block; + } + .align { + vertical-align: middle; + } + .marginLeft { + margin-left: 20px; + float:right; + } + } + .remember { + font-size: 14px; + } +} +.draw { + position: fixed; + width: 1px; + z-index: 99999; + line-height: 1px; + pointer-events: none; +} + +@keyframes floatOne { + 0% { + opacity: 1; + } + + 50% { + opacity: 1; + } + + 100% { + opacity: 0; + transform: translate3D(0, -20px, 0) scale(5) rotate(45deg); + } +} \ No newline at end of file diff --git a/smart_admin_v1/smart-admin-web/src/views/login/login.vue b/smart_admin_v1/smart-admin-web/src/views/login/login.vue new file mode 100644 index 00000000..0e529a15 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/login/login.vue @@ -0,0 +1,52 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/support/api-doc/swagger.vue b/smart_admin_v1/smart-admin-web/src/views/support/api-doc/swagger.vue new file mode 100644 index 00000000..c05f5e73 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/support/api-doc/swagger.vue @@ -0,0 +1,33 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/support/heart-beat/heart-beat-list.vue b/smart_admin_v1/smart-admin-web/src/views/support/heart-beat/heart-beat-list.vue new file mode 100644 index 00000000..1637378e --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/support/heart-beat/heart-beat-list.vue @@ -0,0 +1,115 @@ + + diff --git a/smart_admin_v1/smart-admin-web/src/views/support/monitor/online-user.vue b/smart_admin_v1/smart-admin-web/src/views/support/monitor/online-user.vue new file mode 100644 index 00000000..b133c303 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/support/monitor/online-user.vue @@ -0,0 +1,152 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/support/monitor/sql.vue b/smart_admin_v1/smart-admin-web/src/views/support/monitor/sql.vue new file mode 100644 index 00000000..ced71bf8 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/support/monitor/sql.vue @@ -0,0 +1,33 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/support/reload/smart-reload/smart-reload-list.vue b/smart_admin_v1/smart-admin-web/src/views/support/reload/smart-reload/smart-reload-list.vue new file mode 100644 index 00000000..b0027c4c --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/support/reload/smart-reload/smart-reload-list.vue @@ -0,0 +1,273 @@ + + diff --git a/smart_admin_v1/smart-admin-web/src/views/support/task/task-list.vue b/smart_admin_v1/smart-admin-web/src/views/support/task/task-list.vue new file mode 100644 index 00000000..d73e96be --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/support/task/task-list.vue @@ -0,0 +1,556 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/employee/components/department-employee-tree-item/department-employee-tree-item.vue b/smart_admin_v1/smart-admin-web/src/views/system/employee/components/department-employee-tree-item/department-employee-tree-item.vue new file mode 100644 index 00000000..8f64b4d5 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/employee/components/department-employee-tree-item/department-employee-tree-item.vue @@ -0,0 +1,124 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/employee/components/department-employee-tree/department-employee-tree.vue b/smart_admin_v1/smart-admin-web/src/views/system/employee/components/department-employee-tree/department-employee-tree.vue new file mode 100644 index 00000000..be1e3c5a --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/employee/components/department-employee-tree/department-employee-tree.vue @@ -0,0 +1,251 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/employee/position/position-list.vue b/smart_admin_v1/smart-admin-web/src/views/system/employee/position/position-list.vue new file mode 100644 index 00000000..98870609 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/employee/position/position-list.vue @@ -0,0 +1,366 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/components/employee-table-add/employee-table-add.vue b/smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/components/employee-table-add/employee-table-add.vue new file mode 100644 index 00000000..e93daec4 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/components/employee-table-add/employee-table-add.vue @@ -0,0 +1,527 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/components/employee-table-detail/employee-table-detail.vue b/smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/components/employee-table-detail/employee-table-detail.vue new file mode 100644 index 00000000..a2cc214d --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/components/employee-table-detail/employee-table-detail.vue @@ -0,0 +1,72 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/components/employee-table/employee-table.vue b/smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/components/employee-table/employee-table.vue new file mode 100644 index 00000000..9708e5fc --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/components/employee-table/employee-table.vue @@ -0,0 +1,572 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/role-employee-manage.vue b/smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/role-employee-manage.vue new file mode 100644 index 00000000..034407a7 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/employee/role-employee/role-employee-manage.vue @@ -0,0 +1,831 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/employee/role/components/role-data-scope/role-data-scope.vue b/smart_admin_v1/smart-admin-web/src/views/system/employee/role/components/role-data-scope/role-data-scope.vue new file mode 100644 index 00000000..0413ce76 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/employee/role/components/role-data-scope/role-data-scope.vue @@ -0,0 +1,144 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/employee/role/components/role-list/role-list.vue b/smart_admin_v1/smart-admin-web/src/views/system/employee/role/components/role-list/role-list.vue new file mode 100644 index 00000000..55ab14c3 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/employee/role/components/role-list/role-list.vue @@ -0,0 +1,407 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/employee/role/components/role-tree/role-tree.vue b/smart_admin_v1/smart-admin-web/src/views/system/employee/role/components/role-tree/role-tree.vue new file mode 100644 index 00000000..fe4eec67 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/employee/role/components/role-tree/role-tree.vue @@ -0,0 +1,431 @@ + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/employee/role/role-manage.vue b/smart_admin_v1/smart-admin-web/src/views/system/employee/role/role-manage.vue new file mode 100644 index 00000000..9765f362 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/employee/role/role-manage.vue @@ -0,0 +1,339 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/file/file-list.vue b/smart_admin_v1/smart-admin-web/src/views/system/file/file-list.vue new file mode 100644 index 00000000..9f79d984 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/file/file-list.vue @@ -0,0 +1,279 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/system-setting/system-config/system-config.vue b/smart_admin_v1/smart-admin-web/src/views/system/system-setting/system-config/system-config.vue new file mode 100644 index 00000000..0fd884a4 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/system-setting/system-config/system-config.vue @@ -0,0 +1,397 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/system-setting/system-privilege/components/privilege-form.vue b/smart_admin_v1/smart-admin-web/src/views/system/system-setting/system-privilege/components/privilege-form.vue new file mode 100644 index 00000000..f4454771 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/system-setting/system-privilege/components/privilege-form.vue @@ -0,0 +1,144 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/system-setting/system-privilege/system-privilege.vue b/smart_admin_v1/smart-admin-web/src/views/system/system-setting/system-privilege/system-privilege.vue new file mode 100644 index 00000000..ade7836b --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/system-setting/system-privilege/system-privilege.vue @@ -0,0 +1,410 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/user-log/user-login-log.vue b/smart_admin_v1/smart-admin-web/src/views/system/user-log/user-login-log.vue new file mode 100644 index 00000000..bc9b0928 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/user-log/user-login-log.vue @@ -0,0 +1,185 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/system/user-log/user-operate-log.vue b/smart_admin_v1/smart-admin-web/src/views/system/user-log/user-operate-log.vue new file mode 100644 index 00000000..db47df63 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/system/user-log/user-operate-log.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/smart_admin_v1/smart-admin-web/src/views/three-router/three-content.vue b/smart_admin_v1/smart-admin-web/src/views/three-router/three-content.vue new file mode 100644 index 00000000..eeac6f71 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/src/views/three-router/three-content.vue @@ -0,0 +1,26 @@ + + + diff --git a/smart_admin_v1/smart-admin-web/tests/e2e/.eslintrc b/smart_admin_v1/smart-admin-web/tests/e2e/.eslintrc new file mode 100644 index 00000000..02023fba --- /dev/null +++ b/smart_admin_v1/smart-admin-web/tests/e2e/.eslintrc @@ -0,0 +1,12 @@ +{ + "plugins": [ + "cypress" + ], + "env": { + "mocha": true, + "cypress/globals": true + }, + "rules": { + "strict": "off" + } +} diff --git a/smart_admin_v1/smart-admin-web/tests/e2e/plugins/index.js b/smart_admin_v1/smart-admin-web/tests/e2e/plugins/index.js new file mode 100644 index 00000000..cfefc78b --- /dev/null +++ b/smart_admin_v1/smart-admin-web/tests/e2e/plugins/index.js @@ -0,0 +1,9 @@ +// https://docs.cypress.io/guides/guides/plugins-guide.html + +module.exports = (on, config) => Object.assign({}, config, { + fixturesFolder: 'tests/e2e/fixtures', + integrationFolder: 'tests/e2e/specs', + screenshotsFolder: 'tests/e2e/screenshots', + videosFolder: 'tests/e2e/videos', + supportFile: 'tests/e2e/support/index.js' +}) diff --git a/smart_admin_v1/smart-admin-web/tests/e2e/specs/test.js b/smart_admin_v1/smart-admin-web/tests/e2e/specs/test.js new file mode 100644 index 00000000..41ad94a0 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/tests/e2e/specs/test.js @@ -0,0 +1,8 @@ +// https://docs.cypress.io/api/introduction/api.html + +describe('My First Test', () => { + it('Visits the app root url', () => { + cy.visit('/') + cy.contains('h1', 'Welcome to Your Vue.js App') + }) +}) diff --git a/smart_admin_v1/smart-admin-web/tests/e2e/support/commands.js b/smart_admin_v1/smart-admin-web/tests/e2e/support/commands.js new file mode 100644 index 00000000..c1f5a772 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/tests/e2e/support/commands.js @@ -0,0 +1,25 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add("login", (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This is will overwrite an existing command -- +// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/smart_admin_v1/smart-admin-web/tests/e2e/support/index.js b/smart_admin_v1/smart-admin-web/tests/e2e/support/index.js new file mode 100644 index 00000000..d68db96d --- /dev/null +++ b/smart_admin_v1/smart-admin-web/tests/e2e/support/index.js @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') diff --git a/smart_admin_v1/smart-admin-web/tests/unit/.eslintrc.js b/smart_admin_v1/smart-admin-web/tests/unit/.eslintrc.js new file mode 100644 index 00000000..8038afe9 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/tests/unit/.eslintrc.js @@ -0,0 +1,8 @@ +module.exports = { + env: { + mocha: true + }, + rules: { + 'import/no-extraneous-dependencies': 'off' + } +} diff --git a/smart_admin_v1/smart-admin-web/tests/unit/HelloWorld.spec.js b/smart_admin_v1/smart-admin-web/tests/unit/HelloWorld.spec.js new file mode 100644 index 00000000..bb668bf4 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/tests/unit/HelloWorld.spec.js @@ -0,0 +1,13 @@ +import { expect } from 'chai' +import { shallow } from '@vue/test-utils' +import HelloWorld from '@/components/HelloWorld.vue' + +describe('HelloWorld.vue', () => { + it('renders props.msg when passed', () => { + const msg = 'new message' + const wrapper = shallow(HelloWorld, { + propsData: { msg } + }) + expect(wrapper.text()).to.include(msg) + }) +}) diff --git a/smart_admin_v1/smart-admin-web/vscode/settings.json b/smart_admin_v1/smart-admin-web/vscode/settings.json new file mode 100644 index 00000000..ab4bb79a --- /dev/null +++ b/smart_admin_v1/smart-admin-web/vscode/settings.json @@ -0,0 +1,43 @@ +{ + "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe", + "jetbrainsKeymap.promptV3Features": true, + "editor.multiCursorModifier": "ctrlCmd", + "editor.formatOnPaste": true, + "debug.allowBreakpointsEverywhere": true, + "files.autoSave": "afterDelay", + "workbench.colorTheme": "One Dark Pro", + "workbench.iconTheme": "vscode-icons", + "vetur.validation.template": false, + "[javascript]": { + "editor.defaultFormatter": "vscode.typescript-language-features" + }, + "[less]": { + "editor.defaultFormatter": "HookyQR.beautify" + }, + "javascript.format.insertSpaceBeforeFunctionParenthesis": true, + "eslint.autoFixOnSave": true, + "eslint.alwaysShowStatus": true, + "workbench.startupEditor": "newUntitledFile", + //"vetur.format.defaultFormatter.html": "js-beautify-html", + //"vetur.format.defaultFormatter.js": "vscode-typescript", //让vue中的js按编辑器自带的ts格式进行格式化 + "vetur.format.defaultFormatterOptions": { + // "js-beautify-html": { + // // force|force-aligned | force-expand-multiline + // "wrap_line_length": 100, + // "wrap_attributes": "auto", + // "end_with_newline": false + // //"wrap_attributes": "auto" + // }, + "prettyhtml": { + "printWidth": 100, + "singleQuote": false, + "wrapAttributes": false, + "sortAttributes": true + }, + "prettier": { + "semi": true, + "singleQuote": true + } + }, + "search.location": "panel", +} diff --git a/smart_admin_v1/smart-admin-web/vue.config.js b/smart_admin_v1/smart-admin-web/vue.config.js new file mode 100644 index 00000000..af5bfbf7 --- /dev/null +++ b/smart_admin_v1/smart-admin-web/vue.config.js @@ -0,0 +1,77 @@ +const path = require('path'); +const resolve = dir => { + return path.join(__dirname, dir); +}; +const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); +const CompressionWebpackPlugin = require('compression-webpack-plugin'); +const productionGzipExtensions = ['js', 'css']; +// 项目部署基础 +// 默认情况下,我们假设你的应用将被部署在域的根目录下, +// 例如:https://www.my-app.com/ +// 默认:'/' +// 如果您的应用程序部署在子路径中,则需要在这指定子路径 +// 例如:https://www.foobar.com/my-app/ +// 需要将它改为'/my-app/' +const publicPath = process.env.NODE_ENV === 'production' ? '/' : '/'; +const lintOnSave = process.env.NODE_ENV === 'production'; + +module.exports = { + // Project deployment base + // By default we assume your app will be deployed at the root of a domain, + // e.g. https://www.my-app.com/ + // If your app is deployed at a sub-path, you will need to specify that + // sub-path here. For example, if your app is deployed at + // https://www.foobar.com/my-app/ + // then change this to '/my-app/' + publicPath, + // tweak internal webpack configuration. + // see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md + // 如果你不需要使用eslint,把lintOnSave设为false即可 + lintOnSave, + chainWebpack: config => { + config.entry = { + main: ['babel-polyfill', './src/main'], + vendors: './src/vendors' + }; + config.module + .rule('view-design') + .test(/view-design.src.*?js$/) + .use('babel') + .loader('babel-loader') + .end(); + config.resolve.alias + .set('@', resolve('src')) // key,value自行定义,比如.set('@@', resolve('src/components')) + .set('_c', resolve('src/components')); + }, + // 设为false打包时不生成.map文件 + productionSourceMap: false, + // 这里写你调用接口的基础路径,来解决跨域,如果设置了代理,那你本地开发环境的axios的baseUrl要写为 '' ,即空字符串 + // devServer: { + // proxy: 'localhost:3000' + // } + configureWebpack: { + plugins: [ + // 开启gzip压缩 + new CompressionWebpackPlugin({ + algorithm: 'gzip', + test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'), + threshold: 10240, + minRatio: 0.8 + }) + ], + optimization: { + minimizer: [ + new UglifyJsPlugin({ + uglifyOptions: { + compress: { + warnings: true, + drop_console: true, // console + drop_debugger: true, + pure_funcs: ['console.log'] // 移除console + } + } + }) + ] + } + } +}; diff --git a/代码规范/api接口规范.md b/smart_admin_v1/代码规范_v1/api接口规范.md similarity index 97% rename from 代码规范/api接口规范.md rename to smart_admin_v1/代码规范_v1/api接口规范.md index 044b17dd..e1ea91dd 100644 --- a/代码规范/api接口规范.md +++ b/smart_admin_v1/代码规范_v1/api接口规范.md @@ -1,38 +1,38 @@ -### Restful接口规范 -1、不推荐使用 rest 命名 url, 只能使用 get/post 方法。url 命名上规范如下:虽然 Rest 大法好,但是有时并不能一眼根据 url看出来是什么操作。 -url 格式为: - -/业务模块/子模块/动作 - -举例: -``` -GET /department/get/{id} 查询某个部门详细信息 -POST /department/query 复杂查询 -POST /department/add 添加部门 -POST /department/update 更新部门 -GET /department/delete/{id} 删除部门 -``` -### controller 里接口 swagger 规范 -1、controller每个方法必须添加 swagger 文档注解 @ApiOperation ,并填写接口描述信息,描述最后必须加上作者信息 @author 哪吒 -比如: -```java - @ApiOperation("更新部门信息 @author 哪吒") - @PostMapping("/department/update") - public ResponseDTO updateDepartment(@Valid @RequestBody DeptUpdateDTO deptUpdateDTO) { - return departmentService.updateDepartment(deptUpdateDTO); - } -``` - -### controller 里 传入和返回 JavaBean 规范 -1、类中的每个字段添加注释 -2、对于枚举值的类型,要清楚标注清楚可能的值,以及每个值表示什么含义 -比如: -``` -public class UserVO{ - - @ApiModelProperty("性别:0表示 女,1表示 男,2表示 未知") - private Integer gender; - -} - +### Restful接口规范 +1、不推荐使用 rest 命名 url, 只能使用 get/post 方法。url 命名上规范如下:虽然 Rest 大法好,但是有时并不能一眼根据 url看出来是什么操作。 +url 格式为: + +/业务模块/子模块/动作 + +举例: +``` +GET /department/get/{id} 查询某个部门详细信息 +POST /department/query 复杂查询 +POST /department/add 添加部门 +POST /department/update 更新部门 +GET /department/delete/{id} 删除部门 +``` +### controller 里接口 swagger 规范 +1、controller每个方法必须添加 swagger 文档注解 @ApiOperation ,并填写接口描述信息,描述最后必须加上作者信息 @author 哪吒 +比如: +```java + @ApiOperation("更新部门信息 @author 哪吒") + @PostMapping("/department/update") + public ResponseDTO updateDepartment(@Valid @RequestBody DeptUpdateDTO deptUpdateDTO) { + return departmentService.updateDepartment(deptUpdateDTO); + } +``` + +### controller 里 传入和返回 JavaBean 规范 +1、类中的每个字段添加注释 +2、对于枚举值的类型,要清楚标注清楚可能的值,以及每个值表示什么含义 +比如: +``` +public class UserVO{ + + @ApiModelProperty("性别:0表示 女,1表示 男,2表示 未知") + private Integer gender; + +} + ``` \ No newline at end of file diff --git a/代码规范/front-standard-guide.md b/smart_admin_v1/代码规范_v1/front-standard-guide.md similarity index 100% rename from 代码规范/front-standard-guide.md rename to smart_admin_v1/代码规范_v1/front-standard-guide.md diff --git a/代码规范/java-standard-guide.md b/smart_admin_v1/代码规范_v1/java-standard-guide.md similarity index 100% rename from 代码规范/java-standard-guide.md rename to smart_admin_v1/代码规范_v1/java-standard-guide.md diff --git a/快速启动/README.md b/smart_admin_v1/快速启动_v1/README.md similarity index 100% rename from 快速启动/README.md rename to smart_admin_v1/快速启动_v1/README.md diff --git a/smart_admin_v2.sql b/smart_admin_v2.sql deleted file mode 100644 index 66e86031..00000000 --- a/smart_admin_v2.sql +++ /dev/null @@ -1,2071 +0,0 @@ --- -------------------------------------------------------- --- 服务器版本: 8.0.23 - MySQL Community Server - GPL --- 服务器操作系统: Linux --- HeidiSQL 版本: 11.3.0.6295 --- -------------------------------------------------------- - --- 导出 smart_admin_v2 的数据库结构 -DROP DATABASE IF EXISTS `smart_admin_v2`; -CREATE DATABASE IF NOT EXISTS `smart_admin_v2` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ /*!80016 DEFAULT ENCRYPTION='N' */; -USE `smart_admin_v2`; - --- 导出 表 smart_admin_v2.t_category 结构 -DROP TABLE IF EXISTS `t_category`; -CREATE TABLE IF NOT EXISTS `t_category` ( - `category_id` int NOT NULL AUTO_INCREMENT COMMENT '分类id', - `category_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类名称', - `category_type` smallint NOT NULL COMMENT '分类类型', - `parent_id` int NOT NULL COMMENT '父级id', - `sort` int NOT NULL DEFAULT '0' COMMENT '排序', - `disabled_flag` tinyint NOT NULL DEFAULT '0' COMMENT '是否禁用', - `deleted_flag` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`category_id`) USING BTREE, - KEY `idx_parent_id` (`parent_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=358 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='分类表,主要用于商品分类'; - --- 正在导出表 smart_admin_v2.t_category 的数据:~11 rows (大约) -DELETE FROM `t_category`; -/*!40000 ALTER TABLE `t_category` DISABLE KEYS */; -INSERT INTO `t_category` (`category_id`, `category_name`, `category_type`, `parent_id`, `sort`, `disabled_flag`, `deleted_flag`, `remark`, `update_time`, `create_time`) VALUES - (1, '手机', 1, 0, 0, 0, 0, NULL, '2022-10-10 22:27:24', '2022-07-14 20:55:15'), - (2, '键盘', 1, 0, 0, 0, 0, NULL, '2022-09-14 21:39:00', '2022-07-14 20:55:48'), - (3, '自定义1', 2, 0, 0, 0, 0, NULL, '2022-09-14 22:01:06', '2022-07-14 20:56:03'), - (4, '自定义2', 2, 0, 0, 0, 0, NULL, '2022-09-14 22:01:10', '2022-07-14 20:56:09'), - (351, '鼠标', 1, 0, 0, 0, 0, NULL, '2022-09-14 21:39:06', '2022-09-14 21:39:06'), - (352, '苹果', 1, 1, 0, 0, 0, NULL, '2022-09-14 21:39:25', '2022-09-14 21:39:25'), - (353, '华为', 1, 1, 0, 0, 0, NULL, '2022-09-14 21:39:32', '2022-09-14 21:39:32'), - (354, 'IKBC', 1, 2, 0, 0, 0, NULL, '2022-09-14 21:39:38', '2022-09-14 21:39:38'), - (355, '双飞燕', 1, 2, 0, 0, 0, NULL, '2022-09-14 21:39:47', '2022-09-14 21:39:47'), - (356, '罗技', 1, 351, 0, 0, 0, NULL, '2022-09-14 21:39:57', '2022-09-14 21:39:57'), - (357, '小米', 1, 1, 0, 0, 0, NULL, '2022-10-10 22:27:39', '2022-10-10 22:27:39'); -/*!40000 ALTER TABLE `t_category` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_change_log 结构 -DROP TABLE IF EXISTS `t_change_log`; -CREATE TABLE IF NOT EXISTS `t_change_log` ( - `change_log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '更新日志id', - `version` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '版本', - `type` int NOT NULL COMMENT '更新类型:[1:特大版本功能更新;2:功能更新;3:bug修复]', - `publish_author` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '发布人', - `public_date` date NOT NULL COMMENT '发布日期', - `content` text COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新内容', - `link` text COLLATE utf8mb4_general_ci COMMENT '跳转链接', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`change_log_id`), - UNIQUE KEY `version_unique` (`version`) -) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统更新日志'; - --- 正在导出表 smart_admin_v2.t_change_log 的数据:~3 rows (大约) -DELETE FROM `t_change_log`; -/*!40000 ALTER TABLE `t_change_log` DISABLE KEYS */; -INSERT INTO `t_change_log` (`change_log_id`, `version`, `type`, `publish_author`, `public_date`, `content`, `link`, `create_time`, `update_time`) VALUES - (2, 'v1.1.0', 2, '卓大', '2020-05-09', 'SmartAdmin中后台系统 v1.1.0 版本(20200422)正式更新上线,更新内容如下:\n\n1.【新增】增加员工姓名查询\n\n2.【新增】增加文件预览组件\n\n3.【新增】新增四级菜单\n', 'http://smartadmin.1024lab.net/views/1.x/base/About.html', '2022-10-10 11:27:31', '2022-10-19 14:41:09'), - (8, 'v1.0.0', 1, '卓大', '2019-11-01', 'SmartAdmin中后台系统 v1.0.0 版本(20191101)正式更新上线,更新内容如下:\n\n1.【新增】人员管理\n\n2.【新增】系统设置\n\n3.【新增】心跳服务\n\n4.【新增】动态加载\n\n5.【新增】缓存策略\n\n6.【新增】定时任务', 'http://smartadmin.1024lab.net/views/1.x/base/About.html', '2022-10-10 11:41:57', '2022-10-19 14:40:31'), - (9, 'v1.2.0', 2, '卓大', '2020-05-23', 'SmartAdmin中后台系统 v1.2.0 版本(20200515)正式更新上线,更新内容如下:\n\n1.【新增】增加数据权限\n\n2.【新增】帮助文档', NULL, '2022-10-19 14:40:03', '2022-10-19 14:40:03'), - (10, 'v1.2.1', 3, '卓大', '2020-05-24', 'SmartAdmin中后台系统 v1.2.1 版本(20200524)正式更新上线,更新内容如下:\n\n1.【修复】四级菜单权限bug\n\n2.【修复】缓存keepalive的Bug\n\n', NULL, '2022-10-22 13:39:57', '2022-10-22 13:39:57'), - (11, 'v1.3.0', 2, '卓大', '2020-06-01', 'SmartAdmin中后台系统 v1.3.0 版本(20200601)正式更新上线,更新内容如下:\n\n1.【新增】工作台看板功能\n\n2.【新增】天气预报功能\n\n3.【新增】记录上次登录IP功能', NULL, '2022-10-22 13:42:07', '2022-10-22 13:42:53'), - (12, 'v1.4.0', 2, '卓大', '2020-06-06', 'SmartAdmin中后台系统 v1.4.0 版本(20200606)正式更新上线,更新内容如下:\n\n1.【新增】联系客服功能\n\n2.【新增】意见反馈功能', NULL, '2022-10-22 13:43:20', '2022-10-22 13:43:31'), - (13, 'v1.5.0', 2, '卓大', '2020-06-14', 'SmartAdmin中后台系统 v1.5.0 版本(20200614)正式更新上线,更新内容如下:\n\n1.【新增】OA系统\n\n2.【新增】通知公告', NULL, '2022-10-22 13:45:04', '2022-10-22 13:45:14'), - (14, 'v1.6.0', 2, '卓大', '2020-06-17', 'SmartAdmin中后台系统 v1.6.0 版本(20200617)正式更新上线,更新内容如下:\n\n1.【新增】代码生成\n\n2.【新增】通知公告', NULL, '2022-10-22 13:45:44', '2022-10-22 13:46:03'), - (15, 'v2.0.0', 1, '卓大', '2022-10-22', 'SmartAdmin中后台系统 v2.0.0 版本(20191101)正式更新上线,更新内容如下:\n\n1.【新增】人员管理\n\n2.【新增】系统设置\n\n3.【新增】心跳服务\n\n4.【新增】动态加载\n\n5.【新增】缓存策略\n\n6.【新增】定时任务', 'http://smartadmin.1024lab.net/views/1.x/base/About.html', '2022-10-22 13:47:01', '2022-10-22 13:47:01'), - (16, 'v1.7.0', 2, '卓大', '2022-10-22', 'SmartAdmin中后台系统 v1.7.0 版本(20200624)正式更新上线,更新内容如下:\n\n1.【新增】商品管理\n\n2.【新增】商品分类', NULL, '2022-10-22 13:48:02', '2022-10-22 13:48:02'); -/*!40000 ALTER TABLE `t_change_log` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_code_generator_config 结构 -DROP TABLE IF EXISTS `t_code_generator_config`; -CREATE TABLE IF NOT EXISTS `t_code_generator_config` ( - `table_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表名', - `basic` text COLLATE utf8mb4_general_ci COMMENT '基础命名信息', - `fields` text COLLATE utf8mb4_general_ci COMMENT '字段列表', - `insert_and_update` text COLLATE utf8mb4_general_ci COMMENT '新建、修改', - `delete_info` text COLLATE utf8mb4_general_ci COMMENT '删除', - `query_fields` text COLLATE utf8mb4_general_ci COMMENT '查询', - `table_fields` text COLLATE utf8mb4_general_ci COMMENT '列表', - `detail` text COLLATE utf8mb4_general_ci COMMENT '详情', - `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`table_name`) USING BTREE, - UNIQUE KEY `table_unique` (`table_name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代码生成器的每个表的配置'; - --- 正在导出表 smart_admin_v2.t_code_generator_config 的数据:~3 rows (大约) -DELETE FROM `t_code_generator_config`; -/*!40000 ALTER TABLE `t_code_generator_config` DISABLE KEYS */; -/*!40000 ALTER TABLE `t_code_generator_config` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_config 结构 -DROP TABLE IF EXISTS `t_config`; -CREATE TABLE IF NOT EXISTS `t_config` ( - `config_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `config_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '参数名字', - `config_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '参数key', - `config_value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '上次修改时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`config_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统配置'; - --- 正在导出表 smart_admin_v2.t_config 的数据:~3 rows (大约) -DELETE FROM `t_config`; -/*!40000 ALTER TABLE `t_config` DISABLE KEYS */; -INSERT INTO `t_config` (`config_id`, `config_name`, `config_key`, `config_value`, `remark`, `update_time`, `create_time`) VALUES - (1, '万能密码', 'super_password', 'sasasa', '建议定期修改', '2022-10-19 20:25:57', '2021-12-16 23:32:46'), - (2, '本地上传url前缀', 'local_upload_url_prefix', 'http://localhost/file/', NULL, '2022-05-20 23:28:38', '2022-03-22 13:36:01'), - (7, '登录失效时间(单位 小时)', 'login_expires_hour', '2', NULL, '2022-10-16 19:04:59', '2022-10-16 19:04:59'); -/*!40000 ALTER TABLE `t_config` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_data_tracer 结构 -DROP TABLE IF EXISTS `t_data_tracer`; -CREATE TABLE IF NOT EXISTS `t_data_tracer` ( - `data_tracer_id` bigint NOT NULL AUTO_INCREMENT, - `data_id` bigint NOT NULL COMMENT '各种单据的id', - `type` int NOT NULL COMMENT '单据类型', - `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '操作内容', - `diff_old` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '差异:旧的数据', - `diff_new` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '差异:新的数据', - `extra_data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '额外信息', - `user_id` bigint NOT NULL COMMENT '用户id', - `user_type` int NOT NULL COMMENT '用户类型:1 后管用户 ', - `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名称', - `ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `user_agent` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`data_tracer_id`) USING BTREE, - KEY `order_id_order_type` (`data_id`,`type`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='各种单据操作记录'; - --- 正在导出表 smart_admin_v2.t_data_tracer 的数据:~15 rows (大约) -DELETE FROM `t_data_tracer`; -/*!40000 ALTER TABLE `t_data_tracer` DISABLE KEYS */; -INSERT INTO `t_data_tracer` (`data_tracer_id`, `data_id`, `type`, `content`, `diff_old`, `diff_new`, `extra_data`, `user_id`, `user_type`, `user_name`, `ip`, `user_agent`, `update_time`, `create_time`) VALUES - (1, 49, 2, '新增', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 14:27:33', '2022-10-22 14:27:33'), - (2, 50, 2, '新增', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 14:29:56', '2022-10-22 14:29:56'), - (3, 51, 2, '新增', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 14:30:46', '2022-10-22 14:30:46'), - (4, 52, 2, '新增', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 14:33:03', '2022-10-22 14:33:03'), - (5, 53, 2, '新增', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 14:34:56', '2022-10-22 14:34:56'), - (6, 54, 2, '新增', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 14:36:10', '2022-10-22 14:36:10'), - (7, 55, 2, '新增', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 14:37:57', '2022-10-22 14:37:57'), - (8, 56, 2, '新增', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 14:40:45', '2022-10-22 14:40:45'), - (9, 57, 2, '新增', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 14:46:00', '2022-10-22 14:46:00'), - (10, 58, 2, '新增', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 14:47:12', '2022-10-22 14:47:12'), - (11, 58, 2, '', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 14:47:26', '2022-10-22 14:47:26'), - (12, 59, 2, '新增', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 14:50:12', '2022-10-22 14:50:12'), - (13, 17, 3, '新增', NULL, NULL, NULL, 44, 1, '卓大', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', '2022-10-22 14:57:36', '2022-10-22 14:57:36'), - (14, 18, 3, '新增', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 17:03:35', '2022-10-22 17:03:35'), - (15, 2, 3, '新增银行:
银行信息ID:26
账户名称:"1024创新实验室"
禁用状态:false
开户银行:"工商银行"
备注:"基本户"
账号:"1024"
是否对公:true', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 17:58:43', '2022-10-22 17:58:43'), - (16, 2, 3, '新增银行:
银行信息ID:27
账户名称:"1024创新实验室"
禁用状态:false
开户银行:"建设银行"
备注:"其他户"
账号:"10241"
是否对公:false', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 17:59:19', '2022-10-22 17:59:19'), - (17, 2, 3, '新增发票:
禁用状态:false
开户行:"中国银行"
备注:""
银行账户:"1024lab"
开票抬头:"1024创新实验室"
纳税人识别号:"1024lab"', NULL, NULL, NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 17:59:35', '2022-10-22 17:59:35'), - (18, 2, 3, '修改企业信息', '统一社会信用代码:"1024lab"
详细地址:"1024大楼"
区县名称:"洛龙区"
禁用状态:false
类型:有限企业
城市名称:"洛阳市"
删除状态:false
联系人:"卓大"
省份名称:"河南省"
企业logo:"public/common/fb827d63dda74a60ab8b4f70cc7c7d0a_20221022145641_jpg"
联系人电话:"18637925892"
企业名称:"1024创新实验室"
邮箱:"lab1024@163.com"', '统一社会信用代码:"1024lab"
详细地址:"1024大楼"
区县名称:"洛龙区"
禁用状态:false
类型:有限企业
城市名称:"洛阳市"
删除状态:false
联系人:"卓大"
省份名称:"河南省"
企业logo:"public/common/fb827d63dda74a60ab8b4f70cc7c7d0a_20221022145641_jpg"
联系人电话:"18637925892"
企业名称:"1024创新实验室1"
邮箱:"lab1024@163.com"', NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 17:59:49', '2022-10-22 17:59:49'), - (19, 2, 3, '修改企业信息', '统一社会信用代码:"1024lab"
详细地址:"1024大楼"
区县名称:"洛龙区"
禁用状态:false
类型:有限企业
城市名称:"洛阳市"
删除状态:false
联系人:"卓大"
省份名称:"河南省"
企业logo:"public/common/fb827d63dda74a60ab8b4f70cc7c7d0a_20221022145641_jpg"
联系人电话:"18637925892"
企业名称:"1024创新实验室1"
邮箱:"lab1024@163.com"', '统一社会信用代码:"1024lab"
详细地址:"1024大楼"
区县名称:"洛龙区"
禁用状态:false
类型:有限企业
城市名称:"洛阳市"
删除状态:false
联系人:"卓大"
省份名称:"河南省"
企业logo:"public/common/fb827d63dda74a60ab8b4f70cc7c7d0a_20221022145641_jpg"
联系人电话:"18637925892"
企业名称:"1024创新实验室"
邮箱:"lab1024@163.com"', NULL, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', '2022-10-22 17:59:52', '2022-10-22 17:59:52'); -/*!40000 ALTER TABLE `t_data_tracer` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_department 结构 -DROP TABLE IF EXISTS `t_department`; -CREATE TABLE IF NOT EXISTS `t_department` ( - `department_id` bigint NOT NULL AUTO_INCREMENT COMMENT '部门主键id', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '部门名称', - `manager_id` bigint DEFAULT NULL COMMENT '部门负责人id', - `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '部门的父级id', - `sort` int NOT NULL COMMENT '部门排序', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`department_id`) USING BTREE, - KEY `parent_id` (`parent_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='部门'; - --- 正在导出表 smart_admin_v2.t_department 的数据:~4 rows (大约) -DELETE FROM `t_department`; -/*!40000 ALTER TABLE `t_department` DISABLE KEYS */; -INSERT INTO `t_department` (`department_id`, `name`, `manager_id`, `parent_id`, `sort`, `update_time`, `create_time`) VALUES - (1, '1024创新实验室', 1, 0, 1, '2022-10-19 20:17:09', '2022-10-19 20:17:09'), - (2, '开发部', 44, 1, 1000, '2022-10-19 20:22:23', '2022-10-19 20:22:23'), - (3, '产品部', 2, 1, 99, '2022-10-21 10:25:30', '2022-10-21 10:25:30'), - (4, '销售部', 64, 1, 9, '2022-10-21 10:25:47', '2022-10-21 10:25:47'); -/*!40000 ALTER TABLE `t_department` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_dict_key 结构 -DROP TABLE IF EXISTS `t_dict_key`; -CREATE TABLE IF NOT EXISTS `t_dict_key` ( - `dict_key_id` bigint NOT NULL AUTO_INCREMENT, - `key_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `key_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', - `deleted_flag` tinyint NOT NULL DEFAULT '0' COMMENT '删除状态', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`dict_key_id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='字段key'; - --- 正在导出表 smart_admin_v2.t_dict_key 的数据:~1 rows (大约) -DELETE FROM `t_dict_key`; -/*!40000 ALTER TABLE `t_dict_key` DISABLE KEYS */; -INSERT INTO `t_dict_key` (`dict_key_id`, `key_code`, `key_name`, `remark`, `deleted_flag`, `update_time`, `create_time`) VALUES - (1, 'GODOS_PLACE', '商品产地', '商品产地的字典', 0, '2022-10-21 16:07:41', '2022-10-21 16:07:41'); -/*!40000 ALTER TABLE `t_dict_key` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_dict_value 结构 -DROP TABLE IF EXISTS `t_dict_value`; -CREATE TABLE IF NOT EXISTS `t_dict_value` ( - `dict_value_id` bigint NOT NULL AUTO_INCREMENT, - `dict_key_id` bigint NOT NULL, - `value_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `value_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', - `sort` int NOT NULL DEFAULT '0' COMMENT '排序', - `deleted_flag` tinyint NOT NULL DEFAULT '0' COMMENT '删除状态', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`dict_value_id`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='字典的值'; - --- 正在导出表 smart_admin_v2.t_dict_value 的数据:~3 rows (大约) -DELETE FROM `t_dict_value`; -/*!40000 ALTER TABLE `t_dict_value` DISABLE KEYS */; -INSERT INTO `t_dict_value` (`dict_value_id`, `dict_key_id`, `value_code`, `value_name`, `remark`, `sort`, `deleted_flag`, `update_time`, `create_time`) VALUES - (1, 1, 'LUO_YANG', '洛阳', '', 1, 0, '2022-10-21 16:07:54', '2022-10-21 16:07:54'), - (2, 1, 'ZHENG_ZHOU', '郑州', '', 1, 0, '2022-10-21 16:08:02', '2022-10-21 16:08:02'), - (3, 1, 'BEI_JING', '北京', '', 3, 0, '2022-10-21 19:13:03', '2022-10-21 16:08:22'); -/*!40000 ALTER TABLE `t_dict_value` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_employee 结构 -DROP TABLE IF EXISTS `t_employee`; -CREATE TABLE IF NOT EXISTS `t_employee` ( - `employee_id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `login_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '登录帐号', - `login_pwd` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '登录密码', - `actual_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '员工名称', - `gender` tinyint(1) NOT NULL DEFAULT '0' COMMENT '性别', - `phone` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '手机号码', - `department_id` int NOT NULL COMMENT '部门id', - `disabled_flag` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '是否被禁用 0否1是', - `deleted_flag` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '是否删除0否 1是', - `administrator_flag` tinyint NOT NULL DEFAULT '0' COMMENT '是否为超级管理员: 0 不是,1是', - `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`employee_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=72 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='员工表'; - --- 正在导出表 smart_admin_v2.t_employee 的数据:~12 rows (大约) -DELETE FROM `t_employee`; -/*!40000 ALTER TABLE `t_employee` DISABLE KEYS */; -INSERT INTO `t_employee` (`employee_id`, `login_name`, `login_pwd`, `actual_name`, `gender`, `phone`, `department_id`, `disabled_flag`, `deleted_flag`, `administrator_flag`, `remark`, `update_time`, `create_time`) VALUES - (1, 'admin', '40cc20b8891cd3fd1f008ea7f4ac17c3', '管理员', 0, '13500000000', 1, 0, 0, 1, NULL, '2022-10-22 19:33:02', '2018-05-11 09:38:54'), - (2, 'huke', '40cc20b8891cd3fd1f008ea7f4ac17c3', '胡克', 0, '13123123121', 1, 0, 0, 0, NULL, '2022-10-19 20:17:30', '2021-07-29 11:24:55'), - (44, 'zhuoda', '40cc20b8891cd3fd1f008ea7f4ac17c3', '卓大', 1, '18637925892', 1, 0, 0, 1, NULL, '2022-10-22 14:29:04', '2021-08-11 10:04:53'), - (47, 'shanyi', '40cc20b8891cd3fd1f008ea7f4ac17c3', '善逸', 1, '13123111123', 1, 0, 0, 0, NULL, '2022-10-19 20:19:50', '2021-08-16 17:14:55'), - (48, 'qinjiu', '40cc20b8891cd3fd1f008ea7f4ac17c3', '琴酒', 2, '14112343212', 2, 0, 0, 0, NULL, '2022-10-19 20:23:40', '2021-08-17 10:29:41'), - (63, 'kaiyun', '40cc20b8891cd3fd1f008ea7f4ac17c3', '开云', 0, '13112312346', 2, 0, 0, 0, NULL, '2022-10-19 20:23:40', '2022-06-03 22:41:55'), - (64, 'qingye', '40cc20b8891cd3fd1f008ea7f4ac17c3', '清野', 1, '13123123111', 2, 0, 0, 0, NULL, '2022-10-19 20:23:40', '2022-06-16 17:19:08'), - (65, 'feiye', '40cc20b8891cd3fd1f008ea7f4ac17c3', '飞叶', 1, '13123123112', 1, 0, 0, 0, NULL, '2022-09-15 16:51:09', '2022-06-16 17:24:18'), - (66, 'luoyi', '40cc20b8891cd3fd1f008ea7f4ac17c3', '罗伊', 1, '13123123142', 1, 1, 0, 0, NULL, '2022-09-15 16:51:19', '2022-06-16 17:24:56'), - (67, 'chuxiao', '7287168489ed5598741362cbec2b0741', '初晓', 1, '13123123123', 1, 0, 0, 0, NULL, '2022-09-17 15:42:42', '2022-06-16 17:28:32'), - (68, 'xuanpeng', '40cc20b8891cd3fd1f008ea7f4ac17c3', '玄朋', 1, '13123123124', 1, 0, 0, 0, NULL, '2022-09-15 16:51:43', '2022-06-16 17:30:17'), - (69, 'peixian', '40cc20b8891cd3fd1f008ea7f4ac17c3', '佩弦', 1, '18377482773', 1, 0, 0, 0, NULL, '2022-10-19 20:17:35', '2022-06-25 16:42:52'); -/*!40000 ALTER TABLE `t_employee` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_feedback 结构 -DROP TABLE IF EXISTS `t_feedback`; -CREATE TABLE IF NOT EXISTS `t_feedback` ( - `feedback_id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `feedback_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '反馈内容', - `feedback_attachment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '反馈图片', - `user_id` bigint NOT NULL COMMENT '创建人id', - `user_type` int NOT NULL COMMENT '创建人用户类型', - `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建人姓名', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`feedback_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='意见反馈'; - --- 正在导出表 smart_admin_v2.t_feedback 的数据:~0 rows (大约) -DELETE FROM `t_feedback`; -/*!40000 ALTER TABLE `t_feedback` DISABLE KEYS */; -INSERT INTO `t_feedback` (`feedback_id`, `feedback_content`, `feedback_attachment`, `user_id`, `user_type`, `user_name`, `create_time`, `update_time`) VALUES - (1, '希望增加微信公众号消息提醒功能', 'public/feedback/609fd595e8a9416b992c3a00e37cc8e0_20221022133322_jpg', 44, 1, '卓大', '2022-10-22 13:33:25', '2022-10-22 13:33:25'), - (2, '顶部菜单希望能尽快实现', '', 44, 1, '卓大', '2022-10-22 13:34:20', '2022-10-22 13:34:20'), - (3, 'app版本什么时候能推出?', '', 1, 1, '管理员', '2022-10-22 13:35:13', '2022-10-22 13:35:13'); -/*!40000 ALTER TABLE `t_feedback` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_file 结构 -DROP TABLE IF EXISTS `t_file`; -CREATE TABLE IF NOT EXISTS `t_file` ( - `file_id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `folder_type` tinyint unsigned NOT NULL COMMENT '文件夹类型', - `file_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '文件名称', - `file_size` int DEFAULT NULL COMMENT '文件大小', - `file_key` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件key,用于文件下载', - `file_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件类型', - `creator_id` int DEFAULT NULL COMMENT '创建人,即上传人', - `creator_user_type` int DEFAULT NULL COMMENT '创建人用户类型', - `creator_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人姓名', - `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '上次更新时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`file_id`) USING BTREE, - UNIQUE KEY `uk_file_key` (`file_key`) USING BTREE, - KEY `module_id_module_type` (`folder_type`) USING BTREE, - KEY `module_type` (`folder_type`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='文件'; - --- 正在导出表 smart_admin_v2.t_file 的数据:~14 rows (大约) -DELETE FROM `t_file`; -/*!40000 ALTER TABLE `t_file` DISABLE KEYS */; -INSERT INTO `t_file` (`file_id`, `folder_type`, `file_name`, `file_size`, `file_key`, `file_type`, `creator_id`, `creator_user_type`, `creator_name`, `update_time`, `create_time`) VALUES - (4, 1, '1024lab-gzh.jpg', 27898, 'public/common/7e3cb80f02c84ca3aba359f166c8c69e-20221021115207-jpg', 'jpg', 1, 1, '管理员', '2022-10-21 11:52:07', '2022-10-21 11:52:07'), - (5, 1, 'QQ拼音截图20220914221459.png', 4088, 'public/common/b298956317bd419d899a4d3f1d28dbb6-20221021115215-png', 'png', 1, 1, '管理员', '2022-10-21 11:52:15', '2022-10-21 11:52:15'), - (6, 1, 'dfcb686a409e8c0e0c93f95e7129dc46.jpeg', 30137, 'public/common/b817542a80a84435ae86991d68546eb4_20221021121746_jpeg', 'jpeg', 1, 1, '管理员', '2022-10-21 12:17:47', '2022-10-21 12:17:47'), - (7, 1, 'QQ拼音截图20220914221459.png', 4088, 'public/common/888ea37c5a6c4c088658264464ba3cae_20221021121755_png', 'png', 1, 1, '管理员', '2022-10-21 12:17:55', '2022-10-21 12:17:55'), - (18, 4, 'zhuoda-wechat.jpg', 42080, 'public/feedback/609fd595e8a9416b992c3a00e37cc8e0_20221022133322_jpg', 'jpg', 44, 1, '卓大', '2022-10-22 13:33:23', '2022-10-22 13:33:23'), - (19, 1, '1024lab-gzh.jpg', 27898, 'public/common/fb827d63dda74a60ab8b4f70cc7c7d0a_20221022145641_jpg', 'jpg', 44, 1, '卓大', '2022-10-22 14:56:42', '2022-10-22 14:56:42'), - (20, 1, 'xiaozhen-gzh.jpg', 8786, 'public/common/f4a76fa720814949a610f05f6f9545bf_20221022170256_jpg', 'jpg', 1, 1, '管理员', '2022-10-22 17:02:56', '2022-10-22 17:02:56'), - (21, 1, '1024lab-gzh.jpg', 27898, 'public/common/852b7e19bef94af39c1a6156edf47cfb_20221022170332_jpg', 'jpg', 1, 1, '管理员', '2022-10-22 17:03:32', '2022-10-22 17:03:32'); -/*!40000 ALTER TABLE `t_file` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_goods 结构 -DROP TABLE IF EXISTS `t_goods`; -CREATE TABLE IF NOT EXISTS `t_goods` ( - `goods_id` int NOT NULL AUTO_INCREMENT, - `goods_status` int DEFAULT NULL COMMENT '商品状态:[1:预约中,2:售卖中,3:售罄]', - `category_id` int NOT NULL COMMENT '商品类目', - `goods_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商品名称', - `place` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '产地', - `price` decimal(10,2) unsigned NOT NULL COMMENT '价格', - `shelves_flag` tinyint unsigned NOT NULL COMMENT '上架状态', - `deleted_flag` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '删除状态', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', - `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `create_time` datetime DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`goods_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='商品'; - --- 正在导出表 smart_admin_v2.t_goods 的数据:~3 rows (大约) -DELETE FROM `t_goods`; -/*!40000 ALTER TABLE `t_goods` DISABLE KEYS */; -INSERT INTO `t_goods` (`goods_id`, `goods_status`, `category_id`, `goods_name`, `place`, `price`, `shelves_flag`, `deleted_flag`, `remark`, `update_time`, `create_time`) VALUES - (1, 1, 353, 'Mote60', 'BEI_JING', 9999.00, 1, 0, NULL, '2022-10-21 19:57:49', '2021-09-01 22:25:30'), - (7, 1, 352, 'iphone15 pro', 'LUO_YANG', 50000.00, 1, 0, '备注', '2022-10-21 19:58:07', '2022-09-15 14:17:11'), - (8, 1, 352, 'iphone14', 'ZHENG_ZHOU', 150.00, 0, 0, '', '2022-10-21 19:12:49', '2022-10-21 19:00:11'); -/*!40000 ALTER TABLE `t_goods` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_heart_beat_record 结构 -DROP TABLE IF EXISTS `t_heart_beat_record`; -CREATE TABLE IF NOT EXISTS `t_heart_beat_record` ( - `heart_beat_record_id` int NOT NULL AUTO_INCREMENT COMMENT '自增id', - `project_path` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '项目名称', - `server_ip` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '服务器ip', - `process_no` int NOT NULL COMMENT '进程号', - `process_start_time` datetime NOT NULL COMMENT '进程开启时间', - `heart_beat_time` datetime NOT NULL COMMENT '心跳时间', - PRIMARY KEY (`heart_beat_record_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=313 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='公用服务 - 服务心跳'; - --- 正在导出表 smart_admin_v2.t_heart_beat_record 的数据:~305 rows (大约) -DELETE FROM `t_heart_beat_record`; -/*!40000 ALTER TABLE `t_heart_beat_record` DISABLE KEYS */; -INSERT INTO `t_heart_beat_record` (`heart_beat_record_id`, `project_path`, `server_ip`, `process_no`, `process_start_time`, `heart_beat_time`) VALUES - (309, 'E:\\code_work_space\\idea\\transport-project\\tms', '127.0.0.1;192.168.1.113', 37328, '2022-10-22 11:52:59', '2022-10-22 12:00:18'), - (310, 'E:\\code_work_space\\idea\\transport-project\\tms', '127.0.0.1;192.168.1.113', 37312, '2022-10-22 13:27:35', '2022-10-22 17:19:44'), - (311, 'E:\\code_work_space\\idea\\transport-project\\tms', '127.0.0.1;192.168.1.113', 12608, '2022-10-22 17:53:00', '2022-10-22 18:00:20'), - (312, 'E:\\code_work_space\\idea\\transport-project\\tms', '127.0.0.1;192.168.1.113', 35360, '2022-10-22 18:14:55', '2022-10-22 19:32:24'); -/*!40000 ALTER TABLE `t_heart_beat_record` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_help_doc 结构 -DROP TABLE IF EXISTS `t_help_doc`; -CREATE TABLE IF NOT EXISTS `t_help_doc` ( - `help_doc_id` bigint NOT NULL AUTO_INCREMENT, - `help_doc_catalog_id` bigint NOT NULL COMMENT '类型1公告 2动态', - `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '标题', - `content_text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '文本内容', - `content_html` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'html内容', - `attachment` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '附件', - `sort` int NOT NULL DEFAULT '0' COMMENT '排序', - `page_view_count` int NOT NULL DEFAULT '0' COMMENT '页面浏览量,传说中的pv', - `user_view_count` int NOT NULL DEFAULT '0' COMMENT '用户浏览量,传说中的uv', - `author` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '作者', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`help_doc_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='帮助文档'; - --- 正在导出表 smart_admin_v2.t_help_doc 的数据:~28 rows (大约) -DELETE FROM `t_help_doc`; -/*!40000 ALTER TABLE `t_help_doc` DISABLE KEYS */; -/*!40000 ALTER TABLE `t_help_doc` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_help_doc_catalog 结构 -DROP TABLE IF EXISTS `t_help_doc_catalog`; -CREATE TABLE IF NOT EXISTS `t_help_doc_catalog` ( - `help_doc_catalog_id` bigint NOT NULL AUTO_INCREMENT COMMENT '帮助文档目录', - `name` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '名称', - `sort` int NOT NULL DEFAULT '0' COMMENT '排序字段', - `parent_id` bigint NOT NULL COMMENT '父级id', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`help_doc_catalog_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='帮助文档-目录'; - --- 正在导出表 smart_admin_v2.t_help_doc_catalog 的数据:~5 rows (大约) -DELETE FROM `t_help_doc_catalog`; -/*!40000 ALTER TABLE `t_help_doc_catalog` DISABLE KEYS */; -/*!40000 ALTER TABLE `t_help_doc_catalog` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_help_doc_relation 结构 -DROP TABLE IF EXISTS `t_help_doc_relation`; -CREATE TABLE IF NOT EXISTS `t_help_doc_relation` ( - `relation_id` bigint NOT NULL COMMENT '关联id', - `relation_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '关联名称', - `help_doc_id` bigint NOT NULL COMMENT '文档id', - `create_time` datetime DEFAULT CURRENT_TIMESTAMP, - `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`relation_id`,`help_doc_id`) USING BTREE, - UNIQUE KEY `uni_menu_help_doc` (`relation_id`,`help_doc_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='帮助文档-关联表'; - --- 正在导出表 smart_admin_v2.t_help_doc_relation 的数据:~4 rows (大约) -DELETE FROM `t_help_doc_relation`; -/*!40000 ALTER TABLE `t_help_doc_relation` DISABLE KEYS */; -/*!40000 ALTER TABLE `t_help_doc_relation` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_help_doc_view_record 结构 -DROP TABLE IF EXISTS `t_help_doc_view_record`; -CREATE TABLE IF NOT EXISTS `t_help_doc_view_record` ( - `help_doc_id` int NOT NULL COMMENT '通知公告id', - `user_id` int NOT NULL COMMENT '用户id', - `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '用户名称', - `page_view_count` int DEFAULT '0' COMMENT '查看次数', - `first_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '首次ip', - `first_user_agent` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '首次用户设备等标识', - `last_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最后一次ip', - `last_user_agent` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最后一次用户设备等标识', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`help_doc_id`,`user_id`) USING BTREE, - UNIQUE KEY `uk_notice_employee` (`help_doc_id`,`user_id`) USING BTREE COMMENT '资讯员工' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='帮助文档-查看记录'; - --- 正在导出表 smart_admin_v2.t_help_doc_view_record 的数据:~69 rows (大约) -DELETE FROM `t_help_doc_view_record`; -/*!40000 ALTER TABLE `t_help_doc_view_record` DISABLE KEYS */; -/*!40000 ALTER TABLE `t_help_doc_view_record` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_login_log 结构 -DROP TABLE IF EXISTS `t_login_log`; -CREATE TABLE IF NOT EXISTS `t_login_log` ( - `login_log_id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `user_id` int NOT NULL COMMENT '用户id', - `user_type` int NOT NULL COMMENT '用户类型', - `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名', - `login_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户ip', - `user_agent` text COLLATE utf8mb4_unicode_ci COMMENT 'user-agent信息', - `login_result` int NOT NULL COMMENT '登录结果:0成功 1失败 2 退出', - `remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`login_log_id`) USING BTREE, - KEY `customer_id` (`user_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户登录日志'; - --- 正在导出表 smart_admin_v2.t_login_log 的数据:~5 rows (大约) -DELETE FROM `t_login_log`; -/*!40000 ALTER TABLE `t_login_log` DISABLE KEYS */; -INSERT INTO `t_login_log` (`login_log_id`, `user_id`, `user_type`, `user_name`, `login_ip`, `user_agent`, `login_result`, `remark`, `update_time`, `create_time`) VALUES - (1, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, '电脑端', '2022-10-21 10:31:08', '2022-10-21 10:31:06'), - (2, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, '电脑端', '2022-10-22 10:29:16', '2022-10-22 10:29:16'), - (3, 44, 1, '卓大', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, '密码错误', '2022-10-22 10:51:49', '2022-10-22 10:51:49'), - (4, 44, 1, '卓大', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 0, '万能密码登录', '2022-10-22 10:52:00', '2022-10-22 10:52:00'), - (5, 44, 1, '卓大', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 0, '万能密码登录', '2022-10-22 11:56:06', '2022-10-22 11:56:07'), - (6, 44, 1, '卓大', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 0, '万能密码登录', '2022-10-22 13:32:26', '2022-10-22 13:32:26'), - (7, 44, 1, '卓大', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 0, '万能密码登录', '2022-10-22 14:08:14', '2022-10-22 14:08:14'), - (8, 44, 1, '卓大', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 0, '万能密码登录', '2022-10-22 14:40:55', '2022-10-22 14:40:55'), - (9, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, '万能密码登录', '2022-10-22 18:28:07', '2022-10-22 18:28:07'), - (10, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, '万能密码登录', '2022-10-22 18:28:54', '2022-10-22 18:28:54'), - (11, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, '万能密码登录', '2022-10-22 18:58:21', '2022-10-22 18:58:21'), - (12, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, '万能密码登录', '2022-10-22 19:07:09', '2022-10-22 19:07:10'), - (13, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, '密码错误', '2022-10-22 19:32:28', '2022-10-22 19:32:28'), - (14, 1, 1, '管理员', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, '电脑端', '2022-10-22 19:32:37', '2022-10-22 19:32:37'); -/*!40000 ALTER TABLE `t_login_log` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_menu 结构 -DROP TABLE IF EXISTS `t_menu`; -CREATE TABLE IF NOT EXISTS `t_menu` ( - `menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单ID', - `menu_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '菜单名称', - `menu_type` int NOT NULL COMMENT '类型', - `parent_id` bigint NOT NULL COMMENT '父菜单ID', - `sort` int DEFAULT NULL COMMENT '显示顺序', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '路由地址', - `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '组件路径', - `perms_type` int DEFAULT NULL COMMENT '权限类型', - `api_perms` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '后端权限字符串', - `web_perms` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '前端权限字符串', - `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '菜单图标', - `context_menu_id` bigint DEFAULT NULL COMMENT '功能点关联菜单ID', - `frame_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否为外链', - `frame_url` text COMMENT '外链地址', - `cache_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否缓存', - `visible_flag` tinyint(1) NOT NULL DEFAULT '1' COMMENT '显示状态', - `disabled_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '禁用状态', - `deleted_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态', - `create_user_id` bigint NOT NULL COMMENT '创建人', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_user_id` bigint DEFAULT NULL COMMENT '更新人', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`menu_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=208 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='菜单表'; - --- 正在导出表 smart_admin_v2.t_menu 的数据:~107 rows (大约) -DELETE FROM `t_menu`; -/*!40000 ALTER TABLE `t_menu` DISABLE KEYS */; -INSERT INTO `t_menu` (`menu_id`, `menu_name`, `menu_type`, `parent_id`, `sort`, `path`, `component`, `perms_type`, `api_perms`, `web_perms`, `icon`, `context_menu_id`, `frame_flag`, `frame_url`, `cache_flag`, `visible_flag`, `disabled_flag`, `deleted_flag`, `create_user_id`, `create_time`, `update_user_id`, `update_time`) VALUES - (26, '菜单管理', 2, 50, 0, '/menu/list', '/system/menu/menu-list.vue', NULL, NULL, NULL, 'CopyOutlined', NULL, 0, NULL, 1, 1, 0, 0, 2, '2021-08-09 15:04:35', 1, '2022-10-16 00:04:19'), - (40, '批量删除', 3, 26, NULL, NULL, NULL, 1, NULL, 'system:menu:batch:delete', NULL, 26, 0, NULL, 0, 1, 0, 0, 1, '2021-08-12 09:45:56', 1, '2022-10-22 10:39:01'), - (45, '部门员工', 1, 0, 100, '/organization', NULL, NULL, NULL, NULL, 'UserSwitchOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2021-08-12 16:13:27', 44, '2022-10-22 11:19:49'), - (46, '部门员工', 2, 45, 1, '/employee/department', '/system/employee/department/index.vue', NULL, NULL, NULL, 'AuditOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2021-08-12 16:21:50', 1, '2022-06-23 16:19:54'), - (47, '商品管理', 2, 48, 3, '/erp/goods/list', '/business/erp/goods/goods-list.vue', NULL, NULL, NULL, 'AliwangwangOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2021-08-12 17:58:39', 1, '2022-09-14 21:50:11'), - (48, '商品管理', 1, 137, 10, '/goods', NULL, NULL, NULL, NULL, 'BarcodeOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2021-08-12 18:02:59', 1, '2022-06-24 20:07:35'), - (50, '系统设置', 1, 0, 200, '/setting', NULL, NULL, NULL, NULL, 'SettingOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2021-08-13 16:41:33', 1, '2022-09-14 15:46:51'), - (76, '角色管理', 2, 45, 2, '/employee/role', '/system/employee/role/index.vue', NULL, NULL, NULL, 'SlidersOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2021-08-26 10:31:00', 1, '2022-06-23 16:21:06'), - (78, '商品分类', 2, 48, 1, '/erp/catalog/goods', '/business/erp/catalog/goods-catalog.vue', NULL, NULL, NULL, 'ApartmentOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-18 23:34:14', 1, '2022-09-14 21:52:12'), - (79, '自定义分组', 2, 48, 2, '/erp/catalog/custom', '/business/erp/catalog/custom-catalog.vue', NULL, NULL, NULL, 'AppstoreAddOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-18 23:37:53', 1, '2022-09-14 21:50:58'), - (81, '请求监控', 2, 111, 3, '/support/operate-log/operate-log-list', '/support/operate-log/operate-log-list.vue', NULL, NULL, NULL, 'VideoCameraOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-20 12:37:24', 1, '2022-10-22 18:33:10'), - (85, '组件演示', 2, 84, NULL, '/demonstration/index', '/support/demonstration/index.vue', NULL, NULL, NULL, 'ClearOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-20 23:16:46', NULL, '2022-05-20 23:16:46'), - (86, '添加部门', 3, 46, NULL, NULL, NULL, 1, NULL, 'system:department:add', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-26 23:33:37', NULL, '2022-10-22 10:39:01'), - (87, '修改部门', 3, 46, NULL, NULL, NULL, 1, NULL, 'system:department:update', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-26 23:34:11', NULL, '2022-10-22 10:39:02'), - (88, '删除部门', 3, 46, NULL, NULL, NULL, 1, NULL, 'system:department:delete', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-26 23:34:49', NULL, '2022-10-22 10:39:03'), - (91, '添加员工', 3, 46, NULL, NULL, NULL, 1, NULL, 'system:employee:add', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:11:38', NULL, '2022-10-22 10:39:03'), - (92, '编辑员工', 3, 46, NULL, NULL, NULL, 1, NULL, 'system:employee:update', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:12:10', NULL, '2022-10-22 10:39:04'), - (93, '禁用启用员工', 3, 46, NULL, NULL, NULL, 1, NULL, 'system:employee:disabled', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:12:37', NULL, '2022-10-22 10:39:05'), - (94, '调整部门', 3, 46, NULL, NULL, NULL, 1, NULL, 'system:employee:department:update', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:12:59', NULL, '2022-10-22 10:39:06'), - (95, '重置密码', 3, 46, NULL, NULL, NULL, 1, NULL, 'system:employee:password:reset', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:13:30', 1, '2022-10-20 13:39:13'), - (96, '删除员工', 3, 46, NULL, NULL, NULL, 1, NULL, 'system:employee:delete', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:14:08', NULL, '2022-10-22 10:39:07'), - (97, '添加角色', 3, 76, NULL, NULL, NULL, 1, NULL, 'system:role:add', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:34:00', 1, '2022-10-22 10:39:09'), - (98, '删除角色', 3, 76, NULL, NULL, NULL, 1, NULL, 'system:role:delete', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:34:19', 1, '2022-10-22 10:39:09'), - (99, '编辑角色', 3, 76, NULL, NULL, NULL, 1, NULL, 'system:role:update', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:34:55', NULL, '2022-10-22 10:39:10'), - (100, '更新数据范围', 3, 76, NULL, NULL, NULL, 1, NULL, 'system:role:dataScope:update', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:37:03', NULL, '2022-10-22 10:39:11'), - (101, '批量移除员工', 3, 76, NULL, NULL, NULL, 1, NULL, 'system:role:employee:batch:delete', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:39:05', NULL, '2022-10-22 10:39:38'), - (102, '移除员工', 3, 76, NULL, NULL, NULL, 1, NULL, 'system:role:employee:delete', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:39:21', NULL, '2022-10-22 10:39:39'), - (103, '添加员工', 3, 76, NULL, NULL, NULL, 1, NULL, 'system:role:employee:add', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:39:38', NULL, '2022-10-22 10:39:40'), - (104, '修改权限', 3, 76, NULL, NULL, NULL, 1, NULL, 'system:role:menu:update', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:41:55', NULL, '2022-10-22 10:39:41'), - (105, '添加', 3, 26, NULL, NULL, NULL, 1, NULL, 'system:menu:add', NULL, 26, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:44:37', 1, '2022-10-22 10:39:41'), - (106, '编辑', 3, 26, NULL, NULL, NULL, 1, NULL, 'system:menu:update', NULL, 26, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:44:59', 1, '2022-10-22 10:39:44'), - (108, '删除', 3, 26, NULL, NULL, NULL, 1, NULL, 'system:menu:delete', NULL, 26, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 00:45:55', 1, '2022-10-22 10:39:43'), - (109, '参数配置', 2, 50, 3, '/config/config-list', '/support/config/config-list.vue', NULL, NULL, NULL, 'AntDesignOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 13:34:41', 1, '2022-06-23 16:24:16'), - (110, '数据字典', 2, 50, 4, '/setting/dict', '/support/dict/index.vue', NULL, NULL, NULL, 'BarcodeOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-05-27 17:53:00', 1, '2022-05-27 18:09:14'), - (111, '监控服务', 1, 0, 4, '/monitor', NULL, NULL, NULL, NULL, 'BarChartOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-06-17 11:13:23', 1, '2022-10-22 18:32:31'), - (113, '查询', 3, 112, NULL, NULL, NULL, NULL, NULL, 'ad', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-06-17 11:31:36', NULL, '2022-06-17 11:31:36'), - (114, '运维工具', 1, 0, 5, NULL, NULL, NULL, NULL, NULL, 'NodeCollapseOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-06-20 10:09:16', 1, '2022-10-22 18:32:37'), - (117, 'Reload', 2, 114, NULL, '/hook', '/support/reload/reload-list.vue', NULL, NULL, NULL, 'ReloadOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-06-20 10:16:49', NULL, '2022-06-20 10:16:49'), - (122, '数据库监控', 2, 111, 4, '/support/druid/index', NULL, NULL, NULL, NULL, 'ConsoleSqlOutlined', NULL, 1, 'http://localhost:60001/druid/index.html', 0, 1, 0, 0, 1, '2022-06-20 14:49:33', 1, '2022-10-22 18:33:07'), - (130, '单号管理', 2, 50, 6, '/support/serial-number/serial-number-list', '/support/serial-number/serial-number-list.vue', NULL, NULL, NULL, 'NumberOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-06-24 14:45:22', 1, '2022-06-28 16:23:41'), - (132, '通知公告', 2, 138, NULL, '/oa/notice/notice-list', '/business/oa/notice/notice-list.vue', NULL, NULL, NULL, 'SoundOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-06-24 18:23:09', 1, '2022-09-14 19:54:34'), - (133, '缓存管理', 2, 114, NULL, '/support/cache/cache-list', '/support/cache/cache-list.vue', NULL, NULL, NULL, 'BorderInnerOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-06-24 18:52:25', NULL, '2022-06-24 18:52:25'), - (137, '进销存系统', 1, 0, 2, NULL, NULL, NULL, NULL, NULL, 'AccountBookOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-06-24 20:07:20', 1, '2022-10-22 18:30:19'), - (138, 'OA系统', 1, 0, 1, NULL, NULL, NULL, NULL, NULL, 'BankOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-06-24 20:09:18', 1, '2022-10-22 18:30:15'), - (142, '公告详情', 2, 132, NULL, '/oa/notice/notice-detail', '/business/oa/notice/notice-detail.vue', NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, 0, 0, 1, '2022-06-25 16:38:47', 1, '2022-09-14 19:46:17'), - (143, '登录日志', 2, 111, 2, '/support/login-log/login-log-list', '/support/login-log/login-log-list.vue', NULL, NULL, NULL, 'LoginOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-06-28 15:01:38', 1, '2022-10-22 18:33:03'), - (144, '企业信息', 2, 138, 2, '/oa/enterprise/enterprise-list', '/business/oa/enterprise/enterprise-list.vue', NULL, NULL, NULL, 'ShopOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-09-14 17:00:07', 1, '2022-09-14 19:04:58'), - (145, '企业详情', 2, 144, NULL, '/oa/enterprise/enterprise-detail', '/business/oa/enterprise/enterprise-detail.vue', NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, 0, 0, 1, '2022-09-14 18:52:52', NULL, '2022-09-14 18:52:52'), - (146, '系统文档', 1, 0, 3, NULL, NULL, NULL, NULL, NULL, 'FileWordOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-09-14 19:56:53', 1, '2022-10-22 18:30:26'), - (147, '系统手册', 2, 146, NULL, '/help-doc/help-doc-manage-list', '/support/help-doc/management/help-doc-manage-list.vue', NULL, NULL, NULL, 'FolderViewOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-09-14 19:59:01', NULL, '2022-09-14 19:59:01'), - (148, '意见反馈', 2, 146, NULL, '/feedback/feedback-list', '/support/feedback/feedback-list.vue', NULL, NULL, NULL, 'CoffeeOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-09-14 19:59:52', 1, '2022-09-14 20:00:37'), - (149, '我的通知', 2, 132, NULL, '/oa/notice/notice-employee-list', '/business/oa/notice/notice-employee-list.vue', NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, 0, 0, 1, '2022-09-14 20:29:41', 1, '2022-09-14 20:31:23'), - (150, '我的通知公告详情', 2, 132, NULL, '/oa/notice/notice-employee-detail', '/business/oa/notice/notice-employee-detail.vue', NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, 0, 0, 1, '2022-09-14 20:30:25', 1, '2022-09-14 20:31:38'), - (151, '代码生成', 2, 0, 600, '/support/code-generator', '/support/code-generator/code-generator-list.vue', NULL, NULL, NULL, 'CoffeeOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-09-21 18:25:05', 1, '2022-10-22 11:27:58'), - (152, '更新日志', 2, 146, 3, '/support/change-log/change-log-list', '/support/change-log/change-log-list.vue', NULL, NULL, NULL, 'HeartOutlined', NULL, 0, NULL, 0, 1, 0, 0, 44, '2022-10-10 10:31:20', 44, '2022-10-10 10:31:45'), - (153, '清除缓存', 3, 133, NULL, NULL, NULL, 1, NULL, 'support:cache:delete', NULL, 133, 0, NULL, 0, 1, 1, 0, 1, '2022-10-15 22:45:13', 1, '2022-10-21 20:37:13'), - (154, '获取缓存key', 3, 133, NULL, NULL, NULL, NULL, NULL, 'support:cache:keys', NULL, 133, 0, NULL, 0, 1, 1, 0, 1, '2022-10-15 22:45:48', 1, '2022-10-15 23:40:09'), - (155, '执行', 3, 117, NULL, NULL, NULL, 1, NULL, 'support:reload:execute', NULL, 117, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:16:45', 1, '2022-10-22 10:37:33'), - (156, '查看结果', 3, 117, NULL, NULL, NULL, 1, NULL, 'support:reload:result', NULL, 117, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:17:23', 1, '2022-10-22 10:37:36'), - (157, '单号生成', 3, 130, NULL, NULL, NULL, 1, NULL, 'support:serial:number:generate', NULL, 130, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:21:06', 1, '2022-10-22 10:36:34'), - (158, '生成记录', 3, 130, NULL, NULL, NULL, 1, NULL, 'support:serial:number:record', NULL, 130, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:21:34', 1, '2022-10-22 10:36:42'), - (159, '新建', 3, 110, NULL, NULL, NULL, 1, NULL, 'support:dict:add', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:23:51', NULL, '2022-10-22 10:41:07'), - (160, '编辑', 3, 110, NULL, NULL, NULL, 1, NULL, 'support:dict:update', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:24:05', NULL, '2022-10-22 10:41:08'), - (161, '批量删除', 3, 110, NULL, NULL, NULL, 1, NULL, 'support:dict:batch:delete', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:24:34', NULL, '2022-10-22 10:41:09'), - (162, '刷新缓存', 3, 110, NULL, NULL, NULL, 1, NULL, 'support:dict:refresh', NULL, 110, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:24:55', NULL, '2022-10-22 10:41:10'), - (163, '新建', 3, 109, NULL, NULL, NULL, 1, NULL, 'support:config:add', NULL, 109, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:26:56', NULL, '2022-10-22 10:41:10'), - (164, '编辑', 3, 109, NULL, NULL, NULL, 11, NULL, 'support:config:update', NULL, 109, 0, NULL, 0, 1, 0, 0, 1, '2022-10-15 23:27:07', NULL, '2022-10-22 10:41:12'), - (165, '查询', 3, 47, NULL, NULL, NULL, 1, NULL, 'goods:query', NULL, 47, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 19:55:39', NULL, '2022-10-22 10:41:13'), - (166, '新建', 3, 47, NULL, NULL, NULL, 1, NULL, 'goods:add', NULL, 47, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 19:56:00', NULL, '2022-10-22 10:41:14'), - (167, '批量删除', 3, 47, NULL, NULL, NULL, 1, NULL, 'goods:batchDelete', NULL, 47, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 19:56:15', NULL, '2022-10-22 10:41:15'), - (168, '查询', 3, 147, NULL, NULL, NULL, 1, NULL, 'helpDoc:query', NULL, 147, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:12:13', NULL, '2022-10-22 10:41:17'), - (169, '新建', 3, 147, NULL, NULL, NULL, 1, NULL, 'helpDoc:add', NULL, 147, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:12:37', 1, '2022-10-21 20:49:24'), - (170, '新建目录', 3, 147, NULL, NULL, NULL, 1, NULL, 'helpDocCatalog:addCategory', NULL, 147, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:12:57', NULL, '2022-10-22 10:41:18'), - (171, '修改目录', 3, 147, NULL, NULL, NULL, 1, NULL, 'helpDocCatalog:edit', NULL, 147, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:13:46', 1, '2022-10-21 20:50:01'), - (173, '新建', 3, 78, NULL, NULL, NULL, 1, NULL, 'goodsCategory:add', NULL, 78, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:17:02', NULL, '2022-10-22 10:41:19'), - (174, '添加子分类', 3, 78, NULL, NULL, NULL, 1, NULL, 'goodsCategory:addChild', NULL, 78, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:17:22', NULL, '2022-10-22 10:41:21'), - (175, '编辑', 3, 78, NULL, NULL, NULL, 1, NULL, 'goodsCategory:edit', NULL, 78, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:17:38', NULL, '2022-10-22 10:41:22'), - (176, '删除', 3, 78, NULL, NULL, NULL, 1, NULL, 'goodsCategory:delete', NULL, 78, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:17:50', NULL, '2022-10-22 10:41:22'), - (177, '新建', 3, 79, NULL, NULL, NULL, 1, NULL, 'customCategory:add', NULL, 78, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:17:02', NULL, '2022-10-22 10:41:23'), - (178, '添加子分类', 3, 79, NULL, NULL, NULL, 1, NULL, 'customCategory:addChild', NULL, 78, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:17:22', NULL, '2022-10-22 10:41:24'), - (179, '编辑', 3, 79, NULL, NULL, NULL, 1, NULL, 'customCategory:edit', NULL, 78, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:17:38', NULL, '2022-10-22 10:41:24'), - (180, '删除', 3, 79, NULL, NULL, NULL, 1, NULL, 'customCategory:delete', NULL, 78, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:17:50', NULL, '2022-10-22 10:41:25'), - (181, '查询', 3, 144, NULL, NULL, NULL, 2, 'EnterpriseController.deleteEnterprise', 'enterprise:query', NULL, 144, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:25:14', 1, '2022-10-21 20:15:12'), - (182, '新建', 3, 144, NULL, NULL, NULL, 2, 'EnterpriseController.createEnterprise', 'enterprise:add', NULL, 144, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:25:25', 1, '2022-10-21 20:15:30'), - (183, '编辑', 3, 144, NULL, NULL, NULL, 2, 'EnterpriseController.updateEnterprise', 'enterprise:edit', NULL, 144, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:25:36', 1, '2022-10-21 20:15:39'), - (184, '删除', 3, 144, NULL, NULL, NULL, 2, 'EnterpriseController.deleteEnterprise', 'enterprise:delete', NULL, 144, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:25:53', 1, '2022-10-21 20:11:24'), - (185, '查询', 3, 132, NULL, NULL, NULL, 2, 'NoticeController.query', 'notice:query', NULL, 132, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:26:38', 1, '2022-10-21 20:19:24'), - (186, '新建', 3, 132, NULL, NULL, NULL, 2, 'NoticeController.add', 'notice:add', NULL, 132, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:27:04', 1, '2022-10-21 20:19:49'), - (187, '编辑', 3, 132, NULL, NULL, NULL, 2, 'NoticeController.update', 'notice:edit', NULL, 132, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:27:15', 1, '2022-10-21 20:21:16'), - (188, '删除', 3, 132, NULL, NULL, NULL, 2, 'NoticeController.delete', 'notice:delete', NULL, 132, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:27:23', 1, '2022-10-21 20:21:25'), - (189, '查询', 3, 148, NULL, NULL, NULL, 1, NULL, 'feedback:query', NULL, 148, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:28:04', 1, '2022-10-22 10:38:46'), - (190, '查询', 3, 152, NULL, NULL, NULL, 1, NULL, 'changeLog:query', NULL, 152, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:28:33', 1, '2022-10-21 20:42:00'), - (191, '新建', 3, 152, NULL, NULL, NULL, 1, NULL, 'changeLog:add', NULL, 152, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:28:46', 1, '2022-10-21 20:42:09'), - (192, '批量删除', 3, 152, NULL, NULL, NULL, 1, NULL, 'changeLog:batchDelete', NULL, 152, 0, NULL, 0, 1, 0, 0, 1, '2022-10-16 20:29:10', 1, '2022-10-21 20:42:16'), - (193, '文件管理', 2, 50, 20, '/support/file/file-list', '/support/file/file-list.vue', NULL, NULL, NULL, 'FolderOpenOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-21 11:26:11', 1, '2022-10-22 11:29:22'), - (194, '删除', 3, 47, NULL, NULL, NULL, 1, NULL, 'goods:delete', NULL, 47, 0, NULL, 0, 1, 0, 0, 1, '2022-10-21 20:00:12', 1, '2022-10-21 20:04:58'), - (195, '修改', 3, 47, NULL, NULL, NULL, 1, NULL, 'goods:update', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-21 20:05:23', NULL, '2022-10-21 20:05:23'), - (196, '查看详情', 3, 145, NULL, NULL, NULL, 2, 'EnterpriseController.getDetail', 'enterprise:detail', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-21 20:16:47', NULL, '2022-10-21 20:16:47'), - (198, '删除', 3, 152, NULL, NULL, NULL, 1, NULL, 'changeLog:delete', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-21 20:42:34', NULL, '2022-10-21 20:42:34'), - (199, '查询', 3, 109, NULL, NULL, NULL, 1, NULL, 'support:config:query', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-21 20:45:14', NULL, '2022-10-21 20:45:14'), - (200, '查询', 3, 193, NULL, NULL, NULL, 1, NULL, 'support:file:query', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-21 20:47:23', 1, '2022-10-22 11:21:10'), - (201, '删除', 3, 147, NULL, NULL, NULL, 1, NULL, 'helpDoc:delete', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-21 21:03:20', NULL, '2022-10-21 21:03:20'), - (202, '更新', 3, 147, NULL, NULL, NULL, 1, NULL, 'helpDoc:update', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-21 21:03:32', NULL, '2022-10-21 21:03:32'), - (203, '查询', 3, 143, NULL, NULL, NULL, 1, NULL, 'loginLog:query', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-21 21:05:11', NULL, '2022-10-21 21:05:11'), - (204, '查询', 3, 81, NULL, NULL, NULL, 1, NULL, 'operateLog:query', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-22 10:33:31', NULL, '2022-10-22 10:33:31'), - (205, '详情', 3, 81, NULL, NULL, NULL, 1, NULL, 'operateLog:detail', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-22 10:33:49', NULL, '2022-10-22 10:33:49'), - (206, '心跳监控', 2, 111, 1, '/support/heart-beat/heart-beat-list', '/support/heart-beat/heart-beat-list.vue', 1, NULL, NULL, 'FallOutlined', NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-22 10:47:03', 1, '2022-10-22 18:32:52'), - (207, '更新', 3, 152, NULL, NULL, NULL, 1, NULL, 'changeLog:update', NULL, NULL, 0, NULL, 0, 1, 0, 0, 1, '2022-10-22 11:51:32', NULL, '2022-10-22 11:51:32'); -/*!40000 ALTER TABLE `t_menu` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_notice 结构 -DROP TABLE IF EXISTS `t_notice`; -CREATE TABLE IF NOT EXISTS `t_notice` ( - `notice_id` bigint NOT NULL AUTO_INCREMENT, - `notice_type_id` bigint NOT NULL COMMENT '类型1公告 2动态', - `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '标题', - `all_visible_flag` tinyint(1) NOT NULL COMMENT '是否全部可见', - `scheduled_publish_flag` tinyint(1) NOT NULL COMMENT '是否定时发布', - `publish_time` datetime NOT NULL COMMENT '发布时间', - `content_text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '文本内容', - `content_html` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'html内容', - `attachment` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '附件', - `page_view_count` int NOT NULL DEFAULT '0' COMMENT '页面浏览量,传说中的pv', - `user_view_count` int NOT NULL DEFAULT '0' COMMENT '用户浏览量,传说中的uv', - `source` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '来源', - `author` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '作者', - `document_number` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '文号,如:1024创新实验室发〔2022〕字第36号', - `deleted_flag` tinyint(1) NOT NULL DEFAULT '0', - `create_user_id` bigint DEFAULT NULL COMMENT '创建人', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`notice_id`) -) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='通知'; - --- 正在导出表 smart_admin_v2.t_notice 的数据:~27 rows (大约) -DELETE FROM `t_notice`; -/*!40000 ALTER TABLE `t_notice` DISABLE KEYS */; -INSERT INTO `t_notice` (`notice_id`, `notice_type_id`, `title`, `all_visible_flag`, `scheduled_publish_flag`, `publish_time`, `content_text`, `content_html`, `attachment`, `page_view_count`, `user_view_count`, `source`, `author`, `document_number`, `deleted_flag`, `create_user_id`, `update_time`, `create_time`) VALUES - (49, 1, 'Spring Boot 3.0.0 首个 RC 发布', 1, 0, '2022-10-22 14:27:34', 'Spring Boot 3.0.0 首个 RC 发布\nSpring Boot 3.0 首个 RC 已发布,此外还为两个分支发布了更新:2.7.5 & 2.6.13。\n3.0.0-RC1\n发布公告写道,此版本包含 135 项功能增强、文档改进、依赖升级和 Bugfix。\nSpring Boot 3.0 的开发工作始于实验性的 Spring Native,旨在为 GraalVM 原生镜像提供支持。在该版本中,开发者现在可以使用标准 Spring Boot Maven 或 Gradle 插件将 Spring Boot 应用程序转换为原生可执行文件,而无需任何特殊配置。\n此版本还在参考文档中添加新内容来解释 AOT 处理背后的概念以及如何开始生成第一个 GraalVM 原生镜像。\n除此之外,Spring Boot 3.0 还完成了迁移到 JakartaEE 9 的工作,以及将使用的 Java 版本升级到 Java 17。\n其他新特性:\n为 Spring Data JDBC 提供更灵活的自动配置为 Prometheus 示例提供自动配置增强 Log4j2 功能,包括配置文件支持和环境属性查找\n详情查看 Release Note。\nSpring Boot 2.7.5 和 2.6.13 的更新内容主要是修复错误,优化文档和升级依赖,详情查看 Release Note (2.7.5、2.6.13)。\n相关链接\nSpring Boot 的详细介绍:点击查看Spring Boot 的下载地址:点击下载', '

Spring Boot 3.0.0 首个 RC 发布

Spring Boot 3.0 首个 RC 已发布,此外还为两个分支发布了更新:2.7.5 & 2.6.13。

3.0.0-RC1

发布公告写道,此版本包含 135 项功能增强、文档改进、依赖升级和 Bugfix。

Spring Boot 3.0 的开发工作始于实验性的 Spring Native,旨在为 GraalVM 原生镜像提供支持。在该版本中,开发者现在可以使用标准 Spring Boot Maven 或 Gradle 插件将 Spring Boot 应用程序转换为原生可执行文件,而无需任何特殊配置。

此版本还在参考文档中添加新内容来解释 AOT 处理背后的概念以及如何开始生成第一个 GraalVM 原生镜像。

除此之外,Spring Boot 3.0 还完成了迁移到 JakartaEE 9 的工作,以及将使用的 Java 版本升级到 Java 17。

其他新特性:

为 Spring Data JDBC 提供更灵活的自动配置为 Prometheus 示例提供自动配置增强 Log4j2 功能,包括配置文件支持和环境属性查找

详情查看 Release Note。

Spring Boot 2.7.5 和 2.6.13 的更新内容主要是修复错误,优化文档和升级依赖,详情查看 Release Note (2.7.5、2.6.13)。

相关链接

Spring Boot 的详细介绍:点击查看Spring Boot 的下载地址:点击下载

', '', 0, 0, '开源中国', '卓大', NULL, 0, 1, '2022-10-22 14:27:33', '2022-10-22 14:27:33'), - (50, 1, 'Oracle 推出 JDK 8 的直接替代品', 1, 0, '2022-10-22 14:29:56', 'Oracle 推出 JDK 8 的直接替代品\n来源: OSCHINA\n编辑: 白开水不加糖\n2022-10-20 08:14:29\n 0\n为了向传统的 Java 8 服务器工作负载提供 Java 17 级别的性能,Oracle 宣布推出 Java SE Subscription Enterprise Performance Pack (Enterprise Performance Pack)。并声称这是 JDK 8 的直接替代品,现已在 MyOracleSupport 上面向所有 Java SE 订阅客户和 Oracle 云基础设施 (OCI) 用户免费提供。\n“Enterprise Performance Pack 为 JDK 8 用户提供了在 JDK 8 和 JDK 17 发布之间的 7 年时间里,为 Java 带来的重大内存管理和性能改进。这些改进包括:现代垃圾回收算法、紧凑字符串、增强的可观察性和数十种其他优化。”\nJava 8 发布于 2014 年,和 Java 17 一样都是长期支持 (LTS) 版本;尽管发布距今已有近九年的历史,但仍被很多开发人员和组织所广泛应用。New Relic 发布的一份 “2022 年 Java 生态系统状况报告” 数据表明,Java 8 仍被 46.45% 的 Java 应用程序在生产中使用。\n根据介绍,Enterprise Performance Pack 在 Intel 和基于 Arm 的系统(如 Ampere Altra)上支持 headless Linux 64 位工作负载。\nOracle 方面称,使用 Enterprise Performance Pack 的客户将可以立即看到以或接近内存或 CPU 容量运行的 JDK 8 工作负载的好处。在 Oracle 自己的产品和云服务进行的测试表明,高负载应用程序的内存和性能都提高了大约 40%。即使没有接近容量运行的 JDK 8 应用程序,也可以会看到高达 5% 的性能提升。\n虽然 Enterprise Performance Pack 中包含的许多改进可以通过默认选项获得,但 Oracle 建议用户还是自己研究文档,以最大限度地提高性能并最大限度地降低内存使用率。例如,通过启用可扩展的低延迟 ZGC 垃圾收集器来提高应用程序响应能力,需要通过 -XX:+UseZGC 选项。', '

Oracle 推出 JDK 8 的直接替代品

来源: OSCHINA

编辑: 白开水不加糖

2022-10-20 08:14:29

 0

为了向传统的 Java 8 服务器工作负载提供 Java 17 级别的性能,Oracle 宣布推出 Java SE Subscription Enterprise Performance Pack (Enterprise Performance Pack)。并声称这是 JDK 8 的直接替代品,现已在 MyOracleSupport 上面向所有 Java SE 订阅客户和 Oracle 云基础设施 (OCI) 用户免费提供。

“Enterprise Performance Pack 为 JDK 8 用户提供了在 JDK 8 和 JDK 17 发布之间的 7 年时间里,为 Java 带来的重大内存管理和性能改进。这些改进包括:现代垃圾回收算法、紧凑字符串、增强的可观察性和数十种其他优化。”

Java 8 发布于 2014 年,和 Java 17 一样都是长期支持 (LTS) 版本;尽管发布距今已有近九年的历史,但仍被很多开发人员和组织所广泛应用。New Relic 发布的一份 “2022 年 Java 生态系统状况报告” 数据表明,Java 8 仍被 46.45% 的 Java 应用程序在生产中使用。

根据介绍,Enterprise Performance Pack 在 Intel 和基于 Arm 的系统(如 Ampere Altra)上支持 headless Linux 64 位工作负载。

Oracle 方面称,使用 Enterprise Performance Pack 的客户将可以立即看到以或接近内存或 CPU 容量运行的 JDK 8 工作负载的好处。在 Oracle 自己的产品和云服务进行的测试表明,高负载应用程序的内存和性能都提高了大约 40%。即使没有接近容量运行的 JDK 8 应用程序,也可以会看到高达 5% 的性能提升。

虽然 Enterprise Performance Pack 中包含的许多改进可以通过默认选项获得,但 Oracle 建议用户还是自己研究文档,以最大限度地提高性能并最大限度地降低内存使用率。例如,通过启用可扩展的低延迟 ZGC 垃圾收集器来提高应用程序响应能力,需要通过 -XX:+UseZGC 选项。

', '', 0, 0, 'OSChina', '卓大', NULL, 0, 1, '2022-10-22 14:29:56', '2022-10-22 14:29:56'), - (51, 1, 'Spring Framework 6.0.0 RC2 发布', 1, 0, '2022-10-22 14:30:46', 'Spring Framework 6.0.0 RC2 发布\nSpring Framework 6.0.0 发布了第二个 RC 版本。\n新特性\n确保可以在构建时评估 classpath 检查 #29352为 JPA 持久化回调引入 Register 反射提示 #29348检查 @RegisterReflectionForBinding 是否至少指定一个类 #29346为 AOT 引擎设置引入 builder API #29341支持检测正在进行的 AOT 处理 #29340重新组织 HTTP Observation 类型 #29334支持在没有 java.beans.Introspector 的前提下,执行基本属性判断 #29320为BindingReflectionHintsRegistrar 添加 Kotlin 数据类组件支持 #29316将 HttpServiceFactory 和 RSocketServiceProxyFactory 切换到 builder 模型,以便优先进行可编程配置 #29296引入基于 GraalVM FieldValueTransformer API 的 PreComputeFieldFeature#29081在 TestContext 框架中引入 SPI 来处理 ApplicationContext 故障 #28826SimpleEvaluationContext 支持禁用 array 分配 #28808DateTimeFormatterRegistrar 支持默认回退到 ISO 解析 #26985\nSpring Framework 6.0 作为重大更新,要求使用 Java 17 或更高版本,并且已迁移到 Jakarta EE 9+(在 jakarta 命名空间中取代了以前基于 javax 的 EE API),以及对其他基础设施的修改。基于这些变化,Spring Framework 6.0 支持最新 Web 容器,如 Tomcat 10 / Jetty 11,以及最新的持久性框架 Hibernate ORM 6.1。这些特性仅可用于 Servlet API 和 JPA 的 jakarta 命名空间变体。\n值得一提的是,开发者可通过此版本在基于 Spring 的应用中体验 “虚拟线程”(JDK 19 中的预览版 “Project Loom”),查看此文章了解更多细节。现在提供了自定义选项来插入基于虚拟线程的 Executor 实现,目标是在 Project Loom 正式可用时提供 “一等公民” 的配置选项。\n除了上述的变化,Spring Framework 6.0 还包含许多其他改进和特性,例如:\n提供基于 @HttpExchange 服务接口的 HTTP 接口客户端对 RFC 7807 问题详细信息的支持Spring HTTP 客户端提供基于 Micrometer 的可观察性……\n详情查看 Release Note。\n按照发布计划,Spring Framework 6.0 将于 11 月正式 GA。', '

Spring Framework 6.0.0 RC2 发布

Spring Framework 6.0.0 发布了第二个 RC 版本

新特性

  • 确保可以在构建时评估 classpath 检查 #29352
  • 为 JPA 持久化回调引入 Register 反射提示 #29348
  • 检查 @RegisterReflectionForBinding 是否至少指定一个类 #29346
  • 为 AOT 引擎设置引入 builder API #29341
  • 支持检测正在进行的 AOT 处理 #29340
  • 重新组织 HTTP Observation 类型 #29334
  • 支持在没有 java.beans.Introspector 的前提下,执行基本属性判断 #29320
  • BindingReflectionHintsRegistrar 添加 Kotlin 数据类组件支持 #29316
  • 将 HttpServiceFactory 和 RSocketServiceProxyFactory 切换到 builder 模型,以便优先进行可编程配置 #29296
  • 引入基于 GraalVM FieldValueTransformer API 的 PreComputeFieldFeature#29081
  • 在 TestContext 框架中引入 SPI 来处理 ApplicationContext 故障 #28826
  • SimpleEvaluationContext 支持禁用 array 分配 #28808
  • DateTimeFormatterRegistrar 支持默认回退到 ISO 解析 #26985

Spring Framework 6.0 作为重大更新,要求使用 Java 17 或更高版本,并且已迁移到 Jakarta EE 9+(在 jakarta 命名空间中取代了以前基于 javax 的 EE API),以及对其他基础设施的修改。基于这些变化,Spring Framework 6.0 支持最新 Web 容器,如 Tomcat 10 / Jetty 11,以及最新的持久性框架 Hibernate ORM 6.1。这些特性仅可用于 Servlet API 和 JPA 的 jakarta 命名空间变体。

值得一提的是,开发者可通过此版本在基于 Spring 的应用中体验 “虚拟线程”(JDK 19 中的预览版 “Project Loom”),查看此文章了解更多细节。现在提供了自定义选项来插入基于虚拟线程的 Executor 实现,目标是在 Project Loom 正式可用时提供 “一等公民” 的配置选项。

除了上述的变化,Spring Framework 6.0 还包含许多其他改进和特性,例如:

详情查看 Release Note

按照发布计划,Spring Framework 6.0 将于 11 月正式 GA。

', '', 0, 0, 'CSDN', '罗伊', NULL, 0, 1, '2022-10-22 14:30:45', '2022-10-22 14:30:45'), - (52, 1, 'Windows Terminal 正式成为 Windows 11 默认终端', 1, 0, '2022-10-22 14:33:03', '今年 7 月 ,微软在 Windows 11 的 Beta 版本测试了将系统默认终端设置为 Windows Terminal 。如今该设置已登录稳定版本,从 Windows 11 22H2 版本开始,Windows Terminal 将正式成为 Windows 11 的默认设置。\n默认终端是在打开命令行应用程序时默认启动的终端模拟器。从 Windows 诞生之日起,其默认终端一直是 Windows 控制台主机 conhost.exe。此次更新则意味着,以后 Windows 11 的所有命令行应用程序都将在 Windows Terminal 中自动打开。\nWindows Terminal 拥有非常多现代化的功能,毕竟它很新( 2019 年 5 月在 Microsoft Build 上首次发布),吸取了很多现代终端的灵感。它支持多选项卡和窗格、命令面板等现代化的 UI 和操作方式,以及大量的自定义选项,比如目录、配置文件图标、自定义背景图像、配色方案、字体和透明度。\n当然,如果不想用 Windows Terminal,用户也可以在 Windows 设置中的 隐私和安全 > 开发人员页面和 Windows 终端设置 中调整默认终端设置,(此更新使用 “让 Windows 决定” 作为默认选择,即默认采用 Windows Terminal) 。\n此外,如果在更新之前就已设置其他默认终端,此次更新不会覆盖你的偏好。\n关于 Windows 11 默认终端的更多详情可查看微软博客。', '

今年 7 月 ,微软在 Windows 11 的 Beta 版本测试了将系统默认终端设置为 Windows Terminal 。如今该设置已登录稳定版本,从 Windows 11 22H2 版本开始,Windows Terminal 将正式成为 Windows 11 的默认设置。

默认终端是在打开命令行应用程序时默认启动的终端模拟器。从 Windows 诞生之日起,其默认终端一直是 Windows 控制台主机 conhost.exe。此次更新则意味着,以后 Windows 11 的所有命令行应用程序都将在 Windows Terminal 中自动打开。

Windows Terminal 拥有非常多现代化的功能,毕竟它很新( 2019 年 5 月在 Microsoft Build 上首次发布),吸取了很多现代终端的灵感。它支持多选项卡和窗格、命令面板等现代化的 UI 和操作方式,以及大量的自定义选项,比如目录、配置文件图标、自定义背景图像、配色方案、字体和透明度。

当然,如果不想用 Windows Terminal,用户也可以在 Windows 设置中的 隐私和安全 > 开发人员页面和 Windows 终端设置 中调整默认终端设置,(此更新使用 “让 Windows 决定” 作为默认选择,即默认采用 Windows Terminal) 。

此外,如果在更新之前就已设置其他默认终端,此次更新不会覆盖你的偏好。

关于 Windows 11 默认终端的更多详情可查看微软博客

', '', 0, 0, '开源中国', '善逸', NULL, 0, 1, '2022-10-22 14:33:03', '2022-10-22 14:33:03'), - (53, 1, 'TypeScript 诞生 10 周年', 1, 0, '2022-10-22 14:34:56', 'TypeScript 已经诞生 10 年了。10 年前 ——2012 年 10 月 1 日,TypeScript 首次公开亮相。当时主导 TypeScript 开发的 Anders Hejlsberg 这样描述 TypeScript:\n它是 JavaScript 的类型化超集,可被编译成常用的 JavaScript。TypeScript 还可以通过启用丰富的工具体验来极大地帮助提升生产力,与此同时开发者保持不变维护现有的代码,并继续使用喜爱的 JavaScript 库。TypeScript is a typed superset of JavaScript that compiles to idiomatic (normal) JavaScript, can dramatically improve your productivity by enabling rich tooling experiences, all while maintaining your existing code and continuing to use the same JavaScript libraries you already love.\n微软在博客中回顾了 TypeScript 刚亮相时受到的评价,大多数人对它都是持怀疑态度,毕竟这对于许多 JavaScript 开发者来说,试图将静态类型引入 JavaScript 是一个笑话 —— 或是邪恶的阴谋。反对者则直言这是十分愚蠢的想法,他们认为当时已存在可以编译为 JavaScript 的强类型语言,例如 C#、Java 和 C++。他们还吐槽主导 TypeScript 开发的 Anders Hejlsberg 对静态类型有 “迷之执着”。\n当时微软意识到 JavaScript 未来将会被应用到无数场景,而且他们公司内部团队在处理复杂的 JavaScript 代码库时面临着巨大的挑战,所以他们觉得有必要创造强大的工具来帮助编写 JavaScript—— 尤其是针对大型 JavaScript 项目。基于此需求,TypeScript 也确定了自己的定位和特性,它是 JavaScript 的超集,将类型检查和静态分析、显式接口和最佳实践结合到单一语言和编译器中。通过在 JavaScript 上构建,TypeScript 能够更接近目标运行时,同时仅添加支持大型应用程序和大型团队所需的语法糖。\n团队还坚持 TypeScript 要能够与现有的 JavaScript 无缝交互,与 JavaScript 共同进化,并且看上去也和 JavaScript 类似。\nTypeScript 诞生之初的部分设计目标:\n不会对已有的程序增加运行时开销与当前和未来的 ECMAScript 提案保持一致保留所有 JavaScript 代码的运行时行为避免添加表达式类型的语法 (expression-level syntax)使用一致、完全可擦除的结构化类型系统……\n这些目标指导着 TypeScript 的发展方向:关注类型系统,成为 JavaScript 的类型检查器,只添加类型检查所需的语法,避免添加新的运行时语法和行为。\n微软提到,TypeScript 拥有如今的繁荣生态离不开一个重要属性:开源。TypeScript 一开始就是免费且开源 —— 语言规范和编译器都是开源项目,并且以真正开放的方式来运作。事实上,微软当时对外展现出的姿态并不是现在的 “拥抱开源”,所以他们内部并没真正认识到 TypeScript 的开源是如何帮助它走向成功。因此有人认为,TypeScript 在很大程度上引导微软开始更多地转向开源。\n现在,TypeScript 仍在积极发展和迭代改进,并被全球数百万开发者使用。在诸多编程语言排名、指数或开发者调查中,TypeScript 一直位居前列,也是最受欢迎和最常用的编程语言。', '

TypeScript 已经诞生 10 年了。10 年前 ——2012 年 10 月 1 日,TypeScript 首次公开亮相。当时主导 TypeScript 开发的 Anders Hejlsberg 这样描述 TypeScript:

它是 JavaScript 的类型化超集,可被编译成常用的 JavaScript。TypeScript 还可以通过启用丰富的工具体验来极大地帮助提升生产力,与此同时开发者保持不变维护现有的代码,并继续使用喜爱的 JavaScript 库。TypeScript is a typed superset of JavaScript that compiles to idiomatic (normal) JavaScript, can dramatically improve your productivity by enabling rich tooling experiences, all while maintaining your existing code and continuing to use the same JavaScript libraries you already love.

微软在博客中回顾了 TypeScript 刚亮相时受到的评价,大多数人对它都是持怀疑态度,毕竟这对于许多 JavaScript 开发者来说,试图将静态类型引入 JavaScript 是一个笑话 —— 或是邪恶的阴谋。反对者则直言这是十分愚蠢的想法,他们认为当时已存在可以编译为 JavaScript 的强类型语言,例如 C#、Java 和 C++。他们还吐槽主导 TypeScript 开发的 Anders Hejlsberg 对静态类型有 “迷之执着”。

当时微软意识到 JavaScript 未来将会被应用到无数场景,而且他们公司内部团队在处理复杂的 JavaScript 代码库时面临着巨大的挑战,所以他们觉得有必要创造强大的工具来帮助编写 JavaScript—— 尤其是针对大型 JavaScript 项目。基于此需求,TypeScript 也确定了自己的定位和特性,它是 JavaScript 的超集,将类型检查和静态分析、显式接口和最佳实践结合到单一语言和编译器中。通过在 JavaScript 上构建,TypeScript 能够更接近目标运行时,同时仅添加支持大型应用程序和大型团队所需的语法糖。

团队还坚持 TypeScript 要能够与现有的 JavaScript 无缝交互,与 JavaScript 共同进化,并且看上去也和 JavaScript 类似。

TypeScript 诞生之初的部分设计目标

  • 不会对已有的程序增加运行时开销
  • 与当前和未来的 ECMAScript 提案保持一致
  • 保留所有 JavaScript 代码的运行时行为
  • 避免添加表达式类型的语法 (expression-level syntax)
  • 使用一致、完全可擦除的结构化类型系统
  • ……

这些目标指导着 TypeScript 的发展方向:关注类型系统,成为 JavaScript 的类型检查器,只添加类型检查所需的语法,避免添加新的运行时语法和行为。

微软提到,TypeScript 拥有如今的繁荣生态离不开一个重要属性:开源。TypeScript 一开始就是免费且开源 —— 语言规范和编译器都是开源项目,并且以真正开放的方式来运作。事实上,微软当时对外展现出的姿态并不是现在的 “拥抱开源”,所以他们内部并没真正认识到 TypeScript 的开源是如何帮助它走向成功。因此有人认为,TypeScript 在很大程度上引导微软开始更多地转向开源。

现在,TypeScript 仍在积极发展和迭代改进,并被全球数百万开发者使用。在诸多编程语言排名、指数或开发者调查中,TypeScript 一直位居前列,也是最受欢迎和最常用的编程语言。

', '', 0, 0, '开源中国', '开云', NULL, 0, 1, '2022-10-22 14:34:56', '2022-10-22 14:34:56'), - (54, 1, 'JetBrains Fleet 公测,下一代 IDE', 1, 0, '2022-10-22 14:36:10', 'JetBrains 宣布首次公共预览 Fleet,所有人都可以使用。Fleet 是由 JetBrains 打造的下一代 IDE,于 2021 年首次正式推出。它是一个新的分布式多语言编辑器和 IDE,基于 JetBrains 在后端的 IntelliJ 平台,采用了全新的用户界面和分布式架构从头开始构建。\n下载 Fleet:https://www.jetbrains.com.cn/fleet/download/\n\n公告表示,自从最初宣布 Fleet 以来,有超过 137,000 人报名参加私人预览;官方最初之所以决定从封闭式预览开始,是为了能够以渐进的方式处理反馈。现如今,JetBrains Fleet 仍处于起步阶段,还有大量的工作要做。其向公众开放预览的原因有两个方面:“首先,我们认为让所有注册者再等下去是不对的,但单独邀请这么多人对我们来说也缺乏意义。面向公众开放预览对我们来说更容易。第二,也是最重要的,我们一直是一家以开放态度打造产品的公司。我们不希望 Fleet 在这方面有任何不同。”\nJetBrains 方面提供了一个图表,以显示 Fleet 目前提供支持的语言和技术,以及每个技术的状态。但值得注意的是,Fleet 仍处于早期阶段,有些事情可能无法按预期工作;所以即使有些东西被列为受支持的,也有可能存在问题。\n同时 JetBrains 也强调称,他们并不打算取代其现有的 IDE。\n因此,请不要期望在 Fleet 中看到与我们的 IDE(如 IntelliJ IDEA)完全相同的功能。尽管我们会继续开发 Fleet,我们 IDE 的所有功能也不会出现在其中。Fleet 是我们为开发者提供不同用户体验的一个机会。话虽如此,我们确实希望听到你认为 Fleet 还缺少什么功能的反馈,例如特定的重构选项、工具集成等。我们现有的 IDE 将继续发展。我们对其有很多计划,包括性能改进、新的用户界面、远程开发等等。最后,Fleet 还在底层采用了我们现有工具的智慧,所以这些工具都不会消失。\nJetBrains 透露,在未来几个月他们将致力于稳定 Fleet,并尽可能地解决得到的反馈。同时,将在以下领域开展工作:\n为插件作者提供 API 支持和 SDK–鉴于 Fleet 有一个分布式架构,我们需要努力为插件作者简化工作。 虽然我们保证会为扩展 Fleet 提供一个平台,但也请求大家在这方面多一点耐心。 性能 – 我们希望 Fleet 不仅在内存占用方面,而且在响应时间方面都能表现出色。 有很多地方我们仍然可以提高性能,我们将在这些方面努力。 主题和键盘地图 – 我们知道许多开发者已经习惯了他们现有的编辑器和 IDE,当他们转移到新的 IDE 时,往往会想念他们以前的键盘绑定和主题。 我们将致力于增加对更多主题和键盘映射的支持。 我们当然也会致力于 Vim 的模拟。\n更多详情可查看官方博客。', '

JetBrains 宣布首次公共预览 Fleet,所有人都可以使用。Fleet 是由 JetBrains 打造的下一代 IDE,于 2021 年首次正式推出。它是一个新的分布式多语言编辑器和 IDE,基于 JetBrains 在后端的 IntelliJ 平台,采用了全新的用户界面和分布式架构从头开始构建。

下载 Fleet:https://www.jetbrains.com.cn/fleet/download/


公告表示,自从最初宣布 Fleet 以来,有超过 137,000 人报名参加私人预览;官方最初之所以决定从封闭式预览开始,是为了能够以渐进的方式处理反馈。现如今,JetBrains Fleet 仍处于起步阶段,还有大量的工作要做。其向公众开放预览的原因有两个方面:“首先,我们认为让所有注册者再等下去是不对的,但单独邀请这么多人对我们来说也缺乏意义。面向公众开放预览对我们来说更容易。第二,也是最重要的,我们一直是一家以开放态度打造产品的公司。我们不希望 Fleet 在这方面有任何不同。”

JetBrains 方面提供了一个图表,以显示 Fleet 目前提供支持的语言和技术,以及每个技术的状态。但值得注意的是,Fleet 仍处于早期阶段,有些事情可能无法按预期工作;所以即使有些东西被列为受支持的,也有可能存在问题。

同时 JetBrains 也强调称,他们并不打算取代其现有的 IDE。

因此,请不要期望在 Fleet 中看到与我们的 IDE(如 IntelliJ IDEA)完全相同的功能。尽管我们会继续开发 Fleet,我们 IDE 的所有功能也不会出现在其中。Fleet 是我们为开发者提供不同用户体验的一个机会。话虽如此,我们确实希望听到你认为 Fleet 还缺少什么功能的反馈,例如特定的重构选项、工具集成等。我们现有的 IDE 将继续发展。我们对其有很多计划,包括性能改进、新的用户界面、远程开发等等。最后,Fleet 还在底层采用了我们现有工具的智慧,所以这些工具都不会消失。

JetBrains 透露,在未来几个月他们将致力于稳定 Fleet,并尽可能地解决得到的反馈。同时,将在以下领域开展工作:

  • 为插件作者提供 API 支持和 SDK–鉴于 Fleet 有一个分布式架构,我们需要努力为插件作者简化工作。 虽然我们保证会为扩展 Fleet 提供一个平台,但也请求大家在这方面多一点耐心。 
  • 性能 – 我们希望 Fleet 不仅在内存占用方面,而且在响应时间方面都能表现出色。 有很多地方我们仍然可以提高性能,我们将在这些方面努力。 
  • 主题和键盘地图 – 我们知道许多开发者已经习惯了他们现有的编辑器和 IDE,当他们转移到新的 IDE 时,往往会想念他们以前的键盘绑定和主题。 我们将致力于增加对更多主题和键盘映射的支持。 我们当然也会致力于 Vim 的模拟。

更多详情可查看官方博客

', '', 0, 0, 'CSDN', '开云', NULL, 0, 1, '2022-10-22 14:36:10', '2022-10-22 14:36:10'), - (55, 2, '1024创新实验室 十一放假通知', 1, 0, '2022-09-29 14:37:57', '国庆假期即将来临,根据国务院办公厅关于国庆节的放假安排,废纸信息网安排如下:10月1日至7日放假调休,共7天。\n衷心预祝\n国庆快乐,阖家幸福!', '

国庆假期即将来临,根据国务院办公厅关于国庆节的放假安排,废纸信息网安排如下:10月1日至7日放假调休,共7天。

衷心预祝

国庆快乐,阖家幸福!

', '', 0, 0, '人力行政部', '卓大', '1024创新实验室发〔2022〕字第36号', 0, 1, '2022-10-22 14:53:55', '2022-10-22 14:37:57'), - (56, 2, '十月份技术分享会议', 1, 0, '2022-10-08 14:40:46', '尊敬的各位技术大佬:\n1024创新实验室技术分享即将隆重举行\n现将有关会议事宜通知如下:\n一、会议内容\n1、研究探讨SmartAdmin的技术体系\n二、会议形式\n大会专题小会分组讨论;\n三、会议时间及地点\n会议报到时间:xxx1年6月14日\n会议报到地点:洛阳市', '

尊敬的各位技术大佬:

1024创新实验室技术分享即将隆重举行

现将有关会议事宜通知如下:

一、会议内容

1、研究探讨SmartAdmin的技术体系

二、会议形式

大会专题小会分组讨论;

三、会议时间及地点

会议报到时间:xxx1年6月14日

会议报到地点:洛阳市

', '', 0, 0, '技术部', '开云', '1024创新实验室发〔2022〕字第33号', 0, 1, '2022-10-22 14:53:42', '2022-10-22 14:40:45'), - (57, 2, '关于疫情防控上班通知', 1, 0, '2022-06-28 14:46:01', '近期,国内部分地区疫情频发,多地疫情出现外溢,为有效降低我市疫情输入和传播风险,洛阳市疾病预防控制中心发布疫情防控公众提示:\n一、所有入(返)洛阳人员均需提前3天向目的地社区(村居)、酒店宾馆、接待单位等所属网格进行报备,或通过“洛阳即时通系统”进行自主报备,配合做好健康码和行程码查验、核酸检测、隔离观察和健康监测等相关疫情防控措施。\n二、倡导广大群众减少跨地市出行,避免人群大范围流动引发的疫情传播扩散风险。\n三、对7天内有高风险区旅居史的人员,采取7天集中隔离医学观察;对7天内有中风险区旅居史的人员,采取7天居家隔离医学观察,如不具备居家隔离医学观察条件的,采取集中隔离医学观察。\n四、对疫情发生地出现一定范围社区传播或已实施大范围社区管控措施,基于对疫情输入风险研判结果,对近7天内来自疫情发生地所在县(市、区)的流入人员,参照中风险区旅居史人员的防控要求采取相应措施。\n五、对所有省外入(返)洛阳人员,须持有48小时内核酸检测阴性证明,抵达后进行“5天3检”,每次检测间隔24小时。推广“落地检”,按照“自愿免费即采即走,不限制流动”的原则,抵达我市后,立即进行1次核酸检测。\n六、加强重点机构场所疫情防控,坚持非必要不举办,对确需举办的培训、会展、文艺演出等大型聚集性活动,查验48小时内核酸检测阴性证明;建筑工地等人员密集型单位,查验外省(区、市)返岗人员48小时内核酸检测阴性证明;养老机构、儿童福利机构等查验探访人员48小时内核酸检测阴性证明;对进入宾馆、酒店和旅游景区等人流密集场所时,查验48小时内核酸检测阴性证明。\n七、近期有外出旅行史的人员,请密切关注疫情发生地区公布的病例和无症状感染者流调轨迹信息和中高风险区信息。有涉疫风险的人员要立即向社区(村)、住宿宾馆和单位报告,配合落实隔离医学观察。\n八、发热病人、健康码“黄码”等人员要履行个人防护责任,主动配合健康监测和核酸检测,在未排除感染风险前不出行。\n', '

近期,国内部分地区疫情频发,多地疫情出现外溢,为有效降低我市疫情输入和传播风险,洛阳市疾病预防控制中心发布疫情防控公众提示:

一、所有入(返)洛阳人员均需提前3天向目的地社区(村居)、酒店宾馆、接待单位等所属网格进行报备,或通过“洛阳即时通系统”进行自主报备,配合做好健康码和行程码查验、核酸检测、隔离观察和健康监测等相关疫情防控措施。

二、倡导广大群众减少跨地市出行,避免人群大范围流动引发的疫情传播扩散风险。

三、对7天内有高风险区旅居史的人员,采取7天集中隔离医学观察;对7天内有中风险区旅居史的人员,采取7天居家隔离医学观察,如不具备居家隔离医学观察条件的,采取集中隔离医学观察。

四、对疫情发生地出现一定范围社区传播或已实施大范围社区管控措施,基于对疫情输入风险研判结果,对近7天内来自疫情发生地所在县(市、区)的流入人员,参照中风险区旅居史人员的防控要求采取相应措施。

五、对所有省外入(返)洛阳人员,须持有48小时内核酸检测阴性证明,抵达后进行“5天3检”,每次检测间隔24小时。推广“落地检”,按照“自愿免费即采即走,不限制流动”的原则,抵达我市后,立即进行1次核酸检测。

六、加强重点机构场所疫情防控,坚持非必要不举办,对确需举办的培训、会展、文艺演出等大型聚集性活动,查验48小时内核酸检测阴性证明;建筑工地等人员密集型单位,查验外省(区、市)返岗人员48小时内核酸检测阴性证明;养老机构、儿童福利机构等查验探访人员48小时内核酸检测阴性证明;对进入宾馆、酒店和旅游景区等人流密集场所时,查验48小时内核酸检测阴性证明。

七、近期有外出旅行史的人员,请密切关注疫情发生地区公布的病例和无症状感染者流调轨迹信息和中高风险区信息。有涉疫风险的人员要立即向社区(村)、住宿宾馆和单位报告,配合落实隔离医学观察。

八、发热病人、健康码“黄码”等人员要履行个人防护责任,主动配合健康监测和核酸检测,在未排除感染风险前不出行。


', '', 0, 0, '行政部', '卓大', '1024创新实验室发〔2022〕字第40号', 0, 1, '2022-10-22 14:53:36', '2022-10-22 14:46:00'), - (58, 2, '办公室消杀关键位置通知', 1, 0, '2022-05-19 14:47:13', '开展消毒消杀是杀灭病源、切断疫情传播的有效手段,是防控疫情的重要措施。为了切实将新型冠状病毒肺炎疫情防控工作落到实处,守护好辖区居民及工作人员的身体健康和生命安全,青山镇高度重视新型冠状病毒肺炎的消杀工作,将采购的防护服,防护面罩,一次性手套,口罩,84消毒液,酒精消毒液以及喷雾工具等消毒消杀物资,分发到镇级各站所各村(社区),全镇开展消杀工作。', '

开展消毒消杀是杀灭病源、切断疫情传播的有效手段,是防控疫情的重要措施。为了切实将新型冠状病毒肺炎疫情防控工作落到实处,守护好辖区居民及工作人员的身体健康和生命安全,青山镇高度重视新型冠状病毒肺炎的消杀工作,将采购的防护服,防护面罩,一次性手套,口罩,84消毒液,酒精消毒液以及喷雾工具等消毒消杀物资,分发到镇级各站所各村(社区),全镇开展消杀工作。

', '', 0, 0, '行政部', '卓大', '1024创新实验室发〔2022〕字第26号', 0, 1, '2022-10-22 14:53:30', '2022-10-22 14:47:12'), - (59, 2, '十月份人事任命通知', 1, 0, '2022-09-22 14:50:12', '1024创新实验室发〔2022〕字第36号\n1024创新实验室发〔2022〕字第36号\n1024创新实验室发〔2022〕字第36号\n1024创新实验室发〔2022〕字第36号\n1024创新实验室发〔2022〕字第36号\n1024创新实验室发〔2022〕字第36号', '

1024创新实验室发〔2022〕字第36号

1024创新实验室发〔2022〕字第36号

1024创新实验室发〔2022〕字第36号

1024创新实验室发〔2022〕字第36号

1024创新实验室发〔2022〕字第36号

1024创新实验室发〔2022〕字第36号

', '', 0, 0, '销售部', '卓大', '1024创新实验室发〔2022〕字第30号', 0, 1, '2022-10-22 14:53:18', '2022-10-22 14:50:11'), - (60, 2, '1024创新实验室 春节放假通知', 1, 0, '2022-10-21 23:37:57', '春节假期即将来临,根据国务院办公厅关于国庆节的放假安排,废纸信息网安排如下:10月1日至7日放假调休,共7天。\n衷心预祝\n国庆快乐,阖家幸福!', '

国庆假期即将来临,根据国务院办公厅关于国庆节的放假安排,废纸信息网安排如下:10月1日至7日放假调休,共7天。

衷心预祝

国庆快乐,阖家幸福!

', '', 0, 0, '人力行政部', '卓大', '1024创新实验室发〔2022〕字第36号', 0, 1, '2022-10-22 14:53:09', '2022-10-22 14:37:57'); -/*!40000 ALTER TABLE `t_notice` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_notice_type 结构 -DROP TABLE IF EXISTS `t_notice_type`; -CREATE TABLE IF NOT EXISTS `t_notice_type` ( - `notice_type_id` bigint NOT NULL AUTO_INCREMENT COMMENT '通知类型', - `notice_type_name` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '类型名称', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`notice_type_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='通知类型'; - --- 正在导出表 smart_admin_v2.t_notice_type 的数据:~2 rows (大约) -DELETE FROM `t_notice_type`; -/*!40000 ALTER TABLE `t_notice_type` DISABLE KEYS */; -INSERT INTO `t_notice_type` (`notice_type_id`, `notice_type_name`, `create_time`, `update_time`) VALUES - (1, '公告', '2022-08-16 20:29:15', '2022-08-16 20:29:15'), - (2, '通知', '2022-08-16 20:29:20', '2022-08-16 20:29:20'); -/*!40000 ALTER TABLE `t_notice_type` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_notice_view_record 结构 -DROP TABLE IF EXISTS `t_notice_view_record`; -CREATE TABLE IF NOT EXISTS `t_notice_view_record` ( - `notice_id` int NOT NULL COMMENT '通知公告id', - `employee_id` int NOT NULL COMMENT '员工id', - `page_view_count` int DEFAULT '0' COMMENT '查看次数', - `first_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '首次ip', - `first_user_agent` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '首次用户设备等标识', - `last_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最后一次ip', - `last_user_agent` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最后一次用户设备等标识', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`notice_id`,`employee_id`) USING BTREE, - UNIQUE KEY `uk_notice_employee` (`notice_id`,`employee_id`) USING BTREE COMMENT '资讯员工' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='通知查看记录'; - --- 正在导出表 smart_admin_v2.t_notice_view_record 的数据:~36 rows (大约) -DELETE FROM `t_notice_view_record`; -/*!40000 ALTER TABLE `t_notice_view_record` DISABLE KEYS */; -INSERT INTO `t_notice_view_record` (`notice_id`, `employee_id`, `page_view_count`, `first_ip`, `first_user_agent`, `last_ip`, `last_user_agent`, `create_time`, `update_time`) VALUES - (60, 1, 1, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', NULL, NULL, '2022-10-22 18:00:25', '2022-10-22 18:00:25'); -/*!40000 ALTER TABLE `t_notice_view_record` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_notice_visible_range 结构 -DROP TABLE IF EXISTS `t_notice_visible_range`; -CREATE TABLE IF NOT EXISTS `t_notice_visible_range` ( - `notice_id` int NOT NULL COMMENT '资讯id', - `data_type` tinyint NOT NULL COMMENT '数据类型1员工 2部门', - `data_id` int NOT NULL COMMENT '员工or部门id', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - UNIQUE KEY `uk_notice_data` (`notice_id`,`data_type`,`data_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='通知可见范围'; - --- 正在导出表 smart_admin_v2.t_notice_visible_range 的数据:~0 rows (大约) -DELETE FROM `t_notice_visible_range`; -/*!40000 ALTER TABLE `t_notice_visible_range` DISABLE KEYS */; -/*!40000 ALTER TABLE `t_notice_visible_range` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_oa_bank 结构 -DROP TABLE IF EXISTS `t_oa_bank`; -CREATE TABLE IF NOT EXISTS `t_oa_bank` ( - `bank_id` bigint NOT NULL AUTO_INCREMENT COMMENT '银行信息ID', - `bank_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '开户银行', - `account_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '账户名称', - `account_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '账号', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', - `business_flag` tinyint(1) NOT NULL COMMENT '是否对公', - `enterprise_id` bigint NOT NULL COMMENT '企业ID', - `disabled_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '禁用状态', - `deleted_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态', - `create_user_id` bigint NOT NULL COMMENT '创建人ID', - `create_user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`bank_id`) USING BTREE, - KEY `idx_enterprise_id` (`enterprise_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='OA银行信息\n'; - --- 正在导出表 smart_admin_v2.t_oa_bank 的数据:~21 rows (大约) -DELETE FROM `t_oa_bank`; -/*!40000 ALTER TABLE `t_oa_bank` DISABLE KEYS */; -INSERT INTO `t_oa_bank` (`bank_id`, `bank_name`, `account_name`, `account_number`, `remark`, `business_flag`, `enterprise_id`, `disabled_flag`, `deleted_flag`, `create_user_id`, `create_user_name`, `create_time`, `update_time`) VALUES - (26, '工商银行', '1024创新实验室', '1024', '基本户', 1, 2, 0, 0, 1, '管理员', '2022-10-22 17:58:43', '2022-10-22 17:58:43'), - (27, '建设银行', '1024创新实验室', '10241', '其他户', 0, 2, 0, 0, 1, '管理员', '2022-10-22 17:59:19', '2022-10-22 17:59:19'); -/*!40000 ALTER TABLE `t_oa_bank` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_oa_enterprise 结构 -DROP TABLE IF EXISTS `t_oa_enterprise`; -CREATE TABLE IF NOT EXISTS `t_oa_enterprise` ( - `enterprise_id` bigint NOT NULL AUTO_INCREMENT COMMENT '企业ID', - `enterprise_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '企业名称', - `enterprise_logo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '企业logo', - `type` int NOT NULL DEFAULT '1' COMMENT '类型(1:有限公司;2:合伙公司)', - `unified_social_credit_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '统一社会信用代码', - `contact` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '联系人', - `contact_phone` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '联系人电话', - `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '邮箱', - `province` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '省份', - `province_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '省份名称', - `city` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '市', - `city_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '城市名称', - `district` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '区县', - `district_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '区县名称', - `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '详细地址', - `business_license` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '营业执照', - `disabled_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '禁用状态', - `deleted_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态', - `create_user_id` bigint NOT NULL COMMENT '创建人ID', - `create_user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`enterprise_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=119 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='OA企业模块\r\n'; - --- 正在导出表 smart_admin_v2.t_oa_enterprise 的数据:~14 rows (大约) -DELETE FROM `t_oa_enterprise`; -/*!40000 ALTER TABLE `t_oa_enterprise` DISABLE KEYS */; -INSERT INTO `t_oa_enterprise` (`enterprise_id`, `enterprise_name`, `enterprise_logo`, `type`, `unified_social_credit_code`, `contact`, `contact_phone`, `email`, `province`, `province_name`, `city`, `city_name`, `district`, `district_name`, `address`, `business_license`, `disabled_flag`, `deleted_flag`, `create_user_id`, `create_user_name`, `create_time`, `update_time`) VALUES - (1, '1024创新区块链实验室', 'public/common/f4a76fa720814949a610f05f6f9545bf_20221022170256_jpg', 1, '1024lab_block', '开云', '18637925892', NULL, '410000', '河南省', '410300', '洛阳市', '410311', '洛龙区', '区块链大楼', 'public/common/852b7e19bef94af39c1a6156edf47cfb_20221022170332_jpg', 0, 0, 1, '管理员', '2021-10-22 17:03:35', '2022-10-22 17:04:18'), - (2, '1024创新实验室', 'public/common/fb827d63dda74a60ab8b4f70cc7c7d0a_20221022145641_jpg', 1, '1024lab', '卓大', '18637925892', 'lab1024@163.com', '410000', '河南省', '410300', '洛阳市', '410311', '洛龙区', '1024大楼', NULL, 0, 0, 44, '卓大', '2022-10-22 14:57:36', '2022-10-22 17:03:57'); -/*!40000 ALTER TABLE `t_oa_enterprise` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_oa_enterprise_employee 结构 -DROP TABLE IF EXISTS `t_oa_enterprise_employee`; -CREATE TABLE IF NOT EXISTS `t_oa_enterprise_employee` ( - `enterprise_employee_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `enterprise_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单ID', - `employee_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '货物名称', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`enterprise_employee_id`) USING BTREE, - UNIQUE KEY `uk_enterprise_employee` (`enterprise_id`,`employee_id`) USING BTREE, - KEY `idx_employee_id` (`employee_id`) USING BTREE, - KEY `idx_enterprise_id` (`enterprise_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=157 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='企业关联的员工'; - --- 正在导出表 smart_admin_v2.t_oa_enterprise_employee 的数据:~63 rows (大约) -DELETE FROM `t_oa_enterprise_employee`; -/*!40000 ALTER TABLE `t_oa_enterprise_employee` DISABLE KEYS */; -INSERT INTO `t_oa_enterprise_employee` (`enterprise_employee_id`, `enterprise_id`, `employee_id`, `update_time`, `create_time`) VALUES - (154, '2', '2', '2022-10-22 17:57:50', '2022-10-22 17:57:50'), - (155, '2', '44', '2022-10-22 17:57:50', '2022-10-22 17:57:50'); -/*!40000 ALTER TABLE `t_oa_enterprise_employee` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_oa_invoice 结构 -DROP TABLE IF EXISTS `t_oa_invoice`; -CREATE TABLE IF NOT EXISTS `t_oa_invoice` ( - `invoice_id` bigint NOT NULL AUTO_INCREMENT COMMENT '发票信息ID', - `invoice_heads` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '开票抬头', - `taxpayer_identification_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '纳税人识别号', - `account_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '银行账户', - `bank_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '开户行', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', - `enterprise_id` bigint NOT NULL COMMENT '企业ID', - `disabled_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '禁用状态', - `deleted_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态', - `create_user_id` bigint NOT NULL COMMENT '创建人ID', - `create_user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`invoice_id`) USING BTREE, - KEY `idx_enterprise_id` (`enterprise_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='OA发票信息\n'; - --- 正在导出表 smart_admin_v2.t_oa_invoice 的数据:~14 rows (大约) -DELETE FROM `t_oa_invoice`; -/*!40000 ALTER TABLE `t_oa_invoice` DISABLE KEYS */; -INSERT INTO `t_oa_invoice` (`invoice_id`, `invoice_heads`, `taxpayer_identification_number`, `account_number`, `bank_name`, `remark`, `enterprise_id`, `disabled_flag`, `deleted_flag`, `create_user_id`, `create_user_name`, `create_time`, `update_time`) VALUES - (15, '1024创新实验室', '1024lab', '1024lab', '中国银行', '', 2, 0, 0, 1, '管理员', '2022-10-22 17:59:35', '2022-10-22 17:59:35'); -/*!40000 ALTER TABLE `t_oa_invoice` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_operate_log 结构 -DROP TABLE IF EXISTS `t_operate_log`; -CREATE TABLE IF NOT EXISTS `t_operate_log` ( - `operate_log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `operate_user_id` int NOT NULL COMMENT '用户id', - `operate_user_type` int NOT NULL COMMENT '用户类型', - `operate_user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名称', - `module` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '操作模块', - `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '操作内容', - `url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '请求路径', - `method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '请求方法', - `param` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '请求参数', - `ip` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '请求ip', - `user_agent` text COLLATE utf8mb4_unicode_ci COMMENT '请求user-agent', - `success_flag` tinyint DEFAULT NULL COMMENT '请求结果 0失败 1成功', - `fail_reason` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '失败原因', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`operate_log_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=981 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='操作记录'; - --- 正在导出表 smart_admin_v2.t_operate_log 的数据:~797 rows (大约) -DELETE FROM `t_operate_log`; -/*!40000 ALTER TABLE `t_operate_log` DISABLE KEYS */; -INSERT INTO `t_operate_log` (`operate_log_id`, `operate_user_id`, `operate_user_type`, `operate_user_name`, `module`, `content`, `url`, `method`, `param`, `ip`, `user_agent`, `success_flag`, `fail_reason`, `update_time`, `create_time`) VALUES - (1, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:40:23', '2022-10-19 19:40:23'), - (2, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:40:57', '2022-10-19 19:40:57'), - (3, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:42:04', '2022-10-19 19:42:04'), - (4, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:42:04', '2022-10-19 19:42:04'), - (5, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:42:04', '2022-10-19 19:42:04'), - (6, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":85,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:42:11', '2022-10-19 19:42:11'), - (7, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:42:12', '2022-10-19 19:42:12'), - (8, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:43:17', '2022-10-19 19:43:17'), - (9, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:43:17', '2022-10-19 19:43:17'), - (10, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:43:17', '2022-10-19 19:43:17'), - (11, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:43:19', '2022-10-19 19:43:19'), - (12, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":79,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:43:26', '2022-10-19 19:43:26'), - (13, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":80,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:43:27', '2022-10-19 19:43:27'), - (14, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:43:28', '2022-10-19 19:43:28'), - (15, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:43:28', '2022-10-19 19:43:28'), - (16, 1, 1, '管理员', '系统-员工管理', '添加员工(返回添加员工的密码) @author 卓大', '/employee/add', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.addEmployee', '[{"actualName":"李阿姨","departmentId":80,"disabledFlag":false,"gender":2,"loginName":"liayi","phone":"13123123123","updateId":1}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:43:51', '2022-10-19 19:43:51'), - (17, 1, 1, '管理员', '系统-员工管理', '添加员工(返回添加员工的密码) @author 卓大', '/employee/add', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.addEmployee', '[{"actualName":"李阿姨","departmentId":80,"disabledFlag":false,"gender":2,"loginName":"liayi","phone":"13123123109","updateId":1}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:43:57', '2022-10-19 19:43:57'), - (18, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":80,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:43:57', '2022-10-19 19:43:57'), - (19, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:56:23', '2022-10-19 19:56:23'), - (20, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:56:24', '2022-10-19 19:56:24'), - (21, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:56:49', '2022-10-19 19:56:49'), - (22, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:56:55', '2022-10-19 19:56:55'), - (23, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":78,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:56:57', '2022-10-19 19:56:57'), - (24, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":79,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:56:59', '2022-10-19 19:56:59'), - (25, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":80,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:56:59', '2022-10-19 19:56:59'), - (26, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":78,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 19:57:00', '2022-10-19 19:57:00'), - (27, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:05:25', '2022-10-19 20:05:25'), - (28, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:05:26', '2022-10-19 20:05:26'), - (29, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:05:26', '2022-10-19 20:05:26'), - (30, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":85,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:05:51', '2022-10-19 20:05:51'), - (31, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:11:08', '2022-10-19 20:11:08'), - (32, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":85,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:11:19', '2022-10-19 20:11:19'), - (33, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:11:23', '2022-10-19 20:11:23'), - (34, 1, 1, '管理员', '系统-员工管理', '查询所有员工 @author 卓大', '/employee/queryAll', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee', '[null]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter \'departmentIdList\' not found. Available parameters are [queryForm, param1]\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy116.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy137.queryEmployee(Unknown Source)\r\n at net.lab1024.sa.admin.module.system.employee.service.EmployeeService.queryAllEmployee(EmployeeService.java:368)\r\n at net.lab1024.sa.admin.module.system.employee.service.EmployeeService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.system.employee.service.EmployeeService$$EnhancerBySpringCGLIB$$1.queryAllEmployee()\r\n at net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee(EmployeeController.java:104)\r\n at net.lab1024.sa.admin.module.system.employee.controller.EmployeeController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.system.employee.controller.EmployeeController$$EnhancerBySpringCGLIB$$1.queryAllEmployee()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.binding.BindingException: Parameter \'departmentIdList\' not found. Available parameters are [queryForm, param1]\r\n at org.apache.ibatis.binding.MapperMethod$ParamMap.get(MapperMethod.java:212)\r\n at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextAccessor.getProperty(DynamicContext.java:120)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:50)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTAnd.getValueBody(ASTAnd.java:61)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32)\r\n at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:34)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.TrimSqlNode.apply(TrimSqlNode.java:55)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:46)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy156.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor244.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 134 more\r\n', '2022-10-19 20:11:23', '2022-10-19 20:11:23'), - (35, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:16:08', '2022-10-19 20:16:08'), - (36, 1, 1, '管理员', '系统-员工管理', '查询所有员工 @author 卓大', '/employee/queryAll', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee', '[null]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:16:13', '2022-10-19 20:16:13'), - (37, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:16:13', '2022-10-19 20:16:13'), - (38, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:17:41', '2022-10-19 20:17:41'), - (39, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:17:41', '2022-10-19 20:17:41'), - (40, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:17:42', '2022-10-19 20:17:42'), - (41, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:17:44', '2022-10-19 20:17:44'), - (42, 1, 1, '管理员', '系统-员工管理', '查询所有员工 @author 卓大', '/employee/queryAll', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee', '[null]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:17:44', '2022-10-19 20:17:44'), - (43, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:18:15', '2022-10-19 20:18:15'), - (44, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:18:15', '2022-10-19 20:18:15'), - (45, 1, 1, '管理员', '系统-员工管理', '添加员工(返回添加员工的密码) @author 卓大', '/employee/add', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.addEmployee', '[{"actualName":"卓大","departmentId":1,"disabledFlag":false,"gender":1,"loginName":"zhuoda","phone":"18637925892","roleIdList":[1],"updateId":1}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:18:31', '2022-10-19 20:18:31'), - (46, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:21:42', '2022-10-19 20:21:42'), - (47, 1, 1, '管理员', '系统-员工管理', '查询所有员工 @author 卓大', '/employee/queryAll', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee', '[null]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:21:50', '2022-10-19 20:21:50'), - (48, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:21:50', '2022-10-19 20:21:50'), - (49, 1, 1, '管理员', '系统-员工管理', '查询所有员工 @author 卓大', '/employee/queryAll', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee', '[null]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:21:59', '2022-10-19 20:21:59'), - (50, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:22:05', '2022-10-19 20:22:05'), - (51, 1, 1, '管理员', '系统-员工管理', '查询所有员工 @author 卓大', '/employee/queryAll', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee', '[null]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:22:05', '2022-10-19 20:22:05'), - (52, 1, 1, '管理员', '系统-部门管理', '添加部门 @author 卓大', '/department/add', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.addDepartment', '[{"managerId":44,"name":"开发部","parentId":1,"sort":1000}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:22:23', '2022-10-19 20:22:23'), - (53, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:22:23', '2022-10-19 20:22:23'), - (54, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:22:25', '2022-10-19 20:22:25'), - (55, 1, 1, '管理员', '系统-员工管理', '查询所有员工 @author 卓大', '/employee/queryAll', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee', '[null]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:22:26', '2022-10-19 20:22:26'), - (56, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:23:00', '2022-10-19 20:23:00'), - (57, 1, 1, '管理员', '系统-员工管理', '查询所有员工 @author 卓大', '/employee/queryAll', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee', '[null]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:23:00', '2022-10-19 20:23:00'), - (58, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":2,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:23:28', '2022-10-19 20:23:28'), - (59, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:23:30', '2022-10-19 20:23:30'), - (60, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:23:38', '2022-10-19 20:23:38'), - (61, 1, 1, '管理员', '系统-员工管理', '批量调整员工部门 @author 卓大', '/employee/update/batch/department', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.batchUpdateDepartment', '[{"departmentId":2,"employeeIdList":[48,63,64]}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:23:40', '2022-10-19 20:23:40'), - (62, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:23:41', '2022-10-19 20:23:41'), - (63, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:23:48', '2022-10-19 20:23:48'), - (64, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:23:49', '2022-10-19 20:23:49'), - (65, 1, 1, '管理员', '系统-角色', '更新角色 @author 卓大', '/role/update', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.updateRole', '[{"remark":"","roleId":1,"roleName":"技术总监"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:24:09', '2022-10-19 20:24:09'), - (66, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:24:09', '2022-10-19 20:24:09'), - (67, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:11', '2022-10-19 20:25:11'), - (68, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:11', '2022-10-19 20:25:11'), - (69, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/34', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[34]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:13', '2022-10-19 20:25:13'), - (70, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/35', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[35]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:13', '2022-10-19 20:25:13'), - (71, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/36', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[36]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:14', '2022-10-19 20:25:14'), - (72, 1, 1, '管理员', '系统-系统-数据范围', '获取当前系统所配置的所有数据范围 @author 罗伊', '/dataScope/list', 'net.lab1024.sa.admin.module.system.datascope.DataScopeController.dataScopeList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:15', '2022-10-19 20:25:15'), - (73, 1, 1, '管理员', '系统-角色-数据范围', '获取某角色所设置的数据范围 @author 卓大', '/role/dataScope/getRoleDataScopeList/36', 'net.lab1024.sa.admin.module.system.role.controller.RoleDataScopeController.dataScopeListByRole', '[36]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:15', '2022-10-19 20:25:15'), - (74, 1, 1, '管理员', '系统-角色-员工', '查询某个角色下的员工列表 @author 卓大', '/role/employee/queryEmployee', 'net.lab1024.sa.admin.module.system.role.controller.RoleEmployeeController.queryEmployee', '[{"pageNum":1,"pageSize":15,"roleId":"36"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:17', '2022-10-19 20:25:17'), - (75, 1, 1, '管理员', '系统-角色-员工', '获取某个角色下的所有员工列表(无分页) @author 卓大', '/role/employee/getAllEmployeeByRoleId/36', 'net.lab1024.sa.admin.module.system.role.controller.RoleEmployeeController.listAllEmployeeRoleId', '[36]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:20', '2022-10-19 20:25:20'), - (76, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:20', '2022-10-19 20:25:20'), - (77, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:20', '2022-10-19 20:25:20'), - (78, 1, 1, '管理员', '系统-角色-员工', '角色成员列表中批量添加员工 @author 卓大', '/role/employee/batchAddRoleEmployee', 'net.lab1024.sa.admin.module.system.role.controller.RoleEmployeeController.addEmployeeList', '[{"employeeIdList":[63],"roleId":36}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:26', '2022-10-19 20:25:26'), - (79, 1, 1, '管理员', '系统-角色-员工', '查询某个角色下的员工列表 @author 卓大', '/role/employee/queryEmployee', 'net.lab1024.sa.admin.module.system.role.controller.RoleEmployeeController.queryEmployee', '[{"pageNum":1,"pageSize":15,"roleId":"36"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:26', '2022-10-19 20:25:26'), - (80, 1, 1, '管理员', '系统-角色-员工', '查询某个角色下的员工列表 @author 卓大', '/role/employee/queryEmployee', 'net.lab1024.sa.admin.module.system.role.controller.RoleEmployeeController.queryEmployee', '[{"pageNum":1,"pageSize":15,"roleId":"1"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:28', '2022-10-19 20:25:28'), - (81, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:28', '2022-10-19 20:25:28'), - (82, 1, 1, '管理员', '系统-角色-数据范围', '获取某角色所设置的数据范围 @author 卓大', '/role/dataScope/getRoleDataScopeList/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleDataScopeController.dataScopeListByRole', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:28', '2022-10-19 20:25:28'), - (83, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-19 20:25:30', '2022-10-19 20:25:30'), - (84, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 09:40:04', '2022-10-20 09:40:04'), - (85, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 09:42:20', '2022-10-20 09:42:20'), - (86, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 09:42:20', '2022-10-20 09:42:20'), - (87, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 09:42:20', '2022-10-20 09:42:20'), - (88, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 09:43:01', '2022-10-20 09:43:01'), - (89, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 09:43:01', '2022-10-20 09:43:01'), - (90, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:03:56', '2022-10-20 10:03:56'), - (91, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:04:00', '2022-10-20 10:04:00'), - (92, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:04:13', '2022-10-20 10:04:13'), - (93, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:04:26', '2022-10-20 10:04:26'), - (94, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:04:26', '2022-10-20 10:04:26'), - (95, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:04:26', '2022-10-20 10:04:26'), - (96, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:55:45', '2022-10-20 10:55:45'), - (97, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:55:46', '2022-10-20 10:55:46'), - (98, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:55:46', '2022-10-20 10:55:46'), - (99, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:55:47', '2022-10-20 10:55:47'), - (100, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:55:48', '2022-10-20 10:55:48'), - (101, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:56:02', '2022-10-20 10:56:02'), - (102, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:56:03', '2022-10-20 10:56:03'), - (103, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:56:03', '2022-10-20 10:56:03'), - (104, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:56:04', '2022-10-20 10:56:04'), - (105, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 10:56:05', '2022-10-20 10:56:05'), - (106, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:12:04', '2022-10-20 11:12:04'), - (107, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:12:06', '2022-10-20 11:12:06'), - (108, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:12:07', '2022-10-20 11:12:07'), - (109, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:12:07', '2022-10-20 11:12:07'), - (110, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:12:07', '2022-10-20 11:12:07'), - (111, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:12:09', '2022-10-20 11:12:09'), - (112, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:13:08', '2022-10-20 11:13:08'), - (113, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:13:15', '2022-10-20 11:13:15'), - (114, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:13:15', '2022-10-20 11:13:15'), - (115, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:13:16', '2022-10-20 11:13:16'), - (116, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:13:21', '2022-10-20 11:13:21'), - (117, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:13:25', '2022-10-20 11:13:25'), - (118, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:13:59', '2022-10-20 11:13:59'), - (119, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:13:59', '2022-10-20 11:13:59'), - (120, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:13:59', '2022-10-20 11:13:59'), - (121, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:07', '2022-10-20 11:14:07'), - (122, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:12', '2022-10-20 11:14:12'), - (123, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:12', '2022-10-20 11:14:12'), - (124, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:13', '2022-10-20 11:14:13'), - (125, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:18', '2022-10-20 11:14:18'), - (126, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:18', '2022-10-20 11:14:18'), - (127, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:27', '2022-10-20 11:14:27'), - (128, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:27', '2022-10-20 11:14:27'), - (129, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:46', '2022-10-20 11:14:46'), - (130, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:46', '2022-10-20 11:14:46'), - (131, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:46', '2022-10-20 11:14:46'), - (132, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:49', '2022-10-20 11:14:49'), - (133, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:50', '2022-10-20 11:14:50'), - (134, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:14:51', '2022-10-20 11:14:51'), - (135, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:17:10', '2022-10-20 11:17:10'), - (136, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 11:17:10', '2022-10-20 11:17:10'), - (137, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:37:21', '2022-10-20 13:37:21'), - (138, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:39:09', '2022-10-20 13:39:09'), - (139, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:39:09', '2022-10-20 13:39:09'), - (140, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:39:09', '2022-10-20 13:39:09'), - (141, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":false,"menuId":95,"menuName":"重置密码","menuType":3,"parentId":46,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"system:employee:password:reset"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:39:13', '2022-10-20 13:39:13'), - (142, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:39:14', '2022-10-20 13:39:14'), - (143, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:39:17', '2022-10-20 13:39:17'), - (144, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:39:17', '2022-10-20 13:39:17'), - (145, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:46:37', '2022-10-20 13:46:37'), - (146, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:46:37', '2022-10-20 13:46:37'), - (147, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:46:37', '2022-10-20 13:46:37'), - (148, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:46:38', '2022-10-20 13:46:38'), - (149, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:47:00', '2022-10-20 13:47:00'), - (150, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/15', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[15]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:47:04', '2022-10-20 13:47:04'), - (151, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:47:04', '2022-10-20 13:47:04'), - (152, 1, 1, '管理员', 'OA办公-发票信息', '分页查询发票信息 @author 善逸', '/oa/invoice/page/query', 'net.lab1024.sa.admin.module.business.oa.invoice.InvoiceController.queryByPage', '[{"deletedFlag":false,"enterpriseId":15,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:47:07', '2022-10-20 13:47:07'), - (153, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/15', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[15]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:47:35', '2022-10-20 13:47:35'), - (154, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:47:35', '2022-10-20 13:47:35'), - (155, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-20 13:47:54', '2022-10-20 13:47:54'), - (156, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:24:38', '2022-10-21 10:24:38'), - (157, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:24:39', '2022-10-21 10:24:39'), - (158, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:24:39', '2022-10-21 10:24:39'), - (159, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":2,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:24:41', '2022-10-21 10:24:41'), - (160, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:24:42', '2022-10-21 10:24:42'), - (161, 1, 1, '管理员', '系统-员工管理', '查询所有员工 @author 卓大', '/employee/queryAll', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee', '[null]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:13', '2022-10-21 10:25:13'), - (162, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:13', '2022-10-21 10:25:13'), - (163, 1, 1, '管理员', '系统-部门管理', '添加部门 @author 卓大', '/department/add', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.addDepartment', '[{"managerId":2,"name":"产品部","parentId":1,"sort":99}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:30', '2022-10-21 10:25:30'), - (164, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:31', '2022-10-21 10:25:31'), - (165, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:40', '2022-10-21 10:25:40'), - (166, 1, 1, '管理员', '系统-员工管理', '查询所有员工 @author 卓大', '/employee/queryAll', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee', '[null]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:40', '2022-10-21 10:25:40'), - (167, 1, 1, '管理员', '系统-部门管理', '添加部门 @author 卓大', '/department/add', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.addDepartment', '[{"managerId":64,"name":"销售部","parentId":1,"sort":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:48', '2022-10-21 10:25:48'), - (168, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:48', '2022-10-21 10:25:48'), - (169, 1, 1, '管理员', '系统-员工管理', '查询所有员工 @author 卓大', '/employee/queryAll', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee', '[null]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:51', '2022-10-21 10:25:51'), - (170, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:51', '2022-10-21 10:25:51'), - (171, 1, 1, '管理员', '系统-部门管理', '更新部门 @author 卓大', '/department/update', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.updateDepartment', '[{"departmentId":4,"managerId":64,"name":"销售部","parentId":1,"sort":9}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:57', '2022-10-21 10:25:57'), - (172, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:57', '2022-10-21 10:25:57'), - (173, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":4,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:57', '2022-10-21 10:25:57'), - (174, 1, 1, '管理员', '系统-员工管理', '查询所有员工 @author 卓大', '/employee/queryAll', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.queryAllEmployee', '[null]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:59', '2022-10-21 10:25:59'), - (175, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:25:59', '2022-10-21 10:25:59'), - (176, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":3,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:08', '2022-10-21 10:26:08'), - (177, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":2,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:09', '2022-10-21 10:26:09'), - (178, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:12', '2022-10-21 10:26:12'), - (179, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:13', '2022-10-21 10:26:13'), - (180, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/34', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[34]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:14', '2022-10-21 10:26:14'), - (181, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/35', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[35]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:14', '2022-10-21 10:26:14'), - (182, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/36', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[36]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:15', '2022-10-21 10:26:15'), - (183, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/37', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[37]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:17', '2022-10-21 10:26:17'), - (184, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:17', '2022-10-21 10:26:17'), - (185, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:18', '2022-10-21 10:26:18'), - (186, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:18', '2022-10-21 10:26:18'), - (187, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:30', '2022-10-21 10:26:30'), - (188, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:30', '2022-10-21 10:26:30'), - (189, 1, 1, '管理员', '系统-系统-数据范围', '获取当前系统所配置的所有数据范围 @author 罗伊', '/dataScope/list', 'net.lab1024.sa.admin.module.system.datascope.DataScopeController.dataScopeList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:32', '2022-10-21 10:26:32'), - (190, 1, 1, '管理员', '系统-角色-数据范围', '获取某角色所设置的数据范围 @author 卓大', '/role/dataScope/getRoleDataScopeList/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleDataScopeController.dataScopeListByRole', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:32', '2022-10-21 10:26:32'), - (191, 1, 1, '管理员', '系统-角色-员工', '查询某个角色下的员工列表 @author 卓大', '/role/employee/queryEmployee', 'net.lab1024.sa.admin.module.system.role.controller.RoleEmployeeController.queryEmployee', '[{"pageNum":1,"pageSize":15,"roleId":"1"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:32', '2022-10-21 10:26:32'), - (192, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:36', '2022-10-21 10:26:36'), - (193, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:40', '2022-10-21 10:26:40'), - (194, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:40', '2022-10-21 10:26:40'), - (195, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:41', '2022-10-21 10:26:41'), - (196, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":false,"menuId":95,"menuName":"重置密码","menuType":3,"parentId":46,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"system:employee:password:reset"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:43', '2022-10-21 10:26:43'), - (197, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:26:43', '2022-10-21 10:26:43'), - (198, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:34:28', '2022-10-21 10:34:28'), - (199, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/15', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[15]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:34:30', '2022-10-21 10:34:30'), - (200, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:34:30', '2022-10-21 10:34:30'), - (201, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/15', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[15]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:34:34', '2022-10-21 10:34:34'), - (202, 1, 1, '管理员', 'OA办公-企业', '编辑企业 @author 开云', '/oa/enterprise/update', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.updateEnterprise', '[{"address":"wqdqwe1啊啊","city":110100,"cityName":"北京市","contact":"12312324234","contactPhone":"13123123123","createUserId":1,"createUserName":"管理员","disabledFlag":true,"district":110117,"districtName":"平谷区","email":"qweqwe@11.asd1","enterpriseId":15,"enterpriseLogo":"","enterpriseName":"1024创新实验室","province":110000,"provinceName":"北京市","type":1,"unifiedSocialCreditCode":"而非教科文irl啊啊啊1112"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:34:38', '2022-10-21 10:34:38'), - (203, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/15', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[15]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:34:39', '2022-10-21 10:34:39'), - (204, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/15', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[15]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:37:40', '2022-10-21 10:37:40'), - (205, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:37:40', '2022-10-21 10:37:40'), - (206, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/15', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[15]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:37:50', '2022-10-21 10:37:50'), - (207, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:37:50', '2022-10-21 10:37:50'), - (208, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/15', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[15]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:37:51', '2022-10-21 10:37:51'), - (209, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:37:51', '2022-10-21 10:37:51'), - (210, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:38:03', '2022-10-21 10:38:03'), - (211, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:52:15', '2022-10-21 10:52:15'), - (212, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/15', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[15]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:52:17', '2022-10-21 10:52:17'), - (213, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 10:52:17', '2022-10-21 10:52:17'), - (214, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:25:01', '2022-10-21 11:25:01'), - (215, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:25:23', '2022-10-21 11:25:23'), - (216, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:25:23', '2022-10-21 11:25:23'), - (217, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:25:23', '2022-10-21 11:25:23'), - (218, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"component":"/support/file/file-list","createUserId":1,"disabledFlag":false,"frameFlag":false,"icon":"FolderOpenOutlined","menuName":"文件管理","menuType":2,"parentId":50,"path":"/support/file/file-list","permsType":1,"sort":20,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:26:11', '2022-10-21 11:26:11'), - (219, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:26:11', '2022-10-21 11:26:11'), - (220, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:26:18', '2022-10-21 11:26:18'), - (221, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:26:18', '2022-10-21 11:26:18'), - (222, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"component":"/support/file/file-list,vue","disabledFlag":false,"frameFlag":false,"icon":"FolderOpenOutlined","menuId":193,"menuName":"文件管理","menuType":2,"parentId":50,"path":"/support/file/file-list","permsType":1,"sort":20,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:26:22', '2022-10-21 11:26:22'), - (223, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:26:22', '2022-10-21 11:26:22'), - (224, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:26:31', '2022-10-21 11:26:31'), - (225, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:26:57', '2022-10-21 11:26:57'), - (226, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:26:57', '2022-10-21 11:26:57'), - (227, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:26:57', '2022-10-21 11:26:57'), - (228, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"component":"/support/file/file-list.vue","disabledFlag":false,"frameFlag":false,"icon":"FolderOpenOutlined","menuId":193,"menuName":"文件管理","menuType":2,"parentId":50,"path":"/support/file/file-list","permsType":1,"sort":20,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:27:02', '2022-10-21 11:27:02'), - (229, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:27:02', '2022-10-21 11:27:02'), - (230, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:27:08', '2022-10-21 11:27:08'), - (231, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:32:18', '2022-10-21 11:32:18'), - (232, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/15', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[15]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:32:19', '2022-10-21 11:32:19'), - (233, 1, 1, '管理员', 'OA办公-企业', '编辑企业 @author 开云', '/oa/enterprise/update', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.updateEnterprise', '[{"address":"wqdqwe1啊啊","city":110100,"cityName":"北京市","contact":"12312324234","contactPhone":"13123123123","createUserId":1,"createUserName":"管理员","disabledFlag":true,"district":110117,"districtName":"平谷区","email":"qweqwe@11.asd1","enterpriseId":15,"enterpriseLogo":"public/common/035f9b3366fc4a108495a18b5af4236c2022-10-21 11:33:46.jpg","enterpriseName":"1024创新实验室","province":110000,"provinceName":"北京市","type":1,"unifiedSocialCreditCode":"而非教科文irl啊啊啊1112"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:33:55', '2022-10-21 11:33:55'), - (234, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/5', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[5]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:34:02', '2022-10-21 11:34:02'), - (235, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:34:02', '2022-10-21 11:34:02'), - (236, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:34:05', '2022-10-21 11:34:05'), - (237, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/6', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[6]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:34:07', '2022-10-21 11:34:07'), - (238, 1, 1, '管理员', 'OA办公-企业', '编辑企业 @author 开云', '/oa/enterprise/update', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.updateEnterprise', '[{"address":"fgdsda","city":130300,"cityName":"秦皇岛市","contact":"110","contactPhone":"13123123123","createUserId":1,"createUserName":"管理员","disabledFlag":false,"district":130306,"districtName":"抚宁区","email":"110@qq.cc","enterpriseId":6,"enterpriseLogo":"public/common/882d5810d01549209e709d6658a8e4772022-10-21 11:35:08.jpeg","enterpriseName":"1024物流公司","province":130000,"provinceName":"河北省","type":1,"unifiedSocialCreditCode":"110"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:35:11', '2022-10-21 11:35:11'), - (239, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/15', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[15]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:35:15', '2022-10-21 11:35:15'), - (240, 1, 1, '管理员', 'OA办公-企业', '编辑企业 @author 开云', '/oa/enterprise/update', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.updateEnterprise', '[{"address":"wqdqwe1啊啊","businessLicense":"public/common/a4ce8db50ff74e05ad2e492dd94335cb2022-10-21 11:36:34.png","city":110100,"cityName":"北京市","contact":"12312324234","contactPhone":"13123123123","createUserId":1,"createUserName":"管理员","disabledFlag":true,"district":110117,"districtName":"平谷区","email":"qweqwe@11.asd1","enterpriseId":15,"enterpriseLogo":"public/common/035f9b3366fc4a108495a18b5af4236c2022-10-21 11:33:46.jpg","enterpriseName":"1024创新实验室","province":110000,"provinceName":"北京市","type":1,"unifiedSocialCreditCode":"而非教科文irl啊啊啊1112"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:36:39', '2022-10-21 11:36:39'), - (241, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/5', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[5]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:51:34', '2022-10-21 11:51:34'), - (242, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:51:34', '2022-10-21 11:51:34'), - (243, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:51:34', '2022-10-21 11:51:34'), - (244, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/15', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[15]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:51:36', '2022-10-21 11:51:36'), - (245, 1, 1, '管理员', 'OA办公-企业', '编辑企业 @author 开云', '/oa/enterprise/update', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.updateEnterprise', '[{"address":"wqdqwe1啊啊","businessLicense":"public/common/b298956317bd419d899a4d3f1d28dbb6-20221021115215-png","city":110100,"cityName":"北京市","contact":"12312324234","contactPhone":"13123123123","createUserId":1,"createUserName":"管理员","disabledFlag":true,"district":110117,"districtName":"平谷区","email":"qweqwe@11.asd1","enterpriseId":15,"enterpriseLogo":"public/common/7e3cb80f02c84ca3aba359f166c8c69e-20221021115207-jpg","enterpriseName":"1024创新实验室","province":110000,"provinceName":"北京市","type":1,"unifiedSocialCreditCode":"而非教科文irl啊啊啊1112"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 11:52:17', '2022-10-21 11:52:17'), - (246, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:17:37', '2022-10-21 12:17:37'), - (247, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/6', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[6]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:17:41', '2022-10-21 12:17:41'), - (248, 1, 1, '管理员', 'OA办公-企业', '编辑企业 @author 开云', '/oa/enterprise/update', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.updateEnterprise', '[{"address":"fgdsda","businessLicense":"public/common/888ea37c5a6c4c088658264464ba3cae_20221021121755_png","city":130300,"cityName":"秦皇岛市","contact":"110","contactPhone":"13123123123","createUserId":1,"createUserName":"管理员","disabledFlag":false,"district":130306,"districtName":"抚宁区","email":"110@qq.cc","enterpriseId":6,"enterpriseLogo":"public/common/b817542a80a84435ae86991d68546eb4_20221021121746_jpeg","enterpriseName":"1024物流公司","province":130000,"provinceName":"河北省","type":1,"unifiedSocialCreditCode":"110"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:17:57', '2022-10-21 12:17:57'), - (249, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:51:20', '2022-10-21 12:51:20'), - (250, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:51:23', '2022-10-21 12:51:23'), - (251, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:51:24', '2022-10-21 12:51:24'), - (252, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:51:24', '2022-10-21 12:51:24'), - (253, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:51:27', '2022-10-21 12:51:27'), - (254, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:51:28', '2022-10-21 12:51:28'), - (255, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:51:33', '2022-10-21 12:51:33'), - (256, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:51:34', '2022-10-21 12:51:34'), - (257, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:51:43', '2022-10-21 12:51:43'), - (258, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:52:27', '2022-10-21 12:52:27'), - (259, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:52:31', '2022-10-21 12:52:31'), - (260, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:52:31', '2022-10-21 12:52:31'), - (261, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:52:31', '2022-10-21 12:52:31'), - (262, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":false,"icon":"FileWordOutlined","menuId":146,"menuName":"系统文档","menuType":1,"parentId":0,"sort":500,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:52:42', '2022-10-21 12:52:42'), - (263, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:52:43', '2022-10-21 12:52:43'), - (264, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:52:47', '2022-10-21 12:52:47'), - (265, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:53:02', '2022-10-21 12:53:02'), - (266, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:57:39', '2022-10-21 12:57:39'), - (267, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:57:39', '2022-10-21 12:57:39'), - (268, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:57:39', '2022-10-21 12:57:39'), - (269, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:57:39', '2022-10-21 12:57:39'), - (270, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:57:40', '2022-10-21 12:57:40'), - (271, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:57:42', '2022-10-21 12:57:42'), - (272, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:58:33', '2022-10-21 12:58:33'), - (273, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:58:41', '2022-10-21 12:58:41'), - (274, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":2,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:58:41', '2022-10-21 12:58:41'), - (275, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 12:58:42', '2022-10-21 12:58:42'), - (276, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy116.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy166.query(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.query(GoodsService.java:142)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.query()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query(GoodsController.java:40)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.query()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:48)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32)\r\n at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:34)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.TrimSqlNode.apply(TrimSqlNode.java:55)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:46)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy156.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor234.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 134 more\r\nCaused by: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:164)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTChain.getValueBody(ASTChain.java:141)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:50)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n ... 154 more\r\n', '2022-10-21 12:58:42', '2022-10-21 12:58:42'), - (277, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/5', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[5]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 13:02:51', '2022-10-21 13:02:51'), - (278, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 13:02:51', '2022-10-21 13:02:51'), - (279, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 13:02:52', '2022-10-21 13:02:52'), - (280, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 13:02:53', '2022-10-21 13:02:53'), - (281, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 13:02:53', '2022-10-21 13:02:53'), - (282, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 13:15:04', '2022-10-21 13:15:04'), - (283, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 14:50:30', '2022-10-21 14:50:30'), - (284, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:08:50', '2022-10-21 15:08:50'), - (285, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:08:50', '2022-10-21 15:08:50'), - (286, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:08:50', '2022-10-21 15:08:50'), - (287, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:09:18', '2022-10-21 15:09:18'), - (288, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:09:18', '2022-10-21 15:09:18'), - (289, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:09:18', '2022-10-21 15:09:18'), - (290, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:09:30', '2022-10-21 15:09:30'), - (291, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:12:10', '2022-10-21 15:12:10'), - (292, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:12:22', '2022-10-21 15:12:22'), - (293, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:13:40', '2022-10-21 15:13:40'), - (294, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:13:44', '2022-10-21 15:13:44'), - (295, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:13:45', '2022-10-21 15:13:45'), - (296, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:13:45', '2022-10-21 15:13:45'), - (297, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:13:48', '2022-10-21 15:13:48'), - (298, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:14:26', '2022-10-21 15:14:26'), - (299, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:14:31', '2022-10-21 15:14:31'), - (300, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 15:15:44', '2022-10-21 15:15:44'), - (301, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 16:00:01', '2022-10-21 16:00:01'), - (302, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 16:01:45', '2022-10-21 16:01:45'), - (303, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy116.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy166.query(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.query(GoodsService.java:142)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.query()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query(GoodsController.java:42)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.query()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:48)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32)\r\n at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:34)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.TrimSqlNode.apply(TrimSqlNode.java:55)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:46)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy156.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor234.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 134 more\r\nCaused by: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:164)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTChain.getValueBody(ASTChain.java:141)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:50)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n ... 154 more\r\n', '2022-10-21 16:01:45', '2022-10-21 16:01:45'), - (304, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 16:08:56', '2022-10-21 16:08:56'), - (305, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy116.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy166.query(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.query(GoodsService.java:142)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.query()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query(GoodsController.java:42)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.query()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:48)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32)\r\n at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:34)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.TrimSqlNode.apply(TrimSqlNode.java:55)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:46)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy156.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor234.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 134 more\r\nCaused by: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:164)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTChain.getValueBody(ASTChain.java:141)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:50)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n ... 154 more\r\n', '2022-10-21 16:08:56', '2022-10-21 16:08:56'), - (306, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy164.query(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.query(GoodsService.java:136)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.query()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query(GoodsController.java:42)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.query()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:48)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32)\r\n at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:34)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.TrimSqlNode.apply(TrimSqlNode.java:55)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:46)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy154.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor163.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 137 more\r\nCaused by: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:164)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTChain.getValueBody(ASTChain.java:141)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:50)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n ... 157 more\r\n', '2022-10-21 18:54:29', '2022-10-21 18:54:29'), - (307, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 18:54:29', '2022-10-21 18:54:29'), - (308, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 18:54:33', '2022-10-21 18:54:33'), - (309, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 18:57:05', '2022-10-21 18:57:05'), - (310, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy164.query(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.query(GoodsService.java:136)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.query()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query(GoodsController.java:42)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.query()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:48)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32)\r\n at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:34)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.TrimSqlNode.apply(TrimSqlNode.java:55)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:46)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy154.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor163.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 137 more\r\nCaused by: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:164)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTChain.getValueBody(ASTChain.java:141)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:50)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n ... 157 more\r\n', '2022-10-21 18:57:06', '2022-10-21 18:57:06'), - (311, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 18:57:07', '2022-10-21 18:57:07'), - (312, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 18:59:19', '2022-10-21 18:59:19'), - (313, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy164.query(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.query(GoodsService.java:136)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.query()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query(GoodsController.java:42)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.query()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:48)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32)\r\n at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:34)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.TrimSqlNode.apply(TrimSqlNode.java:55)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:46)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy154.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor163.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 137 more\r\nCaused by: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:164)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTChain.getValueBody(ASTChain.java:141)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:50)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n ... 157 more\r\n', '2022-10-21 18:59:19', '2022-10-21 18:59:19'), - (314, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 18:59:21', '2022-10-21 18:59:21'), - (315, 1, 1, '管理员', 'ERP进销存-商品管理', '添加商品 @author 胡克', '/goods/add', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.add', '[{"categoryId":352,"goodsName":"iphone14","goodsStatus":1,"place":"LUO_YANG","price":150,"remark":"","shelvesFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:00:12', '2022-10-21 19:00:12'), - (316, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy164.query(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.query(GoodsService.java:136)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.query()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query(GoodsController.java:42)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.query()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:48)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32)\r\n at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:34)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.TrimSqlNode.apply(TrimSqlNode.java:55)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:46)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy154.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor163.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 137 more\r\nCaused by: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:164)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTChain.getValueBody(ASTChain.java:141)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:50)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n ... 157 more\r\n', '2022-10-21 19:00:12', '2022-10-21 19:00:12'), - (317, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:03:39', '2022-10-21 19:03:39'), - (318, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy164.query(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.query(GoodsService.java:136)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.query()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query(GoodsController.java:42)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.query()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression \'query.goodsType != null\'. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:48)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32)\r\n at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:34)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.TrimSqlNode.apply(TrimSqlNode.java:55)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:46)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy154.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor163.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 137 more\r\nCaused by: org.apache.ibatis.ognl.NoSuchPropertyException: net.lab1024.sa.admin.module.business.goods.domain.form.GoodsQueryForm.goodsType\r\n at org.apache.ibatis.ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:164)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTChain.getValueBody(ASTChain.java:141)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:50)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n ... 157 more\r\n', '2022-10-21 19:03:39', '2022-10-21 19:03:39'), - (319, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:04:41', '2022-10-21 19:04:41'), - (320, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:05:22', '2022-10-21 19:05:22'), - (321, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:06:36', '2022-10-21 19:06:36'), - (322, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:06:52', '2022-10-21 19:06:52'), - (323, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:06:52', '2022-10-21 19:06:52'), - (324, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:06:55', '2022-10-21 19:06:55'), - (325, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:06:55', '2022-10-21 19:06:55'), - (326, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:06:58', '2022-10-21 19:06:58'), - (327, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:06:58', '2022-10-21 19:06:58'), - (328, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"categoryId":352,"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:07:02', '2022-10-21 19:07:02'), - (329, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:07:03', '2022-10-21 19:07:03'), - (330, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:08:18', '2022-10-21 19:08:18'), - (331, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:08:19', '2022-10-21 19:08:19'), - (332, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:08:20', '2022-10-21 19:08:20'), - (333, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:08:20', '2022-10-21 19:08:20'), - (334, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:08:25', '2022-10-21 19:08:25'), - (335, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:08:25', '2022-10-21 19:08:25'), - (336, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:09:02', '2022-10-21 19:09:02'), - (337, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:09:02', '2022-10-21 19:09:02'), - (338, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:09:21', '2022-10-21 19:09:21'), - (339, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:09:21', '2022-10-21 19:09:21'), - (340, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:11:25', '2022-10-21 19:11:25'), - (341, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:11:26', '2022-10-21 19:11:26'), - (342, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:11:34', '2022-10-21 19:11:34'), - (343, 1, 1, '管理员', 'ERP进销存-商品管理', '更新商品 @author 胡克', '/goods/update', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.update', '[{"categoryId":352,"goodsId":8,"goodsName":"iphone14","goodsStatus":1,"place":"LUO_YANG","price":150,"remark":"","shelvesFlag":false}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:11:38', '2022-10-21 19:11:38'), - (344, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:11:38', '2022-10-21 19:11:38'), - (345, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:12:31', '2022-10-21 19:12:31'), - (346, 1, 1, '管理员', 'ERP进销存-商品管理', '更新商品 @author 胡克', '/goods/update', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.update', '[{"categoryId":352,"goodsId":8,"goodsName":"iphone14","goodsStatus":1,"place":"ZHENG_ZHOU","price":150,"remark":"","shelvesFlag":false}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:12:50', '2022-10-21 19:12:50'), - (347, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:12:50', '2022-10-21 19:12:50'), - (348, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:13:10', '2022-10-21 19:13:10'), - (349, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:17:57', '2022-10-21 19:17:57'), - (350, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:17:57', '2022-10-21 19:17:57'), - (351, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:20:22', '2022-10-21 19:20:22'), - (352, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:20:22', '2022-10-21 19:20:22'), - (353, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:21:11', '2022-10-21 19:21:11'), - (354, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:21:11', '2022-10-21 19:21:11'), - (355, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"goodsStatus":2,"pageNum":1,"pageSize":10,"place":"LUO_YANG","searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:22:08', '2022-10-21 19:22:08'), - (356, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:22:10', '2022-10-21 19:22:10'), - (357, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"place":"ZHENG_ZHOU","searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:22:16', '2022-10-21 19:22:16'), - (358, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:22:18', '2022-10-21 19:22:18'), - (359, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:22:27', '2022-10-21 19:22:27'), - (360, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:22:28', '2022-10-21 19:22:28'), - (361, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:23:00', '2022-10-21 19:23:00'), - (362, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:23:00', '2022-10-21 19:23:00'), - (363, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:23:03', '2022-10-21 19:23:03'), - (364, 1, 1, '管理员', 'ERP进销存-商品管理', '更新商品 @author 胡克', '/goods/update', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.update', '[{"categoryId":354,"goodsId":4,"goodsName":"计算机组成原理2","goodsStatus":2,"place":"BEI_JING","price":12,"remark":"4234","shelvesFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:23:09', '2022-10-21 19:23:09'), - (365, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:23:09', '2022-10-21 19:23:09'), - (366, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:24:27', '2022-10-21 19:24:27'), - (367, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:24:27', '2022-10-21 19:24:27'), - (368, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:30:55', '2022-10-21 19:30:55'), - (369, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:30:55', '2022-10-21 19:30:55'), - (370, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:30:55', '2022-10-21 19:30:55'), - (371, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:30:55', '2022-10-21 19:30:55'), - (372, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:31:10', '2022-10-21 19:31:10'), - (373, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:31:10', '2022-10-21 19:31:10'), - (374, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:31:21', '2022-10-21 19:31:21'), - (375, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:31:21', '2022-10-21 19:31:21'), - (376, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:31:33', '2022-10-21 19:31:33'), - (377, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:31:33', '2022-10-21 19:31:33'), - (378, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:31:48', '2022-10-21 19:31:48'), - (379, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:31:48', '2022-10-21 19:31:48'), - (380, 1, 1, '管理员', 'ERP进销存-商品管理', '删除 @author 卓大', '/goods/delete/2', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:31:55', '2022-10-21 19:31:55'), - (381, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:31:59', '2022-10-21 19:31:59'), - (382, 1, 1, '管理员', 'ERP进销存-商品管理', '更新商品 @author 胡克', '/goods/update', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.update', '[{"categoryId":2,"goodsId":2,"goodsName":"颈椎病康复指南","goodsStatus":3,"place":"ZHENG_ZHOU","price":988,"shelvesFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:32:07', '2022-10-21 19:32:07'), - (383, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:32:07', '2022-10-21 19:32:07'), - (384, 1, 1, '管理员', 'ERP进销存-商品管理', '删除 @author 卓大', '/goods/delete/2', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.springframework.dao.DataIntegrityViolationException: net.lab1024.sa.common.module.support.datatracer.dao.DataTracerDao.insert (batch index #1) failed. Cause: java.sql.BatchUpdateException: Field \'type\' doesn\'t have a default value\n; Field \'type\' doesn\'t have a default value; nested exception is java.sql.BatchUpdateException: Field \'type\' doesn\'t have a default value\r\n at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:251)\r\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88)\r\n at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.executeBatch(SqlHelper.java:189)\r\n at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.executeBatch(SqlHelper.java:211)\r\n at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.executeBatch(ServiceImpl.java:239)\r\n at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.saveBatch(ServiceImpl.java:135)\r\n at com.baomidou.mybatisplus.extension.service.IService.saveBatch(IService.java:73)\r\n at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.common.module.support.datatracer.manager.DataTracerManger$$EnhancerBySpringCGLIB$$1.saveBatch()\r\n at net.lab1024.sa.common.module.support.datatracer.service.DataTracerService.addTraceList(DataTracerService.java:207)\r\n at net.lab1024.sa.common.module.support.datatracer.service.DataTracerService.addTraceList(DataTracerService.java:186)\r\n at net.lab1024.sa.common.module.support.datatracer.service.DataTracerService.batchDelete(DataTracerService.java:135)\r\n at net.lab1024.sa.common.module.support.datatracer.service.DataTracerService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.common.module.support.datatracer.service.DataTracerService$$EnhancerBySpringCGLIB$$1.batchDelete()\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.delete(GoodsService.java:124)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.delete()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete(GoodsController.java:64)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.delete()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: java.sql.BatchUpdateException: Field \'type\' doesn\'t have a default value\r\n at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\r\n at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\r\n at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n at java.lang.reflect.Constructor.newInstance(Constructor.java:423)\r\n at com.mysql.cj.util.Util.handleNewInstance(Util.java:192)\r\n at com.mysql.cj.util.Util.getInstance(Util.java:167)\r\n at com.mysql.cj.util.Util.getInstance(Util.java:174)\r\n at com.mysql.cj.jdbc.exceptions.SQLError.createBatchUpdateException(SQLError.java:224)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeBatchedInserts(ClientPreparedStatement.java:755)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeBatchInternal(ClientPreparedStatement.java:426)\r\n at com.mysql.cj.jdbc.StatementImpl.executeBatch(StatementImpl.java:794)\r\n at com.p6spy.engine.wrapper.StatementWrapper.executeBatch(StatementWrapper.java:97)\r\n at com.alibaba.druid.filter.FilterChainImpl.statement_executeBatch(FilterChainImpl.java:3118)\r\n at com.alibaba.druid.filter.FilterAdapter.statement_executeBatch(FilterAdapter.java:2507)\r\n at com.alibaba.druid.filter.FilterEventAdapter.statement_executeBatch(FilterEventAdapter.java:279)\r\n at com.alibaba.druid.filter.FilterChainImpl.statement_executeBatch(FilterChainImpl.java:3116)\r\n at com.alibaba.druid.filter.FilterAdapter.statement_executeBatch(FilterAdapter.java:2507)\r\n at com.alibaba.druid.filter.FilterEventAdapter.statement_executeBatch(FilterEventAdapter.java:279)\r\n at com.alibaba.druid.filter.FilterChainImpl.statement_executeBatch(FilterChainImpl.java:3116)\r\n at com.alibaba.druid.proxy.jdbc.StatementProxyImpl.executeBatch(StatementProxyImpl.java:202)\r\n at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeBatch(DruidPooledPreparedStatement.java:565)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:78)\r\n at com.sun.proxy.$Proxy158.executeBatch(Unknown Source)\r\n at com.baomidou.mybatisplus.core.executor.MybatisBatchExecutor.doFlushStatements(MybatisBatchExecutor.java:135)\r\n at org.apache.ibatis.executor.BaseExecutor.flushStatements(BaseExecutor.java:129)\r\n at org.apache.ibatis.executor.BaseExecutor.flushStatements(BaseExecutor.java:122)\r\n at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.flushStatements(MybatisCachingExecutor.java:218)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)\r\n at com.sun.proxy.$Proxy154.flushStatements(Unknown Source)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)\r\n at com.sun.proxy.$Proxy154.flushStatements(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.flushStatements(DefaultSqlSession.java:252)\r\n at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.lambda$executeBatch$0(SqlHelper.java:217)\r\n at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.executeBatch(SqlHelper.java:179)\r\n ... 152 more\r\nCaused by: java.sql.SQLException: Field \'type\' doesn\'t have a default value\r\n at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)\r\n at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1092)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1040)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1348)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeBatchedInserts(ClientPreparedStatement.java:716)\r\n ... 189 more\r\n', '2022-10-21 19:32:11', '2022-10-21 19:32:11'), - (385, 1, 1, '管理员', 'ERP进销存-商品管理', '删除 @author 卓大', '/goods/delete/2', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:42:37', '2022-10-21 19:42:37'), - (386, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:42:37', '2022-10-21 19:42:37'), - (387, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:42:42', '2022-10-21 19:42:42'), - (388, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:43:23', '2022-10-21 19:43:23'), - (389, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:47:19', '2022-10-21 19:47:19'), - (390, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:47:19', '2022-10-21 19:47:19'), - (391, 1, 1, '管理员', 'ERP进销存-商品管理', '删除 @author 卓大', '/goods/delete/2', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter \'goodsId\' not found. Available parameters are [deletedFlag, goodsIdList, param1, param2]\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.update(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:287)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:65)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy164.batchUpdateDeleted(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.batchDelete(GoodsService.java:137)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.delete(GoodsService.java:124)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.delete()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete(GoodsController.java:64)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.delete()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.binding.BindingException: Parameter \'goodsId\' not found. Available parameters are [deletedFlag, goodsIdList, param1, param2]\r\n at org.apache.ibatis.binding.MapperMethod$ParamMap.get(MapperMethod.java:212)\r\n at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextAccessor.getProperty(DynamicContext.java:120)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateIterable(ExpressionEvaluator.java:43)\r\n at org.apache.ibatis.scripting.xmltags.ForEachSqlNode.apply(ForEachSqlNode.java:54)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at org.apache.ibatis.executor.statement.BaseStatementHandler.(BaseStatementHandler.java:64)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.(PreparedStatementHandler.java:41)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.(RoutingStatementHandler.java:46)\r\n at org.apache.ibatis.session.Configuration.newStatementHandler(Configuration.java:658)\r\n at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doUpdate(MybatisSimpleExecutor.java:54)\r\n at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)\r\n at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.update(MybatisCachingExecutor.java:85)\r\n at sun.reflect.GeneratedMethodAccessor367.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:83)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy154.update(Unknown Source)\r\n at sun.reflect.GeneratedMethodAccessor367.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)\r\n at com.sun.proxy.$Proxy154.update(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)\r\n at sun.reflect.GeneratedMethodAccessor432.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 136 more\r\n', '2022-10-21 19:47:28', '2022-10-21 19:47:28'), - (392, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:53:07', '2022-10-21 19:53:07'), - (393, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:53:07', '2022-10-21 19:53:07'), - (394, 1, 1, '管理员', 'ERP进销存-商品管理', '删除 @author 卓大', '/goods/delete/2', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter \'goodsId\' not found. Available parameters are [deletedFlag, goodsIdList, param1, param2]\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.update(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:287)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:65)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy164.batchUpdateDeleted(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.batchDelete(GoodsService.java:137)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.delete(GoodsService.java:124)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.delete()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete(GoodsController.java:64)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.delete()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.binding.BindingException: Parameter \'goodsId\' not found. Available parameters are [deletedFlag, goodsIdList, param1, param2]\r\n at org.apache.ibatis.binding.MapperMethod$ParamMap.get(MapperMethod.java:212)\r\n at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextAccessor.getProperty(DynamicContext.java:120)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateIterable(ExpressionEvaluator.java:43)\r\n at org.apache.ibatis.scripting.xmltags.ForEachSqlNode.apply(ForEachSqlNode.java:54)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at org.apache.ibatis.executor.statement.BaseStatementHandler.(BaseStatementHandler.java:64)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.(PreparedStatementHandler.java:41)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.(RoutingStatementHandler.java:46)\r\n at org.apache.ibatis.session.Configuration.newStatementHandler(Configuration.java:658)\r\n at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doUpdate(MybatisSimpleExecutor.java:54)\r\n at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)\r\n at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.update(MybatisCachingExecutor.java:85)\r\n at sun.reflect.GeneratedMethodAccessor367.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:83)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy154.update(Unknown Source)\r\n at sun.reflect.GeneratedMethodAccessor367.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)\r\n at com.sun.proxy.$Proxy154.update(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)\r\n at sun.reflect.GeneratedMethodAccessor432.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 136 more\r\n', '2022-10-21 19:53:12', '2022-10-21 19:53:12'), - (395, 1, 1, '管理员', 'ERP进销存-商品管理', '删除 @author 卓大', '/goods/delete/2', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter \'goodsId\' not found. Available parameters are [deletedFlag, goodsIdList, param1, param2]\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.update(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:287)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:65)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy164.batchUpdateDeleted(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.batchDelete(GoodsService.java:137)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.delete(GoodsService.java:124)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.delete()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete(GoodsController.java:64)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.delete()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.binding.BindingException: Parameter \'goodsId\' not found. Available parameters are [deletedFlag, goodsIdList, param1, param2]\r\n at org.apache.ibatis.binding.MapperMethod$ParamMap.get(MapperMethod.java:212)\r\n at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextAccessor.getProperty(DynamicContext.java:120)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateIterable(ExpressionEvaluator.java:43)\r\n at org.apache.ibatis.scripting.xmltags.ForEachSqlNode.apply(ForEachSqlNode.java:54)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at org.apache.ibatis.executor.statement.BaseStatementHandler.(BaseStatementHandler.java:64)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.(PreparedStatementHandler.java:41)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.(RoutingStatementHandler.java:46)\r\n at org.apache.ibatis.session.Configuration.newStatementHandler(Configuration.java:658)\r\n at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doUpdate(MybatisSimpleExecutor.java:54)\r\n at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)\r\n at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.update(MybatisCachingExecutor.java:85)\r\n at sun.reflect.GeneratedMethodAccessor367.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:83)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy154.update(Unknown Source)\r\n at sun.reflect.GeneratedMethodAccessor367.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)\r\n at com.sun.proxy.$Proxy154.update(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)\r\n at sun.reflect.GeneratedMethodAccessor432.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 136 more\r\n', '2022-10-21 19:53:48', '2022-10-21 19:53:48'), - (396, 1, 1, '管理员', 'ERP进销存-商品管理', '删除 @author 卓大', '/goods/delete/2', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter \'goodsId\' not found. Available parameters are [deletedFlag, goodsIdList, param1, param2]\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.update(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:287)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:65)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy164.batchUpdateDeleted(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.batchDelete(GoodsService.java:137)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService.delete(GoodsService.java:124)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.service.GoodsService$$EnhancerBySpringCGLIB$$1.delete()\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete(GoodsController.java:64)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.goods.controller.GoodsController$$EnhancerBySpringCGLIB$$1.delete()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.binding.BindingException: Parameter \'goodsId\' not found. Available parameters are [deletedFlag, goodsIdList, param1, param2]\r\n at org.apache.ibatis.binding.MapperMethod$ParamMap.get(MapperMethod.java:212)\r\n at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextAccessor.getProperty(DynamicContext.java:120)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3338)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:560)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:524)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateIterable(ExpressionEvaluator.java:43)\r\n at org.apache.ibatis.scripting.xmltags.ForEachSqlNode.apply(ForEachSqlNode.java:54)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at org.apache.ibatis.executor.statement.BaseStatementHandler.(BaseStatementHandler.java:64)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.(PreparedStatementHandler.java:41)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.(RoutingStatementHandler.java:46)\r\n at org.apache.ibatis.session.Configuration.newStatementHandler(Configuration.java:658)\r\n at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doUpdate(MybatisSimpleExecutor.java:54)\r\n at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)\r\n at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.update(MybatisCachingExecutor.java:85)\r\n at sun.reflect.GeneratedMethodAccessor367.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:83)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy154.update(Unknown Source)\r\n at sun.reflect.GeneratedMethodAccessor367.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)\r\n at com.sun.proxy.$Proxy154.update(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)\r\n at sun.reflect.GeneratedMethodAccessor432.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 136 more\r\n', '2022-10-21 19:53:53', '2022-10-21 19:53:53'), - (397, 1, 1, '管理员', 'ERP进销存-商品管理', '删除 @author 卓大', '/goods/delete/2', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.delete', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:54:16', '2022-10-21 19:54:16'), - (398, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:54:16', '2022-10-21 19:54:16'), - (399, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:54:45', '2022-10-21 19:54:45'), - (400, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:54:45', '2022-10-21 19:54:45'), - (401, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:56:58', '2022-10-21 19:56:58'), - (402, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:56:58', '2022-10-21 19:56:58'), - (403, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:56:58', '2022-10-21 19:56:58'), - (404, 1, 1, '管理员', 'ERP进销存-商品管理', '批量 @author 卓大', '/goods/batchDelete', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.batchDelete', '[[4,3]]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:57:05', '2022-10-21 19:57:05'), - (405, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:57:05', '2022-10-21 19:57:05'), - (406, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:57:28', '2022-10-21 19:57:28'), - (407, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":"","shelvesFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:57:30', '2022-10-21 19:57:30'), - (408, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":"","shelvesFlag":false}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:57:31', '2022-10-21 19:57:31'), - (409, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:57:32', '2022-10-21 19:57:32'), - (410, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:57:33', '2022-10-21 19:57:33'), - (411, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":"","shelvesFlag":false}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:57:33', '2022-10-21 19:57:33'), - (412, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:57:34', '2022-10-21 19:57:34'), - (413, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:57:37', '2022-10-21 19:57:37'), - (414, 1, 1, '管理员', 'ERP进销存-商品管理', '更新商品 @author 胡克', '/goods/update', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.update', '[{"categoryId":353,"goodsId":1,"goodsName":"Mote60","goodsStatus":1,"place":"BEI_JING","price":9999,"shelvesFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:57:49', '2022-10-21 19:57:49'), - (415, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:57:49', '2022-10-21 19:57:49'), - (416, 1, 1, '管理员', 'ERP进销存-商品管理', '更新商品 @author 胡克', '/goods/update', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.update', '[{"categoryId":352,"goodsId":7,"goodsName":"iphone15 pro","goodsStatus":1,"place":"LUO_YANG","price":50000,"remark":"备注","shelvesFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:58:07', '2022-10-21 19:58:07'), - (417, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:58:07', '2022-10-21 19:58:07'), - (418, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:58:11', '2022-10-21 19:58:11'), - (419, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:59:28', '2022-10-21 19:59:28'), - (420, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:59:28', '2022-10-21 19:59:28'), - (421, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:59:30', '2022-10-21 19:59:30'), - (422, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:59:44', '2022-10-21 19:59:44'), - (423, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:59:45', '2022-10-21 19:59:45'), - (424, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:59:45', '2022-10-21 19:59:45'), - (425, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 19:59:46', '2022-10-21 19:59:46'), - (426, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"删除","menuType":3,"parentId":0,"permsType":1,"visibleFlag":true,"webPerms":"goods:delete"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:12', '2022-10-21 20:00:12'), - (427, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:13', '2022-10-21 20:00:13'), - (428, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:13', '2022-10-21 20:00:13'), - (429, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:18', '2022-10-21 20:00:18'), - (430, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:26', '2022-10-21 20:00:26'), - (431, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:26', '2022-10-21 20:00:26'), - (432, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:26', '2022-10-21 20:00:26'), - (433, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"contextMenuId":47,"disabledFlag":false,"frameFlag":false,"menuId":194,"menuName":"删除","menuType":3,"parentId":0,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"goods:delete"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:45', '2022-10-21 20:00:45'), - (434, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:45', '2022-10-21 20:00:45'), - (435, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:45', '2022-10-21 20:00:45'), - (436, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:48', '2022-10-21 20:00:48'), - (437, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:52', '2022-10-21 20:00:52'), - (438, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:53', '2022-10-21 20:00:53'), - (439, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:53', '2022-10-21 20:00:53'), - (440, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:00:59', '2022-10-21 20:00:59'), - (441, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:01:01', '2022-10-21 20:01:01'), - (442, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:01:03', '2022-10-21 20:01:03'), - (443, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:01:04', '2022-10-21 20:01:04'), - (444, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:01:04', '2022-10-21 20:01:04'), - (445, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:01:05', '2022-10-21 20:01:05'), - (446, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:02:16', '2022-10-21 20:02:16'), - (447, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:04:15', '2022-10-21 20:04:15'), - (448, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:04:38', '2022-10-21 20:04:38'), - (449, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":false,"menuId":194,"menuName":"删除","menuType":3,"parentId":47,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"goods:delete"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:04:58', '2022-10-21 20:04:58'), - (450, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:04:58', '2022-10-21 20:04:58'), - (451, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:05:11', '2022-10-21 20:05:11'), - (452, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:05:11', '2022-10-21 20:05:11'), - (453, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:05:12', '2022-10-21 20:05:12'), - (454, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"修改","menuType":3,"parentId":47,"permsType":1,"visibleFlag":true,"webPerms":"goods:update"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:05:24', '2022-10-21 20:05:24'), - (455, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:05:24', '2022-10-21 20:05:24'), - (456, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:05:53', '2022-10-21 20:05:53'), - (457, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:10:32', '2022-10-21 20:10:32'), - (458, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:10:43', '2022-10-21 20:10:43'), - (459, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:10:43', '2022-10-21 20:10:43'), - (460, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:10:43', '2022-10-21 20:10:43'), - (461, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:10:43', '2022-10-21 20:10:43'), - (462, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:10:43', '2022-10-21 20:10:43'), - (463, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:11:09', '2022-10-21 20:11:09'), - (464, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:11:09', '2022-10-21 20:11:09'), - (465, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:11:09', '2022-10-21 20:11:09'), - (466, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":["EnterpriseController.deleteEnterprise"],"cacheFlag":false,"contextMenuId":144,"disabledFlag":false,"frameFlag":false,"menuId":184,"menuName":"删除","menuType":3,"parentId":144,"permsType":2,"updateUserId":1,"visibleFlag":true,"webPerms":"enterprise:delete"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:11:24', '2022-10-21 20:11:24'), - (467, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:11:25', '2022-10-21 20:11:25'), - (468, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:12:25', '2022-10-21 20:12:25'), - (469, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:12:26', '2022-10-21 20:12:26'), - (470, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:12:28', '2022-10-21 20:12:28'), - (471, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:12:33', '2022-10-21 20:12:33'), - (472, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:12:33', '2022-10-21 20:12:33'), - (473, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:12:35', '2022-10-21 20:12:35'), - (474, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:12:44', '2022-10-21 20:12:44'), - (475, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:12:44', '2022-10-21 20:12:44'), - (476, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:12:44', '2022-10-21 20:12:44'), - (477, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":["EnterpriseController.deleteEnterprise"],"cacheFlag":false,"contextMenuId":144,"disabledFlag":false,"frameFlag":false,"menuId":181,"menuName":"查询","menuType":3,"parentId":144,"permsType":2,"updateUserId":1,"visibleFlag":true,"webPerms":"enterprise:query"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:15:12', '2022-10-21 20:15:12'), - (478, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:15:12', '2022-10-21 20:15:12'), - (479, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:15:20', '2022-10-21 20:15:20'), - (480, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:15:20', '2022-10-21 20:15:20'), - (481, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:15:20', '2022-10-21 20:15:20'), - (482, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":["EnterpriseController.createEnterprise"],"cacheFlag":false,"contextMenuId":144,"disabledFlag":false,"frameFlag":false,"menuId":182,"menuName":"新建","menuType":3,"parentId":144,"permsType":2,"updateUserId":1,"visibleFlag":true,"webPerms":"enterprise:add"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:15:30', '2022-10-21 20:15:30'), - (483, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:15:31', '2022-10-21 20:15:31'), - (484, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:15:33', '2022-10-21 20:15:33'), - (485, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:15:33', '2022-10-21 20:15:33'), - (486, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:15:33', '2022-10-21 20:15:33'), - (487, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":["EnterpriseController.updateEnterprise"],"cacheFlag":false,"contextMenuId":144,"disabledFlag":false,"frameFlag":false,"menuId":183,"menuName":"编辑","menuType":3,"parentId":144,"permsType":2,"updateUserId":1,"visibleFlag":true,"webPerms":"enterprise:edit"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:15:39', '2022-10-21 20:15:39'), - (488, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:15:40', '2022-10-21 20:15:40'), - (489, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:16:03', '2022-10-21 20:16:03'), - (490, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:16:03', '2022-10-21 20:16:03'), - (491, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:16:06', '2022-10-21 20:16:06'), - (492, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:16:12', '2022-10-21 20:16:12'), - (493, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:16:12', '2022-10-21 20:16:12'), - (494, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:16:15', '2022-10-21 20:16:15'), - (495, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"apiPermsList":["EnterpriseController.getDetail"],"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"查看详情","menuType":3,"parentId":145,"permsType":2,"visibleFlag":true,"webPerms":"enterprise:detail"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:16:47', '2022-10-21 20:16:47'), - (496, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:16:48', '2022-10-21 20:16:48'), - (497, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:17:48', '2022-10-21 20:17:48'), - (498, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:17:49', '2022-10-21 20:17:49'), - (499, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:17:57', '2022-10-21 20:17:57'), - (500, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:18:49', '2022-10-21 20:18:49'), - (501, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:18:49', '2022-10-21 20:18:49'), - (502, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:18:50', '2022-10-21 20:18:50'), - (503, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:18:52', '2022-10-21 20:18:52'), - (504, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:18:52', '2022-10-21 20:18:52'), - (505, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:18:52', '2022-10-21 20:18:52'), - (506, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:18:55', '2022-10-21 20:18:55'), - (507, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:18:55', '2022-10-21 20:18:55'), - (508, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:00', '2022-10-21 20:19:00'), - (509, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:06', '2022-10-21 20:19:06'), - (510, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:06', '2022-10-21 20:19:06'), - (511, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:06', '2022-10-21 20:19:06'), - (512, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":["NoticeController.query"],"cacheFlag":false,"contextMenuId":132,"disabledFlag":false,"frameFlag":false,"menuId":185,"menuName":"查询","menuType":3,"parentId":132,"permsType":2,"updateUserId":1,"visibleFlag":true,"webPerms":"notice:query"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:24', '2022-10-21 20:19:24'), - (513, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:24', '2022-10-21 20:19:24'), - (514, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:40', '2022-10-21 20:19:40'), - (515, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:40', '2022-10-21 20:19:40'), - (516, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:40', '2022-10-21 20:19:40'), - (517, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":["NoticeController.add"],"cacheFlag":false,"contextMenuId":132,"disabledFlag":false,"frameFlag":false,"menuId":186,"menuName":"新建","menuType":3,"parentId":132,"permsType":2,"updateUserId":1,"visibleFlag":true,"webPerms":"notice:add"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:49', '2022-10-21 20:19:49'), - (518, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:50', '2022-10-21 20:19:50'), - (519, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:53', '2022-10-21 20:19:53'), - (520, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:53', '2022-10-21 20:19:53'), - (521, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:19:53', '2022-10-21 20:19:53'), - (522, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:21:11', '2022-10-21 20:21:11'), - (523, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:21:11', '2022-10-21 20:21:11'), - (524, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:21:11', '2022-10-21 20:21:11'), - (525, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":["NoticeController.update"],"cacheFlag":false,"contextMenuId":132,"disabledFlag":false,"frameFlag":false,"menuId":187,"menuName":"编辑","menuType":3,"parentId":132,"permsType":2,"updateUserId":1,"visibleFlag":true,"webPerms":"notice:edit"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:21:16', '2022-10-21 20:21:16'), - (526, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:21:16', '2022-10-21 20:21:16'), - (527, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:21:18', '2022-10-21 20:21:18'), - (528, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:21:19', '2022-10-21 20:21:19'), - (529, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:21:19', '2022-10-21 20:21:19'), - (530, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":["NoticeController.delete"],"cacheFlag":false,"contextMenuId":132,"disabledFlag":false,"frameFlag":false,"menuId":188,"menuName":"删除","menuType":3,"parentId":132,"permsType":2,"updateUserId":1,"visibleFlag":true,"webPerms":"notice:delete"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:21:25', '2022-10-21 20:21:25'), - (531, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:21:26', '2022-10-21 20:21:26'), - (532, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:23:13', '2022-10-21 20:23:13'), - (533, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:26:00', '2022-10-21 20:26:00'), - (534, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:26:20', '2022-10-21 20:26:20'), - (535, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:26:24', '2022-10-21 20:26:24'), - (536, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:26:29', '2022-10-21 20:26:29'), - (537, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:32:16', '2022-10-21 20:32:16'), - (538, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:33:41', '2022-10-21 20:33:41'), - (539, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:33:41', '2022-10-21 20:33:41'), - (540, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:33:48', '2022-10-21 20:33:48'), - (541, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:01', '2022-10-21 20:37:01'), - (542, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:01', '2022-10-21 20:37:01'), - (543, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:01', '2022-10-21 20:37:01'), - (544, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:01', '2022-10-21 20:37:01'), - (545, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:01', '2022-10-21 20:37:01'), - (546, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"contextMenuId":133,"disabledFlag":true,"frameFlag":false,"menuId":153,"menuName":"清除缓存","menuType":3,"parentId":133,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"support:cache:delete"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:13', '2022-10-21 20:37:13'), - (547, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:14', '2022-10-21 20:37:14'), - (548, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:22', '2022-10-21 20:37:22'), - (549, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:22', '2022-10-21 20:37:22'), - (550, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:22', '2022-10-21 20:37:22'), - (551, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:34', '2022-10-21 20:37:34'), - (552, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:34', '2022-10-21 20:37:34'), - (553, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:35', '2022-10-21 20:37:35'), - (554, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"查询缓存","menuType":3,"parentId":133,"permsType":1,"visibleFlag":true,"webPerms":"support:cache:names"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:55', '2022-10-21 20:37:55'), - (555, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:37:56', '2022-10-21 20:37:56'), - (556, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:38:39', '2022-10-21 20:38:39'), - (557, 1, 1, '管理员', '系统-菜单', '批量删除菜单 @author 卓大', '/menu/batchDelete', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.batchDeleteMenu', '[[197]]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:38:53', '2022-10-21 20:38:53'), - (558, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:38:53', '2022-10-21 20:38:53'), - (559, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:40:10', '2022-10-21 20:40:10'), - (560, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:40:46', '2022-10-21 20:40:46'), - (561, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:40:46', '2022-10-21 20:40:46'), - (562, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:40:46', '2022-10-21 20:40:46'), - (563, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:40:46', '2022-10-21 20:40:46'), - (564, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:40:46', '2022-10-21 20:40:46'), - (565, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"contextMenuId":152,"disabledFlag":false,"frameFlag":false,"menuId":190,"menuName":"查询","menuType":3,"parentId":152,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"changeLog:query"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:00', '2022-10-21 20:42:00'), - (566, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:01', '2022-10-21 20:42:01'), - (567, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:07', '2022-10-21 20:42:07'), - (568, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:07', '2022-10-21 20:42:07'), - (569, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:07', '2022-10-21 20:42:07'), - (570, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"contextMenuId":152,"disabledFlag":false,"frameFlag":false,"menuId":191,"menuName":"新建","menuType":3,"parentId":152,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"changeLog:add"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:09', '2022-10-21 20:42:09'), - (571, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:09', '2022-10-21 20:42:09'), - (572, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:13', '2022-10-21 20:42:13'), - (573, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:14', '2022-10-21 20:42:14'), - (574, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:14', '2022-10-21 20:42:14'), - (575, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"contextMenuId":152,"disabledFlag":false,"frameFlag":false,"menuId":192,"menuName":"批量删除","menuType":3,"parentId":152,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"changeLog:batchDelete"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:16', '2022-10-21 20:42:16'), - (576, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:16', '2022-10-21 20:42:16'), - (577, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:19', '2022-10-21 20:42:19'), - (578, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:19', '2022-10-21 20:42:19'), - (579, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:21', '2022-10-21 20:42:21'), - (580, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"删除","menuType":3,"parentId":152,"permsType":1,"visibleFlag":true,"webPerms":"changeLog:delete"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:34', '2022-10-21 20:42:34'), - (581, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:42:35', '2022-10-21 20:42:35'), - (582, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:44:58', '2022-10-21 20:44:58'), - (583, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:44:58', '2022-10-21 20:44:58'), - (584, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:44:59', '2022-10-21 20:44:59'), - (585, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"查询","menuType":3,"parentId":109,"permsType":1,"visibleFlag":true,"webPerms":"support:config:query"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:45:14', '2022-10-21 20:45:14'), - (586, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:45:15', '2022-10-21 20:45:15'), - (587, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:47:12', '2022-10-21 20:47:12'), - (588, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:47:12', '2022-10-21 20:47:12'), - (589, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:47:13', '2022-10-21 20:47:13'), - (590, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"查询","menuType":3,"parentId":193,"permsType":1,"visibleFlag":true,"webPerms":"file:query"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:47:23', '2022-10-21 20:47:23'), - (591, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:47:24', '2022-10-21 20:47:24'), - (592, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:48:20', '2022-10-21 20:48:20'), - (593, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:48:31', '2022-10-21 20:48:31'), - (594, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:48:31', '2022-10-21 20:48:31'), - (595, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:48:31', '2022-10-21 20:48:31'), - (596, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:48:31', '2022-10-21 20:48:31'), - (597, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:48:32', '2022-10-21 20:48:32'), - (598, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:49:10', '2022-10-21 20:49:10'), - (599, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:49:10', '2022-10-21 20:49:10'), - (600, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:49:10', '2022-10-21 20:49:10'), - (601, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"contextMenuId":147,"disabledFlag":false,"frameFlag":false,"menuId":169,"menuName":"新建","menuType":3,"parentId":147,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"helpDoc:add"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:49:24', '2022-10-21 20:49:24'), - (602, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:49:25', '2022-10-21 20:49:25'), - (603, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:49:28', '2022-10-21 20:49:28'), - (604, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:49:28', '2022-10-21 20:49:28'), - (605, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:49:28', '2022-10-21 20:49:28'), - (606, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:49:55', '2022-10-21 20:49:55'), - (607, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:49:56', '2022-10-21 20:49:56'), - (608, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:49:56', '2022-10-21 20:49:56'), - (609, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"contextMenuId":147,"disabledFlag":false,"frameFlag":false,"menuId":171,"menuName":"修改目录","menuType":3,"parentId":147,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"helpDocCatalog:edit"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:50:01', '2022-10-21 20:50:01'), - (610, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:50:02', '2022-10-21 20:50:02'), - (611, 1, 1, '管理员', '系统-菜单', '批量删除菜单 @author 卓大', '/menu/batchDelete', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.batchDeleteMenu', '[[172]]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:50:36', '2022-10-21 20:50:36'), - (612, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 20:50:36', '2022-10-21 20:50:36'), - (613, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:02:52', '2022-10-21 21:02:52'), - (614, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:02:53', '2022-10-21 21:02:53'), - (615, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:02:54', '2022-10-21 21:02:54'), - (616, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"删除","menuType":3,"parentId":147,"permsType":1,"visibleFlag":true,"webPerms":"helpDoc:delete"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:03:20', '2022-10-21 21:03:20'), - (617, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:03:21', '2022-10-21 21:03:21'), - (618, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:03:21', '2022-10-21 21:03:21'), - (619, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:03:21', '2022-10-21 21:03:21'), - (620, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"更新","menuType":3,"parentId":147,"permsType":1,"visibleFlag":true,"webPerms":"helpDoc:update"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:03:32', '2022-10-21 21:03:32'), - (621, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:03:33', '2022-10-21 21:03:33'), - (622, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:04:57', '2022-10-21 21:04:57'), - (623, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:04:58', '2022-10-21 21:04:58'), - (624, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:04:59', '2022-10-21 21:04:59'), - (625, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"查询","menuType":3,"parentId":143,"permsType":1,"visibleFlag":true,"webPerms":"loginLog:query"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:05:11', '2022-10-21 21:05:11'), - (626, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:05:11', '2022-10-21 21:05:11'), - (627, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:05:49', '2022-10-21 21:05:49'), - (628, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:05:50', '2022-10-21 21:05:50'), - (629, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:05:52', '2022-10-21 21:05:52'), - (630, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:06:23', '2022-10-21 21:06:23'), - (631, 1, 1, '管理员', '系统-菜单', '批量删除菜单 @author 卓大', '/menu/batchDelete', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.batchDeleteMenu', '[[82]]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:06:32', '2022-10-21 21:06:32'), - (632, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-21 21:06:32', '2022-10-21 21:06:32'), - (633, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:29:21', '2022-10-22 10:29:21'), - (634, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:29:34', '2022-10-22 10:29:34'), - (635, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:29:34', '2022-10-22 10:29:34'), - (636, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:29:34', '2022-10-22 10:29:34'), - (637, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"component":"/support/operate-log/operate-log-list.vue","disabledFlag":false,"frameFlag":false,"icon":"VideoCameraOutlined","menuId":81,"menuName":"请求监控","menuType":2,"parentId":111,"path":"/support/log/operate-log/list","updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:29:40', '2022-10-22 10:29:40'), - (638, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:29:40', '2022-10-22 10:29:40'), - (639, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:29:44', '2022-10-22 10:29:44'), - (640, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:29:45', '2022-10-22 10:29:45'), - (641, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"component":"/support/operate-log/operate-log-list.vue","disabledFlag":false,"frameFlag":false,"icon":"VideoCameraOutlined","menuId":81,"menuName":"请求监控","menuType":2,"parentId":111,"path":"/support/operate-log/operate-log-list","updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:30:05', '2022-10-22 10:30:05'), - (642, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:30:06', '2022-10-22 10:30:06'), - (643, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:30:12', '2022-10-22 10:30:12'), - (644, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:30:12', '2022-10-22 10:30:12'), - (645, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:30:13', '2022-10-22 10:30:13'), - (646, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:33:09', '2022-10-22 10:33:09'), - (647, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:33:12', '2022-10-22 10:33:12'), - (648, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:33:12', '2022-10-22 10:33:12'), - (649, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:33:13', '2022-10-22 10:33:13'), - (650, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"查询","menuType":3,"parentId":81,"permsType":1,"visibleFlag":true,"webPerms":"operateLog:query"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:33:31', '2022-10-22 10:33:31'), - (651, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:33:31', '2022-10-22 10:33:31'), - (652, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:33:37', '2022-10-22 10:33:37'), - (653, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:33:37', '2022-10-22 10:33:37'), - (654, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:33:38', '2022-10-22 10:33:38'), - (655, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"详情","menuType":3,"parentId":81,"permsType":1,"visibleFlag":true,"webPerms":"operateLog:detail"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:33:49', '2022-10-22 10:33:49'), - (656, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:33:50', '2022-10-22 10:33:50'), - (657, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:36:17', '2022-10-22 10:36:17'), - (658, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:36:17', '2022-10-22 10:36:17'), - (659, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:36:17', '2022-10-22 10:36:17'), - (660, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:36:17', '2022-10-22 10:36:17'), - (661, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"contextMenuId":130,"disabledFlag":false,"frameFlag":false,"menuId":157,"menuName":"单号生成","menuType":3,"parentId":130,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"support:serial:number:generate"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:36:34', '2022-10-22 10:36:34'), - (662, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:36:35', '2022-10-22 10:36:35'), - (663, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:36:36', '2022-10-22 10:36:36'), - (664, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:36:36', '2022-10-22 10:36:36'), - (665, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:36:36', '2022-10-22 10:36:36'), - (666, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:36:37', '2022-10-22 10:36:37'), - (667, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"contextMenuId":130,"disabledFlag":false,"frameFlag":false,"menuId":158,"menuName":"生成记录","menuType":3,"parentId":130,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"support:serial:number:record"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:36:42', '2022-10-22 10:36:42'), - (668, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:36:43', '2022-10-22 10:36:43'), - (669, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:31', '2022-10-22 10:37:31'), - (670, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:31', '2022-10-22 10:37:31'), - (671, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:31', '2022-10-22 10:37:31'), - (672, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:31', '2022-10-22 10:37:31'), - (673, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"contextMenuId":117,"disabledFlag":false,"frameFlag":false,"menuId":155,"menuName":"执行","menuType":3,"parentId":117,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"support:reload:execute"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:33', '2022-10-22 10:37:33'), - (674, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:33', '2022-10-22 10:37:33'), - (675, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:34', '2022-10-22 10:37:34'), - (676, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:34', '2022-10-22 10:37:34'), - (677, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:35', '2022-10-22 10:37:35'), - (678, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:35', '2022-10-22 10:37:35'), - (679, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"contextMenuId":117,"disabledFlag":false,"frameFlag":false,"menuId":156,"menuName":"查看结果","menuType":3,"parentId":117,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"support:reload:result"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:36', '2022-10-22 10:37:36'), - (680, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:37', '2022-10-22 10:37:37'), - (681, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:38', '2022-10-22 10:37:38'), - (682, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:38', '2022-10-22 10:37:38'), - (683, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:38', '2022-10-22 10:37:38'), - (684, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:37:38', '2022-10-22 10:37:38'), - (685, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:38:44', '2022-10-22 10:38:44'), - (686, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:38:44', '2022-10-22 10:38:44'), - (687, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:38:44', '2022-10-22 10:38:44'), - (688, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:38:44', '2022-10-22 10:38:44'), - (689, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"contextMenuId":148,"disabledFlag":false,"frameFlag":false,"menuId":189,"menuName":"查询","menuType":3,"parentId":148,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"feedback:query"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:38:46', '2022-10-22 10:38:46'), - (690, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:38:46', '2022-10-22 10:38:46'), - (691, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:21', '2022-10-22 10:39:21'), - (692, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:21', '2022-10-22 10:39:21'), - (693, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:21', '2022-10-22 10:39:21'), - (694, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:22', '2022-10-22 10:39:22'), - (695, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:23', '2022-10-22 10:39:23'), - (696, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:23', '2022-10-22 10:39:23'), - (697, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:23', '2022-10-22 10:39:23'), - (698, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:24', '2022-10-22 10:39:24'), - (699, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:25', '2022-10-22 10:39:25'), - (700, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:25', '2022-10-22 10:39:25'), - (701, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:25', '2022-10-22 10:39:25'), - (702, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:26', '2022-10-22 10:39:26'), - (703, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:31', '2022-10-22 10:39:31'), - (704, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:31', '2022-10-22 10:39:31'), - (705, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:32', '2022-10-22 10:39:32'), - (706, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:32', '2022-10-22 10:39:32'), - (707, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:34', '2022-10-22 10:39:34'), - (708, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:35', '2022-10-22 10:39:35'), - (709, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:35', '2022-10-22 10:39:35'), - (710, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:35', '2022-10-22 10:39:35'), - (711, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:39:36', '2022-10-22 10:39:36'), - (712, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:40:45', '2022-10-22 10:40:45'), - (713, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:40:46', '2022-10-22 10:40:46'), - (714, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:40:46', '2022-10-22 10:40:46'), - (715, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:40:46', '2022-10-22 10:40:46'), - (716, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:41:40', '2022-10-22 10:41:40'), - (717, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:42:54', '2022-10-22 10:42:54'), - (718, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:44:24', '2022-10-22 10:44:24'), - (719, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:45:00', '2022-10-22 10:45:00'), - (720, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:45:00', '2022-10-22 10:45:00'), - (721, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:45:21', '2022-10-22 10:45:21'), - (722, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:45:39', '2022-10-22 10:45:39'), - (723, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:45:41', '2022-10-22 10:45:41'), - (724, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:45:47', '2022-10-22 10:45:47'), - (725, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:45:57', '2022-10-22 10:45:57'), - (726, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:45:57', '2022-10-22 10:45:57'), - (727, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:45:57', '2022-10-22 10:45:57'), - (728, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"component":"/support/heart-beat/heart-beat-list.vue","createUserId":1,"disabledFlag":false,"frameFlag":false,"icon":"FallOutlined","menuName":"心跳监控","menuType":2,"parentId":111,"path":"/support/heart-beat/heart-beat-list","permsType":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:47:03', '2022-10-22 10:47:03'), - (729, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:47:03', '2022-10-22 10:47:03'), - (730, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:47:11', '2022-10-22 10:47:11'), - (731, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:49:32', '2022-10-22 10:49:32'), - (732, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:49:32', '2022-10-22 10:49:32'), - (733, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:49:32', '2022-10-22 10:49:32'), - (734, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:49:36', '2022-10-22 10:49:36'), - (735, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:49:36', '2022-10-22 10:49:36'), - (736, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:10', '2022-10-22 10:54:10'), - (737, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:10', '2022-10-22 10:54:10'), - (738, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/34', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[34]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:12', '2022-10-22 10:54:12'), - (739, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/35', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[35]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:12', '2022-10-22 10:54:12'), - (740, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:13', '2022-10-22 10:54:13'), - (741, 1, 1, '管理员', '系统-角色-菜单', '更新角色权限 @author 卓大', '/role/menu/updateRoleMenu', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.updateRoleMenu', '[{"menuIdList":[45,46,86,87,88,91,92,93,94,95,96,76,97,98,99,100,101,102,103,104,26,40,105,106,108,50,130,157,158,193,200,122,111,143],"roleId":1}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:28', '2022-10-22 10:54:28'), - (742, 1, 1, '管理员', '系统-系统-数据范围', '获取当前系统所配置的所有数据范围 @author 罗伊', '/dataScope/list', 'net.lab1024.sa.admin.module.system.datascope.DataScopeController.dataScopeList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:30', '2022-10-22 10:54:30'), - (743, 1, 1, '管理员', '系统-角色-数据范围', '获取某角色所设置的数据范围 @author 卓大', '/role/dataScope/getRoleDataScopeList/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleDataScopeController.dataScopeListByRole', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:30', '2022-10-22 10:54:30'), - (744, 1, 1, '管理员', '系统-角色-员工', '查询某个角色下的员工列表 @author 卓大', '/role/employee/queryEmployee', 'net.lab1024.sa.admin.module.system.role.controller.RoleEmployeeController.queryEmployee', '[{"pageNum":1,"pageSize":15,"roleId":"1"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:30', '2022-10-22 10:54:30'), - (745, 1, 1, '管理员', '系统-角色-员工', '获取某个角色下的所有员工列表(无分页) @author 卓大', '/role/employee/getAllEmployeeByRoleId/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleEmployeeController.listAllEmployeeRoleId', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:32', '2022-10-22 10:54:32'), - (746, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:32', '2022-10-22 10:54:32'), - (747, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:32', '2022-10-22 10:54:32'), - (748, 1, 1, '管理员', '系统-角色-员工', '角色成员列表中批量添加员工 @author 卓大', '/role/employee/batchAddRoleEmployee', 'net.lab1024.sa.admin.module.system.role.controller.RoleEmployeeController.addEmployeeList', '[{"employeeIdList":[44],"roleId":1}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:35', '2022-10-22 10:54:35'), - (749, 1, 1, '管理员', '系统-角色-员工', '查询某个角色下的员工列表 @author 卓大', '/role/employee/queryEmployee', 'net.lab1024.sa.admin.module.system.role.controller.RoleEmployeeController.queryEmployee', '[{"pageNum":1,"pageSize":15,"roleId":"1"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:54:35', '2022-10-22 10:54:35'), - (750, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:54:55', '2022-10-22 10:54:55'), - (751, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:54:57', '2022-10-22 10:54:57'), - (752, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:55:11', '2022-10-22 10:55:11'), - (753, 44, 1, '卓大', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:55:21', '2022-10-22 10:55:21'), - (754, 44, 1, '卓大', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:55:21', '2022-10-22 10:55:21'), - (755, 44, 1, '卓大', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:55:21', '2022-10-22 10:55:21'), - (756, 44, 1, '卓大', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:56:36', '2022-10-22 10:56:36'), - (757, 44, 1, '卓大', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:56:36', '2022-10-22 10:56:36'), - (758, 44, 1, '卓大', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:56:36', '2022-10-22 10:56:36'), - (759, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:56:42', '2022-10-22 10:56:42'), - (760, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:56:48', '2022-10-22 10:56:48'), - (761, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:57:15', '2022-10-22 10:57:15'), - (762, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 10:57:16', '2022-10-22 10:57:16'), - (763, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:57:16', '2022-10-22 10:57:16'), - (764, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 10:58:43', '2022-10-22 10:58:43'), - (765, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:03:05', '2022-10-22 11:03:05'), - (766, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:03:06', '2022-10-22 11:03:06'), - (767, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:03:06', '2022-10-22 11:03:06'), - (768, 44, 1, '卓大', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:03:10', '2022-10-22 11:03:10'), - (769, 44, 1, '卓大', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:03:10', '2022-10-22 11:03:10'), - (770, 44, 1, '卓大', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:03:10', '2022-10-22 11:03:10'), - (771, 44, 1, '卓大', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:03:20', '2022-10-22 11:03:20'), - (772, 44, 1, '卓大', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:03:20', '2022-10-22 11:03:20'), - (773, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:07:41', '2022-10-22 11:07:41'), - (774, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:16:18', '2022-10-22 11:16:18'), - (775, 44, 1, '卓大', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:16:20', '2022-10-22 11:16:20'), - (776, 44, 1, '卓大', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:16:20', '2022-10-22 11:16:20'), - (777, 44, 1, '卓大', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:16:20', '2022-10-22 11:16:20'), - (778, 44, 1, '卓大', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":false,"icon":"UserSwitchOutlined","menuId":45,"menuName":"部门员工","menuType":1,"parentId":0,"path":"/organization","sort":100,"updateUserId":44,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:19:50', '2022-10-22 11:19:50'), - (779, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:19:50', '2022-10-22 11:19:50'), - (780, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:20:07', '2022-10-22 11:20:07'), - (781, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:20:57', '2022-10-22 11:20:57'), - (782, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:21:07', '2022-10-22 11:21:07'), - (783, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:21:07', '2022-10-22 11:21:07'), - (784, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:21:07', '2022-10-22 11:21:07'), - (785, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:21:07', '2022-10-22 11:21:07'), - (786, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:21:08', '2022-10-22 11:21:08'), - (787, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":false,"menuId":200,"menuName":"查询","menuType":3,"parentId":193,"permsType":1,"updateUserId":1,"visibleFlag":true,"webPerms":"support:file:query"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:21:10', '2022-10-22 11:21:10'), - (788, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:21:10', '2022-10-22 11:21:10'), - (789, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:21:43', '2022-10-22 11:21:43'), - (790, 44, 1, '卓大', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:21:44', '2022-10-22 11:21:44'), - (791, 44, 1, '卓大', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:21:45', '2022-10-22 11:21:45'), - (792, 44, 1, '卓大', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:21:45', '2022-10-22 11:21:45'), - (793, 44, 1, '卓大', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:21:45', '2022-10-22 11:21:45'), - (794, 44, 1, '卓大', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:21:45', '2022-10-22 11:21:45'), - (795, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:27:51', '2022-10-22 11:27:51'), - (796, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:27:51', '2022-10-22 11:27:51'), - (797, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"component":"/support/code-generator/code-generator-list.vue","disabledFlag":false,"frameFlag":false,"icon":"CoffeeOutlined","menuId":151,"menuName":"代码生成","menuType":2,"parentId":0,"path":"/support/code-generator","sort":600,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:27:58', '2022-10-22 11:27:58'), - (798, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:27:58', '2022-10-22 11:27:58'), - (799, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:27:58', '2022-10-22 11:27:58'), - (800, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:28:05', '2022-10-22 11:28:05'), - (801, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:28:05', '2022-10-22 11:28:05'), - (802, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:28:08', '2022-10-22 11:28:08'), - (803, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:29:25', '2022-10-22 11:29:25'), - (804, 1, 1, '管理员', '系统-菜单', '添加菜单 @author 卓大', '/menu/add', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.addMenu', '[{"cacheFlag":false,"createUserId":1,"disabledFlag":false,"frameFlag":false,"menuName":"更新","menuType":3,"parentId":152,"permsType":1,"visibleFlag":true,"webPerms":"changeLog:update"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:51:32', '2022-10-22 11:51:32'), - (805, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 11:51:32', '2022-10-22 11:51:32'), - (806, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:56:11', '2022-10-22 11:56:11'), - (807, 44, 1, '卓大', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:56:14', '2022-10-22 11:56:14'), - (808, 44, 1, '卓大', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:56:14', '2022-10-22 11:56:14'), - (809, 44, 1, '卓大', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:56:14', '2022-10-22 11:56:14'), - (810, 44, 1, '卓大', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:56:16', '2022-10-22 11:56:16'), - (811, 44, 1, '卓大', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:56:16', '2022-10-22 11:56:16'), - (812, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:56:17', '2022-10-22 11:56:17'), - (813, 44, 1, '卓大', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:56:18', '2022-10-22 11:56:18'), - (814, 44, 1, '卓大', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:56:18', '2022-10-22 11:56:18'), - (815, 44, 1, '卓大', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:56:18', '2022-10-22 11:56:18'), - (816, 44, 1, '卓大', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":false,"icon":"UserSwitchOutlined","menuId":45,"menuName":"部门员工","menuType":1,"parentId":0,"path":"/organization","sort":100,"updateUserId":44,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:56:19', '2022-10-22 11:56:19'), - (817, 44, 1, '卓大', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 11:56:20', '2022-10-22 11:56:20'), - (818, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 14:42:06', '2022-10-22 14:42:06'), - (819, 44, 1, '卓大', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 14:56:22', '2022-10-22 14:56:22'), - (820, 44, 1, '卓大', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 14:56:25', '2022-10-22 14:56:25'), - (821, 44, 1, '卓大', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 14:56:26', '2022-10-22 14:56:26'), - (822, 44, 1, '卓大', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 14:56:26', '2022-10-22 14:56:26'), - (823, 44, 1, '卓大', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 14:56:30', '2022-10-22 14:56:30'), - (824, 44, 1, '卓大', 'OA办公-企业', '新建企业 @author 开云', '/oa/enterprise/create', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.createEnterprise', '[{"address":"1024大楼","city":410300,"cityName":"洛阳市","contact":"卓大","contactPhone":"18637925892","createUserId":44,"createUserName":"卓大","disabledFlag":false,"district":410311,"districtName":"洛龙区","email":"lab1024@163.com","enterpriseLogo":"public/common/fb827d63dda74a60ab8b4f70cc7c7d0a_20221022145641_jpg","enterpriseName":"1024创新实验室","province":410000,"provinceName":"河南省","type":1,"unifiedSocialCreditCode":"1024lab"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 14:57:36', '2022-10-22 14:57:36'), - (825, 44, 1, '卓大', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47', 1, NULL, '2022-10-22 14:57:37', '2022-10-22 14:57:37'), - (826, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:00:49', '2022-10-22 17:00:49'), - (827, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:02:36', '2022-10-22 17:02:36'), - (828, 1, 1, '管理员', 'OA办公-企业', '新建企业 @author 开云', '/oa/enterprise/create', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.createEnterprise', '[{"address":"区块链大楼","businessLicense":"public/common/852b7e19bef94af39c1a6156edf47cfb_20221022170332_jpg","city":410300,"cityName":"洛阳市","contact":"开云","contactPhone":"18637925892","createUserId":1,"createUserName":"管理员","disabledFlag":false,"district":410311,"districtName":"洛龙区","enterpriseLogo":"public/common/f4a76fa720814949a610f05f6f9545bf_20221022170256_jpg","enterpriseName":"1024创新区块链实验室","province":410000,"provinceName":"河南省","type":1,"unifiedSocialCreditCode":"1024lab_block"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:03:35', '2022-10-22 17:03:35'), - (829, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:03:35', '2022-10-22 17:03:35'), - (830, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:04:03', '2022-10-22 17:04:03'), - (831, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:04:19', '2022-10-22 17:04:19'), - (832, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:04:24', '2022-10-22 17:04:24'), - (833, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:04:24', '2022-10-22 17:04:24'), - (834, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:04:43', '2022-10-22 17:04:43'), - (835, 1, 1, '管理员', 'OA办公-企业', '企业查询员工 @author 罗伊', '/oa/enterprise/employee/list', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.employeeList', '[[2]]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:04:56', '2022-10-22 17:04:56'), - (836, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:04:56', '2022-10-22 17:04:56'), - (837, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:04:56', '2022-10-22 17:04:56'), - (838, 1, 1, '管理员', 'OA办公-企业', '企业查询员工 @author 罗伊', '/oa/enterprise/employee/list', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.employeeList', '[[2]]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:07:25', '2022-10-22 17:07:25'), - (839, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:07:26', '2022-10-22 17:07:26'), - (840, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:07:32', '2022-10-22 17:07:32'), - (841, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:11:13', '2022-10-22 17:11:13'), - (842, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:11:13', '2022-10-22 17:11:13'), - (843, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:53:33', '2022-10-22 17:53:33'), - (844, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:53:33', '2022-10-22 17:53:33'), - (845, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:53:35', '2022-10-22 17:53:35'), - (846, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:53:35', '2022-10-22 17:53:35'), - (847, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:53:37', '2022-10-22 17:53:37'), - (848, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:53:37', '2022-10-22 17:53:37'), - (849, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:53:56', '2022-10-22 17:53:56'), - (850, 1, 1, '管理员', 'OA办公-企业', '分页查询企业员工 @author 卓大', '/oa/enterprise/employee/queryPage', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList', '[{"enterpriseId":2,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.springframework.jdbc.BadSqlGrammarException: \r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\r\n### The error may exist in file [E:\\code\\transport-projects\\yuxin-tms\\1024lab-tms-service\\sa-admin\\target\\classes\\mapper\\business\\oa\\enterprise\\EnterpriseEmployeeMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT COUNT(*) FROM (select t_oa_enterprise_employee.*, t_oa_enterprise.enterprise_name, t_employee.*, t_employee.actual_name as employeeName, from t_oa_enterprise_employee left join t_oa_enterprise on t_oa_enterprise_employee.enterprise_id = t_oa_enterprise.enterprise_id left join t_employee on t_oa_enterprise_employee.employee_id = t_employee.employee_id where t_oa_enterprise_employee.enterprise_id = ?) TOTAL\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\r\n at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239)\r\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy171.queryPageEmployeeList(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService.queryPageEmployeeList(EnterpriseService.java:246)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService$$EnhancerBySpringCGLIB$$1.queryPageEmployeeList()\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList(EnterpriseController.java:105)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController$$EnhancerBySpringCGLIB$$1.queryPageEmployeeList()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\r\n at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)\r\n at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370)\r\n at com.p6spy.engine.wrapper.PreparedStatementWrapper.execute(PreparedStatementWrapper.java:362)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)\r\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)\r\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)\r\n at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)\r\n at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)\r\n at sun.reflect.GeneratedMethodAccessor258.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)\r\n at com.sun.proxy.$Proxy159.execute(Unknown Source)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)\r\n at sun.reflect.GeneratedMethodAccessor268.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)\r\n at com.sun.proxy.$Proxy157.query(Unknown Source)\r\n at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69)\r\n at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)\r\n at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)\r\n at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165)\r\n at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:134)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:59)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy155.query(Unknown Source)\r\n at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:64)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy155.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor281.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 137 more\r\n', '2022-10-22 17:54:08', '2022-10-22 17:54:08'), - (851, 1, 1, '管理员', 'OA办公-企业', '分页查询企业员工 @author 卓大', '/oa/enterprise/employee/queryPage', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList', '[{"enterpriseId":2,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.springframework.jdbc.BadSqlGrammarException: \r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\r\n### The error may exist in file [E:\\code\\transport-projects\\yuxin-tms\\1024lab-tms-service\\sa-admin\\target\\classes\\mapper\\business\\oa\\enterprise\\EnterpriseEmployeeMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT COUNT(*) FROM (select t_oa_enterprise_employee.*, t_oa_enterprise.enterprise_name, t_employee.*, t_employee.actual_name as employeeName, from t_oa_enterprise_employee left join t_oa_enterprise on t_oa_enterprise_employee.enterprise_id = t_oa_enterprise.enterprise_id left join t_employee on t_oa_enterprise_employee.employee_id = t_employee.employee_id where t_oa_enterprise_employee.enterprise_id = ?) TOTAL\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\r\n at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239)\r\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy171.queryPageEmployeeList(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService.queryPageEmployeeList(EnterpriseService.java:246)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService$$EnhancerBySpringCGLIB$$1.queryPageEmployeeList()\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList(EnterpriseController.java:105)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController$$EnhancerBySpringCGLIB$$1.queryPageEmployeeList()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\r\n at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)\r\n at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370)\r\n at com.p6spy.engine.wrapper.PreparedStatementWrapper.execute(PreparedStatementWrapper.java:362)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)\r\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)\r\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)\r\n at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)\r\n at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)\r\n at sun.reflect.GeneratedMethodAccessor258.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)\r\n at com.sun.proxy.$Proxy159.execute(Unknown Source)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)\r\n at sun.reflect.GeneratedMethodAccessor268.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)\r\n at com.sun.proxy.$Proxy157.query(Unknown Source)\r\n at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69)\r\n at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)\r\n at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)\r\n at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165)\r\n at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:134)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:59)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy155.query(Unknown Source)\r\n at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:64)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy155.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor281.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 137 more\r\n', '2022-10-22 17:54:09', '2022-10-22 17:54:09'), - (852, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:54:16', '2022-10-22 17:54:16'), - (853, 1, 1, '管理员', 'OA办公-企业', '分页查询企业员工 @author 卓大', '/oa/enterprise/employee/queryPage', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList', '[{"enterpriseId":2,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.springframework.jdbc.BadSqlGrammarException: \r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\r\n### The error may exist in file [E:\\code\\transport-projects\\yuxin-tms\\1024lab-tms-service\\sa-admin\\target\\classes\\mapper\\business\\oa\\enterprise\\EnterpriseEmployeeMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT COUNT(*) FROM (select t_oa_enterprise_employee.*, t_oa_enterprise.enterprise_name, t_employee.*, t_employee.actual_name as employeeName, from t_oa_enterprise_employee left join t_oa_enterprise on t_oa_enterprise_employee.enterprise_id = t_oa_enterprise.enterprise_id left join t_employee on t_oa_enterprise_employee.employee_id = t_employee.employee_id where t_oa_enterprise_employee.enterprise_id = ?) TOTAL\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\r\n at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239)\r\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy171.queryPageEmployeeList(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService.queryPageEmployeeList(EnterpriseService.java:246)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService$$EnhancerBySpringCGLIB$$1.queryPageEmployeeList()\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList(EnterpriseController.java:105)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController$$EnhancerBySpringCGLIB$$1.queryPageEmployeeList()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\r\n at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)\r\n at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370)\r\n at com.p6spy.engine.wrapper.PreparedStatementWrapper.execute(PreparedStatementWrapper.java:362)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)\r\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)\r\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)\r\n at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)\r\n at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)\r\n at sun.reflect.GeneratedMethodAccessor258.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)\r\n at com.sun.proxy.$Proxy159.execute(Unknown Source)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)\r\n at sun.reflect.GeneratedMethodAccessor268.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)\r\n at com.sun.proxy.$Proxy157.query(Unknown Source)\r\n at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69)\r\n at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)\r\n at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)\r\n at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165)\r\n at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:134)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:59)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy155.query(Unknown Source)\r\n at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:64)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy155.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor281.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 137 more\r\n', '2022-10-22 17:54:16', '2022-10-22 17:54:16'), - (854, 1, 1, '管理员', 'OA办公-企业', '分页查询企业员工 @author 卓大', '/oa/enterprise/employee/queryPage', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList', '[{"enterpriseId":2,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:55:15', '2022-10-22 17:55:15'), - (855, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:55:15', '2022-10-22 17:55:15'), - (856, 1, 1, '管理员', 'OA办公-企业', '查询企业全部员工 @author 罗伊', '/oa/enterprise/employee/list', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.employeeList', '[[2]]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 0, 'org.springframework.jdbc.BadSqlGrammarException: \r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\r\n### The error may exist in file [E:\\code\\transport-projects\\yuxin-tms\\1024lab-tms-service\\sa-admin\\target\\classes\\mapper\\business\\oa\\enterprise\\EnterpriseEmployeeMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: select t_oa_enterprise_employee.*, t_oa_enterprise.enterprise_name, t_employee.*, t_employee.actual_name as employeeName, from t_oa_enterprise_employee left join t_oa_enterprise on t_oa_enterprise_employee.enterprise_id = t_oa_enterprise.enterprise_id left join t_employee on t_oa_enterprise_employee.employee_id = t_employee.employee_id where t_oa_enterprise_employee.enterprise_id in ( ? )\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\r\n at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239)\r\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)\r\n at com.sun.proxy.$Proxy114.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy171.selectByEnterpriseIdList(Unknown Source)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService.employeeList(EnterpriseService.java:234)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseService$$EnhancerBySpringCGLIB$$1.employeeList()\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.employeeList(EnterpriseController.java:98)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController$$FastClassBySpringCGLIB$$1.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:57)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)\r\n at net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController$$EnhancerBySpringCGLIB$$1.employeeList()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:84)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at net.lab1024.sa.common.common.security.SecurityTokenFilter.doFilterInternal(SecurityTokenFilter.java:62)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:97)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'from t_oa_enterprise_employee\n left join t_oa_enterprise on t_oa_enterpr\' at line 6\r\n at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)\r\n at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:370)\r\n at com.p6spy.engine.wrapper.PreparedStatementWrapper.execute(PreparedStatementWrapper.java:362)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)\r\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)\r\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)\r\n at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)\r\n at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)\r\n at sun.reflect.GeneratedMethodAccessor258.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)\r\n at com.sun.proxy.$Proxy159.execute(Unknown Source)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)\r\n at sun.reflect.GeneratedMethodAccessor268.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)\r\n at com.sun.proxy.$Proxy157.query(Unknown Source)\r\n at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69)\r\n at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)\r\n at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)\r\n at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy155.query(Unknown Source)\r\n at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\r\n at net.lab1024.sa.admin.module.system.datascope.MyBatisPlugin.intercept(MyBatisPlugin.java:64)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at com.sun.proxy.$Proxy155.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\r\n at sun.reflect.GeneratedMethodAccessor281.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)\r\n ... 137 more\r\n', '2022-10-22 17:55:17', '2022-10-22 17:55:17'), - (857, 1, 1, '管理员', 'OA办公-企业', '分页查询企业员工 @author 卓大', '/oa/enterprise/employee/queryPage', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList', '[{"enterpriseId":2,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:56:13', '2022-10-22 17:56:13'), - (858, 1, 1, '管理员', 'OA办公-企业', '查询企业全部员工 @author 罗伊', '/oa/enterprise/employee/list', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.employeeList', '[[2]]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:56:14', '2022-10-22 17:56:14'), - (859, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:56:14', '2022-10-22 17:56:14'), - (860, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:56:14', '2022-10-22 17:56:14'), - (861, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:40', '2022-10-22 17:57:40'), - (862, 1, 1, '管理员', 'OA办公-企业', '分页查询企业员工 @author 卓大', '/oa/enterprise/employee/queryPage', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList', '[{"enterpriseId":2,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:40', '2022-10-22 17:57:40'), - (863, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:40', '2022-10-22 17:57:40'), - (864, 1, 1, '管理员', 'OA办公-企业', '分页查询企业员工 @author 卓大', '/oa/enterprise/employee/queryPage', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList', '[{"enterpriseId":2,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:40', '2022-10-22 17:57:40'), - (865, 1, 1, '管理员', 'OA办公-企业', '分页查询企业员工 @author 卓大', '/oa/enterprise/employee/queryPage', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList', '[{"enterpriseId":2,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:45', '2022-10-22 17:57:45'), - (866, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:45', '2022-10-22 17:57:45'), - (867, 1, 1, '管理员', 'OA办公-企业', '查询企业全部员工 @author 罗伊', '/oa/enterprise/employee/list', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.employeeList', '[[2]]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:45', '2022-10-22 17:57:45'), - (868, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:46', '2022-10-22 17:57:46'), - (869, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:46', '2022-10-22 17:57:46'), - (870, 1, 1, '管理员', 'OA办公-企业', '企业添加员工 @author 罗伊', '/oa/enterprise/employee/add', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.addEmployee', '[{"employeeIdList":[2,44,47],"enterpriseId":2}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:50', '2022-10-22 17:57:50'), - (871, 1, 1, '管理员', 'OA办公-企业', '分页查询企业员工 @author 卓大', '/oa/enterprise/employee/queryPage', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList', '[{"enterpriseId":2,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:50', '2022-10-22 17:57:50'), - (872, 1, 1, '管理员', 'OA办公-企业', '企业删除员工 @author 罗伊', '/oa/enterprise/employee/delete', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.deleteEmployee', '[{"employeeIdList":[47],"enterpriseId":2}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:55', '2022-10-22 17:57:55'), - (873, 1, 1, '管理员', 'OA办公-企业', '分页查询企业员工 @author 卓大', '/oa/enterprise/employee/queryPage', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryPageEmployeeList', '[{"enterpriseId":2,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:57:55', '2022-10-22 17:57:55'), - (874, 1, 1, '管理员', 'OA办公-发票信息', '分页查询发票信息 @author 善逸', '/oa/invoice/page/query', 'net.lab1024.sa.admin.module.business.oa.invoice.InvoiceController.queryByPage', '[{"deletedFlag":false,"enterpriseId":2,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:59:21', '2022-10-22 17:59:21'), - (875, 1, 1, '管理员', 'OA办公-发票信息', '新建发票信息 @author 善逸', '/oa/invoice/create', 'net.lab1024.sa.admin.module.business.oa.invoice.InvoiceController.createInvoice', '[{"accountNumber":"1024lab","bankName":"中国银行","createUserId":1,"createUserName":"管理员","disabledFlag":false,"enterpriseId":2,"invoiceHeads":"1024创新实验室","remark":"","taxpayerIdentificationNumber":"1024lab"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:59:35', '2022-10-22 17:59:35'), - (876, 1, 1, '管理员', 'OA办公-发票信息', '分页查询发票信息 @author 善逸', '/oa/invoice/page/query', 'net.lab1024.sa.admin.module.business.oa.invoice.InvoiceController.queryByPage', '[{"deletedFlag":false,"enterpriseId":2,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:59:35', '2022-10-22 17:59:35'), - (877, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:59:42', '2022-10-22 17:59:42'), - (878, 1, 1, '管理员', 'OA办公-企业', '编辑企业 @author 开云', '/oa/enterprise/update', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.updateEnterprise', '[{"address":"1024大楼","city":410300,"cityName":"洛阳市","contact":"卓大","contactPhone":"18637925892","createUserId":44,"createUserName":"卓大","disabledFlag":false,"district":410311,"districtName":"洛龙区","email":"lab1024@163.com","enterpriseId":2,"enterpriseLogo":"public/common/fb827d63dda74a60ab8b4f70cc7c7d0a_20221022145641_jpg","enterpriseName":"1024创新实验室1","province":410000,"provinceName":"河南省","type":1,"unifiedSocialCreditCode":"1024lab"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:59:49', '2022-10-22 17:59:49'), - (879, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:59:49', '2022-10-22 17:59:49'), - (880, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:59:50', '2022-10-22 17:59:50'), - (881, 1, 1, '管理员', 'OA办公-企业', '编辑企业 @author 开云', '/oa/enterprise/update', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.updateEnterprise', '[{"address":"1024大楼","city":410300,"cityName":"洛阳市","contact":"卓大","contactPhone":"18637925892","createUserId":44,"createUserName":"卓大","disabledFlag":false,"district":410311,"districtName":"洛龙区","email":"lab1024@163.com","enterpriseId":2,"enterpriseLogo":"public/common/fb827d63dda74a60ab8b4f70cc7c7d0a_20221022145641_jpg","enterpriseName":"1024创新实验室","province":410000,"provinceName":"河南省","type":1,"unifiedSocialCreditCode":"1024lab"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:59:52', '2022-10-22 17:59:52'), - (882, 1, 1, '管理员', 'OA办公-企业', '查询企业详情 @author 开云', '/oa/enterprise/get/2', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.getDetail', '[2]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 17:59:52', '2022-10-22 17:59:52'), - (883, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:00:07', '2022-10-22 18:00:07'), - (884, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:00:19', '2022-10-22 18:00:19'), - (885, 1, 1, '管理员', '系统-部门管理', '查询部门树形列表 @author 卓大', '/department/treeList', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.departmentTree', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:00:25', '2022-10-22 18:00:25'), - (886, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:02', '2022-10-22 18:29:02'), - (887, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:02', '2022-10-22 18:29:02'), - (888, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:03', '2022-10-22 18:29:03'), - (889, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:09', '2022-10-22 18:29:09'), - (890, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:09', '2022-10-22 18:29:09'), - (891, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:11', '2022-10-22 18:29:11'), - (892, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:44', '2022-10-22 18:29:44'), - (893, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:47', '2022-10-22 18:29:47'), - (894, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":2,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:48', '2022-10-22 18:29:48'), - (895, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:48', '2022-10-22 18:29:48'), - (896, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:49', '2022-10-22 18:29:49'), - (897, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:51', '2022-10-22 18:29:51'), - (898, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:51', '2022-10-22 18:29:51'), - (899, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:52', '2022-10-22 18:29:52'), - (900, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:52', '2022-10-22 18:29:52'), - (901, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:52', '2022-10-22 18:29:52'), - (902, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:53', '2022-10-22 18:29:53'), - (903, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:57', '2022-10-22 18:29:57'), - (904, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:57', '2022-10-22 18:29:57'), - (905, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:29:57', '2022-10-22 18:29:57'), - (906, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:04', '2022-10-22 18:30:04'), - (907, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:04', '2022-10-22 18:30:04'), - (908, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:12', '2022-10-22 18:30:12'), - (909, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:12', '2022-10-22 18:30:12'), - (910, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":false,"icon":"BankOutlined","menuId":138,"menuName":"OA系统","menuType":1,"parentId":0,"sort":1,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:15', '2022-10-22 18:30:15'), - (911, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:16', '2022-10-22 18:30:16'), - (912, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:17', '2022-10-22 18:30:17'), - (913, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:17', '2022-10-22 18:30:17'), - (914, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":false,"icon":"AccountBookOutlined","menuId":137,"menuName":"进销存系统","menuType":1,"parentId":0,"sort":2,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:19', '2022-10-22 18:30:19'), - (915, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:19', '2022-10-22 18:30:19'), - (916, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:24', '2022-10-22 18:30:24'), - (917, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:24', '2022-10-22 18:30:24'), - (918, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":false,"icon":"FileWordOutlined","menuId":146,"menuName":"系统文档","menuType":1,"parentId":0,"sort":3,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:26', '2022-10-22 18:30:26'), - (919, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:26', '2022-10-22 18:30:26'), - (920, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:33', '2022-10-22 18:30:33'), - (921, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:30:40', '2022-10-22 18:30:40'), - (922, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:31:17', '2022-10-22 18:31:17'), - (923, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:31:17', '2022-10-22 18:31:17'), - (924, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:31:35', '2022-10-22 18:31:35'), - (925, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":2,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:31:36', '2022-10-22 18:31:36'), - (926, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:31:37', '2022-10-22 18:31:37'), - (927, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:31:37', '2022-10-22 18:31:37'), - (928, 1, 1, '管理员', '系统-部门管理', '查询部门列表 @author 卓大', '/department/listAll', 'net.lab1024.sa.admin.module.system.department.controller.DepartmentController.listAll', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:31:46', '2022-10-22 18:31:46'), - (929, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:31:46', '2022-10-22 18:31:46'), - (930, 1, 1, '管理员', '系统-员工管理', '员工管理查询 @author 卓大', '/employee/query', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.query', '[{"deletedFlag":false,"departmentId":1,"disabledFlag":false,"pageNum":1,"pageSize":15}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:31:46', '2022-10-22 18:31:46'), - (931, 1, 1, '管理员', '系统-角色', '获取所有角色 @author 卓大', '/role/getAll', 'net.lab1024.sa.admin.module.system.role.controller.RoleController.getAllRole', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:31:47', '2022-10-22 18:31:47'), - (932, 1, 1, '管理员', '系统-角色-菜单', '获取角色关联菜单权限 @author 卓大', '/role/menu/getRoleSelectedMenu/1', 'net.lab1024.sa.admin.module.system.role.controller.RoleMenuController.getRoleSelectedMenu', '[1]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:31:47', '2022-10-22 18:31:47'), - (933, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:31:49', '2022-10-22 18:31:49'), - (934, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:23', '2022-10-22 18:32:23'), - (935, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:28', '2022-10-22 18:32:28'), - (936, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:28', '2022-10-22 18:32:28'), - (937, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:28', '2022-10-22 18:32:28'), - (938, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":false,"icon":"BarChartOutlined","menuId":111,"menuName":"监控服务","menuType":1,"parentId":0,"path":"/monitor","sort":4,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:31', '2022-10-22 18:32:31'), - (939, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:31', '2022-10-22 18:32:31'), - (940, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:35', '2022-10-22 18:32:35'), - (941, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:35', '2022-10-22 18:32:35'), - (942, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":false,"icon":"NodeCollapseOutlined","menuId":114,"menuName":"运维工具","menuType":1,"parentId":0,"sort":5,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:37', '2022-10-22 18:32:37'), - (943, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:37', '2022-10-22 18:32:37'), - (944, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:48', '2022-10-22 18:32:48'), - (945, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:48', '2022-10-22 18:32:48'), - (946, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"component":"/support/heart-beat/heart-beat-list.vue","disabledFlag":false,"frameFlag":false,"icon":"FallOutlined","menuId":206,"menuName":"心跳监控","menuType":2,"parentId":111,"path":"/support/heart-beat/heart-beat-list","permsType":1,"sort":1,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:52', '2022-10-22 18:32:52'), - (947, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:32:52', '2022-10-22 18:32:52'), - (948, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:00', '2022-10-22 18:33:00'), - (949, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:00', '2022-10-22 18:33:00'), - (950, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"component":"/support/login-log/login-log-list.vue","disabledFlag":false,"frameFlag":false,"icon":"LoginOutlined","menuId":143,"menuName":"登录日志","menuType":2,"parentId":111,"path":"/support/login-log/login-log-list","sort":2,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:03', '2022-10-22 18:33:03'), - (951, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:03', '2022-10-22 18:33:03'), - (952, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:05', '2022-10-22 18:33:05'), - (953, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:05', '2022-10-22 18:33:05'), - (954, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"disabledFlag":false,"frameFlag":true,"frameUrl":"http://localhost:60001/druid/index.html","icon":"ConsoleSqlOutlined","menuId":122,"menuName":"数据库监控","menuType":2,"parentId":111,"path":"/support/druid/index","sort":4,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:07', '2022-10-22 18:33:07'), - (955, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:07', '2022-10-22 18:33:07'), - (956, 1, 1, '管理员', '系统-菜单', '获取所有请求路径 @author 卓大', '/menu/auth/url', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.getAuthUrl', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:08', '2022-10-22 18:33:08'), - (957, 1, 1, '管理员', '系统-菜单', '查询菜单树 @author 卓大', '/menu/tree', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuTree', '[true]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:08', '2022-10-22 18:33:08'), - (958, 1, 1, '管理员', '系统-菜单', '更新菜单 @author 卓大', '/menu/update', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.updateMenu', '[{"apiPermsList":[],"cacheFlag":false,"component":"/support/operate-log/operate-log-list.vue","disabledFlag":false,"frameFlag":false,"icon":"VideoCameraOutlined","menuId":81,"menuName":"请求监控","menuType":2,"parentId":111,"path":"/support/operate-log/operate-log-list","sort":3,"updateUserId":1,"visibleFlag":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:10', '2022-10-22 18:33:10'), - (959, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:10', '2022-10-22 18:33:10'), - (960, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:31', '2022-10-22 18:33:31'), - (961, 1, 1, '管理员', '系统-菜单', '查询菜单列表 @author 卓大', '/menu/query', 'net.lab1024.sa.admin.module.system.menu.controller.MenuController.queryMenuList', '[]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:33:36', '2022-10-22 18:33:36'), - (962, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":15,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:34:16', '2022-10-22 18:34:16'), - (963, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":10,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:35:57', '2022-10-22 18:35:57'), - (964, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:36:04', '2022-10-22 18:36:04'), - (965, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":2,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:36:05', '2022-10-22 18:36:05'), - (966, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:36:05', '2022-10-22 18:36:05'), - (967, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:36:05', '2022-10-22 18:36:05'), - (968, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":10,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:58:40', '2022-10-22 18:58:40'), - (969, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:58:42', '2022-10-22 18:58:42'), - (970, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":2,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:58:43', '2022-10-22 18:58:43'), - (971, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:58:44', '2022-10-22 18:58:44'), - (972, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:58:44', '2022-10-22 18:58:44'), - (973, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":10,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 18:59:23', '2022-10-22 18:59:23'), - (974, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 19:01:51', '2022-10-22 19:01:51'), - (975, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":2,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 19:01:52', '2022-10-22 19:01:52'), - (976, 1, 1, '管理员', 'ERP进销存-分类管理', '查询类目层级树 @author 胡克', '/category/tree', 'net.lab1024.sa.admin.module.business.category.controller.CategoryController.queryTree', '[{"categoryType":1,"parentId":0}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 19:01:53', '2022-10-22 19:01:53'), - (977, 1, 1, '管理员', 'ERP进销存-商品管理', '分页查询 @author 胡克', '/goods/query', 'net.lab1024.sa.admin.module.business.goods.controller.GoodsController.query', '[{"deletedFlag":false,"pageNum":1,"pageSize":10,"searchWord":""}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 19:01:53', '2022-10-22 19:01:53'), - (978, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":10,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 19:02:02', '2022-10-22 19:02:02'), - (979, 1, 1, '管理员', 'OA办公-企业', '分页查询企业模块 @author 开云', '/oa/enterprise/page/query', 'net.lab1024.sa.admin.module.business.oa.enterprise.EnterpriseController.queryByPage', '[{"deletedFlag":false,"keywords":"","pageNum":1,"pageSize":10,"searchCount":true}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 19:02:06', '2022-10-22 19:02:06'), - (980, 1, 1, '管理员', '系统-员工管理', '修改密码 @author 卓大', '/employee/update/password', 'net.lab1024.sa.admin.module.system.employee.controller.EmployeeController.updatePassword', '[{"employeeId":1,"newPassword":"a123123","oldPassword":"123456"}]', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', 1, NULL, '2022-10-22 19:32:11', '2022-10-22 19:32:11'); -/*!40000 ALTER TABLE `t_operate_log` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_reload_item 结构 -DROP TABLE IF EXISTS `t_reload_item`; -CREATE TABLE IF NOT EXISTS `t_reload_item` ( - `tag` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '项名称', - `args` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '参数 可选', - `identification` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '运行标识', - `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`tag`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='reload项目'; - --- 正在导出表 smart_admin_v2.t_reload_item 的数据:~2 rows (大约) -DELETE FROM `t_reload_item`; -/*!40000 ALTER TABLE `t_reload_item` DISABLE KEYS */; -INSERT INTO `t_reload_item` (`tag`, `args`, `identification`, `update_time`, `create_time`) VALUES - ('system_config', 'e', 'e', '2022-06-20 14:43:14', '2019-04-18 11:48:27'), - ('test', 'd', 'd', '2022-06-20 14:40:33', '2022-06-20 14:05:05'); -/*!40000 ALTER TABLE `t_reload_item` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_reload_result 结构 -DROP TABLE IF EXISTS `t_reload_result`; -CREATE TABLE IF NOT EXISTS `t_reload_result` ( - `tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `identification` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '运行标识', - `args` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `result` tinyint unsigned NOT NULL COMMENT '是否成功 ', - `exception` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='reload结果'; - --- 正在导出表 smart_admin_v2.t_reload_result 的数据:~150 rows (大约) -DELETE FROM `t_reload_result`; -/*!40000 ALTER TABLE `t_reload_result` DISABLE KEYS */; -/*!40000 ALTER TABLE `t_reload_result` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_role 结构 -DROP TABLE IF EXISTS `t_role`; -CREATE TABLE IF NOT EXISTS `t_role` ( - `role_id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `role_name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色名称', - `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '角色描述', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`role_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 COMMENT='角色表'; - --- 正在导出表 smart_admin_v2.t_role 的数据:~5 rows (大约) -DELETE FROM `t_role`; -/*!40000 ALTER TABLE `t_role` DISABLE KEYS */; -INSERT INTO `t_role` (`role_id`, `role_name`, `remark`, `update_time`, `create_time`) VALUES - (1, '技术总监', '', '2022-10-19 20:24:09', '2019-06-21 12:09:34'), - (34, '销售总监', '', '2022-10-19 20:24:28', '2019-08-30 09:30:50'), - (35, '总经理', '', '2019-08-30 09:31:05', '2019-08-30 09:31:05'), - (36, '董事长', '', '2019-08-30 09:31:11', '2019-08-30 09:31:11'), - (37, '财务', '', '2019-08-30 09:31:16', '2019-08-30 09:31:16'); -/*!40000 ALTER TABLE `t_role` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_role_data_scope 结构 -DROP TABLE IF EXISTS `t_role_data_scope`; -CREATE TABLE IF NOT EXISTS `t_role_data_scope` ( - `id` int NOT NULL AUTO_INCREMENT, - `data_scope_type` int NOT NULL COMMENT '数据范围id', - `view_type` int NOT NULL COMMENT '数据范围类型', - `role_id` int NOT NULL COMMENT '角色id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色的数据范围'; - --- 正在导出表 smart_admin_v2.t_role_data_scope 的数据:~0 rows (大约) -DELETE FROM `t_role_data_scope`; -/*!40000 ALTER TABLE `t_role_data_scope` DISABLE KEYS */; -/*!40000 ALTER TABLE `t_role_data_scope` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_role_employee 结构 -DROP TABLE IF EXISTS `t_role_employee`; -CREATE TABLE IF NOT EXISTS `t_role_employee` ( - `id` int NOT NULL AUTO_INCREMENT, - `role_id` int NOT NULL COMMENT '角色id', - `employee_id` int NOT NULL COMMENT '员工id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE KEY `uk_role_employee` (`role_id`,`employee_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=327 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色员工功能表'; - --- 正在导出表 smart_admin_v2.t_role_employee 的数据:~2 rows (大约) -DELETE FROM `t_role_employee`; -/*!40000 ALTER TABLE `t_role_employee` DISABLE KEYS */; -INSERT INTO `t_role_employee` (`id`, `role_id`, `employee_id`, `update_time`, `create_time`) VALUES - (325, 36, 63, '2022-10-19 20:25:26', '2022-10-19 20:25:26'), - (326, 1, 44, '2022-10-22 10:54:35', '2022-10-22 10:54:35'); -/*!40000 ALTER TABLE `t_role_employee` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_role_menu 结构 -DROP TABLE IF EXISTS `t_role_menu`; -CREATE TABLE IF NOT EXISTS `t_role_menu` ( - `role_menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', - `role_id` bigint NOT NULL COMMENT '角色id', - `menu_id` bigint NOT NULL COMMENT '菜单id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`role_menu_id`) USING BTREE, - KEY `idx_role_id` (`role_id`) USING BTREE, - KEY `idx_menu_id` (`menu_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色-菜单\n'; - --- 正在导出表 smart_admin_v2.t_role_menu 的数据:~34 rows (大约) -DELETE FROM `t_role_menu`; -/*!40000 ALTER TABLE `t_role_menu` DISABLE KEYS */; -INSERT INTO `t_role_menu` (`role_menu_id`, `role_id`, `menu_id`, `update_time`, `create_time`) VALUES - (1, 1, 45, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (2, 1, 46, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (3, 1, 86, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (4, 1, 87, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (5, 1, 88, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (6, 1, 91, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (7, 1, 92, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (8, 1, 93, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (9, 1, 94, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (10, 1, 95, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (11, 1, 96, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (12, 1, 76, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (13, 1, 97, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (14, 1, 98, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (15, 1, 99, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (16, 1, 100, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (17, 1, 101, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (18, 1, 102, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (19, 1, 103, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (20, 1, 104, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (21, 1, 26, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (22, 1, 40, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (23, 1, 105, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (24, 1, 106, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (25, 1, 108, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (26, 1, 50, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (27, 1, 130, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (28, 1, 157, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (29, 1, 158, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (30, 1, 193, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (31, 1, 200, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (32, 1, 122, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (33, 1, 111, '2022-10-22 10:54:27', '2022-10-22 10:54:27'), - (34, 1, 143, '2022-10-22 10:54:27', '2022-10-22 10:54:27'); -/*!40000 ALTER TABLE `t_role_menu` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_serial_number 结构 -DROP TABLE IF EXISTS `t_serial_number`; -CREATE TABLE IF NOT EXISTS `t_serial_number` ( - `serial_number_id` int NOT NULL, - `business_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务名称', - `format` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '格式[yyyy]表示年,[mm]标识月,[dd]表示日,[nnn]表示三位数字', - `rule_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '规则格式。none没有周期, year 年周期, month月周期, day日周期', - `init_number` int unsigned NOT NULL DEFAULT '1' COMMENT '初始值', - `step_random_range` int unsigned NOT NULL COMMENT '步长随机数', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', - `last_number` bigint DEFAULT NULL COMMENT '上次产生的单号, 默认为空', - `last_time` datetime DEFAULT NULL COMMENT '上次产生的单号时间', - `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `create_time` datetime DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`serial_number_id`) USING BTREE, - UNIQUE KEY `key_name` (`business_name`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='单号生成器定义表'; - --- 正在导出表 smart_admin_v2.t_serial_number 的数据:~2 rows (大约) -DELETE FROM `t_serial_number`; -/*!40000 ALTER TABLE `t_serial_number` DISABLE KEYS */; -INSERT INTO `t_serial_number` (`serial_number_id`, `business_name`, `format`, `rule_type`, `init_number`, `step_random_range`, `remark`, `last_number`, `last_time`, `update_time`, `create_time`) VALUES - (1, '订单编号', 'DK[yyyy][mm][dd]NO[nnnnn]', 'day', 1000, 10, 'DK20201101NO321', 1082, '2022-06-24 15:20:40', '2022-06-24 15:20:18', '2021-02-19 14:37:50'), - (2, '合同编号', 'HT[yyyy][mm][dd][nnnnn]-CX', 'none', 1, 1, '', NULL, NULL, '2022-06-24 14:48:05', '2021-08-12 20:40:37'); -/*!40000 ALTER TABLE `t_serial_number` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_serial_number_record 结构 -DROP TABLE IF EXISTS `t_serial_number_record`; -CREATE TABLE IF NOT EXISTS `t_serial_number_record` ( - `serial_number_id` int NOT NULL, - `record_date` date NOT NULL COMMENT '记录日期', - `last_number` bigint NOT NULL DEFAULT '0' COMMENT '最后更新值', - `last_time` datetime NOT NULL COMMENT '最后更新时间', - `count` bigint NOT NULL DEFAULT '0' COMMENT '更新次数', - `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `create_time` datetime DEFAULT CURRENT_TIMESTAMP, - KEY `uk_generator` (`serial_number_id`,`record_date`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='serial_number记录表'; - --- 正在导出表 smart_admin_v2.t_serial_number_record 的数据:~2 rows (大约) -DELETE FROM `t_serial_number_record`; -/*!40000 ALTER TABLE `t_serial_number_record` DISABLE KEYS */; -INSERT INTO `t_serial_number_record` (`serial_number_id`, `record_date`, `last_number`, `last_time`, `count`, `update_time`, `create_time`) VALUES - (1, '2022-03-02', 8581, '2022-03-03 14:37:11', 500, '2022-03-03 14:37:46', '2022-03-03 14:36:43'), - (1, '2022-03-03', 7053, '2022-03-03 14:38:48', 1500, '2022-03-03 14:47:32', '2022-03-03 14:38:19'), - (1, '2022-06-24', 1082, '2022-06-24 15:16:13', 15, '2022-06-24 15:20:18', '2022-06-24 15:15:51'); -/*!40000 ALTER TABLE `t_serial_number_record` ENABLE KEYS */; - --- 导出 表 smart_admin_v2.t_table_column 结构 -DROP TABLE IF EXISTS `t_table_column`; -CREATE TABLE IF NOT EXISTS `t_table_column` ( - `table_column_id` bigint NOT NULL AUTO_INCREMENT, - `user_id` bigint NOT NULL COMMENT '用户id', - `user_type` int NOT NULL COMMENT '用户类型', - `table_id` int NOT NULL COMMENT '表格id', - `columns` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '具体的表格列,存入的json', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`table_column_id`) USING BTREE, - UNIQUE KEY `uni_employee_table` (`user_id`,`table_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='表格的自定义列存储'; - --- 正在导出表 smart_admin_v2.t_table_column 的数据:~0 rows (大约) -DELETE FROM `t_table_column`; -/*!40000 ALTER TABLE `t_table_column` DISABLE KEYS */; -/*!40000 ALTER TABLE `t_table_column` ENABLE KEYS */; - -/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; -/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */; diff --git a/smart_admin_v2/smart-admin-api/.gitignore b/smart_admin_v2/smart-admin-api/.gitignore new file mode 100644 index 00000000..ab428af8 --- /dev/null +++ b/smart_admin_v2/smart-admin-api/.gitignore @@ -0,0 +1,35 @@ +HELP.md +target/ + +velocity.log + +!.mvn/wrapper/maven-wrapper.jar + + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +.DS_Store + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ + +### VS Code ### +.vscode/ diff --git a/smart-admin-api/sa-parent/pom.xml b/smart_admin_v2/smart-admin-api/pom.xml similarity index 92% rename from smart-admin-api/sa-parent/pom.xml rename to smart_admin_v2/smart-admin-api/pom.xml index c4441069..70da0158 100644 --- a/smart-admin-api/sa-parent/pom.xml +++ b/smart_admin_v2/smart-admin-api/pom.xml @@ -1,11 +1,6 @@ 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 2.5.2 - net.1024lab sa-parent @@ -13,16 +8,22 @@ pom sa-parent - sa-parent project + SmartAdmin project + + + sa-common + sa-admin + 1.8 + 2.7.5 2.0.8 - 3.4.1 + 3.5.2 3.8.6 2.7.0 - 1.2.62 - 1.1.21 + 2.0.16 + 1.2.14 1.4.2 20.0 1.21 @@ -48,6 +49,16 @@ + + + org.springframework.boot + spring-boot-dependencies + ${springboot.version} + pom + import + + + org.springframework spring-mock @@ -270,7 +281,7 @@ src/main/resources dev/* - sit/* + test/* pre/* prod/* @@ -312,6 +323,11 @@ true + + org.springframework.boot + spring-boot-maven-plugin + ${springboot.version} + diff --git a/smart-admin-api/sa-admin/pom.xml b/smart_admin_v2/smart-admin-api/sa-admin/pom.xml similarity index 70% rename from smart-admin-api/sa-admin/pom.xml rename to smart_admin_v2/smart-admin-api/sa-admin/pom.xml index 65a66035..af0f1935 100644 --- a/smart-admin-api/sa-admin/pom.xml +++ b/smart_admin_v2/smart-admin-api/sa-admin/pom.xml @@ -5,6 +5,7 @@ net.1024lab sa-parent 1.0.0 + ../pom.xml sa-admin @@ -29,6 +30,16 @@ org.springframework.boot spring-boot-maven-plugin + + net.lab1024.sa.admin.SmartAdminApplication + + + + + repackage + + + diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/SmartAdminApplication.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/SmartAdminApplication.java similarity index 86% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/SmartAdminApplication.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/SmartAdminApplication.java index 744b6357..82975649 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/SmartAdminApplication.java +++ b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/SmartAdminApplication.java @@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Mapper; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.EnableAspectJAutoProxy; @@ -18,12 +19,12 @@ import org.springframework.scheduling.annotation.EnableScheduling; * @Email lab1024@163.com * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2022 */ -@SpringBootApplication @EnableCaching @EnableScheduling @EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true) @ComponentScan(basePackages = {"net.lab1024.sa"}) @MapperScan(value = "net.lab1024.sa", annotationClass = Mapper.class) +@SpringBootApplication(exclude = {UserDetailsServiceAutoConfiguration.class }) public class SmartAdminApplication { public static void main(String[] args) { diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/common/AdminBaseController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/common/AdminBaseController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/common/AdminBaseController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/common/AdminBaseController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/OperateLogAspectConfig.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/OperateLogAspectConfig.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/OperateLogAspectConfig.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/OperateLogAspectConfig.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityConfig.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityConfig.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityConfig.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityConfig.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityMethodConfig.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityMethodConfig.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityMethodConfig.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/config/SecurityMethodConfig.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminCacheConst.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminRedisKeyConst.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminRedisKeyConst.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminRedisKeyConst.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminRedisKeyConst.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/constant/AdminSwaggerTagConst.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/listener/AdminStartupRunner.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/constant/CategoryTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/constant/CategoryTypeEnum.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/constant/CategoryTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/constant/CategoryTypeEnum.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/controller/CategoryController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/controller/CategoryController.java similarity index 97% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/controller/CategoryController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/controller/CategoryController.java index 682132af..5fff565a 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/controller/CategoryController.java +++ b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/controller/CategoryController.java @@ -4,16 +4,15 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import net.lab1024.sa.admin.common.AdminBaseController; import net.lab1024.sa.admin.constant.AdminSwaggerTagConst; -import net.lab1024.sa.admin.module.business.category.service.CategoryService; import net.lab1024.sa.admin.module.business.category.domain.form.CategoryAddForm; import net.lab1024.sa.admin.module.business.category.domain.form.CategoryTreeQueryForm; import net.lab1024.sa.admin.module.business.category.domain.form.CategoryUpdateForm; import net.lab1024.sa.admin.module.business.category.domain.vo.CategoryTreeVO; import net.lab1024.sa.admin.module.business.category.domain.vo.CategoryVO; +import net.lab1024.sa.admin.module.business.category.service.CategoryService; import net.lab1024.sa.common.common.domain.ResponseDTO; import net.lab1024.sa.common.module.support.operatelog.annoation.OperateLog; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/dao/CategoryDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategoryBaseDTO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategoryBaseDTO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategoryBaseDTO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategoryBaseDTO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategorySimpleDTO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategorySimpleDTO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategorySimpleDTO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/dto/CategorySimpleDTO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/entity/CategoryEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryAddForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryAddForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryAddForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryAddForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryTreeQueryForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryTreeQueryForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryTreeQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryTreeQueryForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/form/CategoryUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryTreeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/domain/vo/CategoryVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/manager/CategoryCacheManager.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/manager/CategoryCacheManager.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/manager/CategoryCacheManager.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/manager/CategoryCacheManager.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryQueryService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryQueryService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryQueryService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryQueryService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/constant/GoodsStatusEnum.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/constant/GoodsStatusEnum.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/constant/GoodsStatusEnum.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/constant/GoodsStatusEnum.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/controller/GoodsController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/controller/GoodsController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/controller/GoodsController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/controller/GoodsController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/dao/GoodsDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/entity/GoodsEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/entity/GoodsEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/entity/GoodsEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/entity/GoodsEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsAddForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/vo/GoodsVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/manager/GoodsManager.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/manager/GoodsManager.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/manager/GoodsManager.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/manager/GoodsManager.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/BankService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankCreateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankCreateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankCreateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankCreateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankQueryForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankQueryForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankQueryForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/bank/domain/BankVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseEmployeeManager.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/EnterpriseService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/constant/EnterpriseTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/constant/EnterpriseTypeEnum.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/constant/EnterpriseTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/constant/EnterpriseTypeEnum.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/dao/EnterpriseEmployeeDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEmployeeEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEmployeeEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEmployeeEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEmployeeEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/entity/EnterpriseEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseCreateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseCreateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseCreateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseCreateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeQueryForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeQueryForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseEmployeeQueryForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseQueryForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseQueryForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseQueryForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/form/EnterpriseUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseEmployeeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseEmployeeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseEmployeeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseEmployeeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseListVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseListVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseListVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseListVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/enterprise/domain/vo/EnterpriseVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/InvoiceService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceAddForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceAddForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceAddForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceAddForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceQueryForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceQueryForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceQueryForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/invoice/domain/InvoiceVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/constant/NoticeVisibleRangeDataTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/constant/NoticeVisibleRangeDataTypeEnum.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/constant/NoticeVisibleRangeDataTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/constant/NoticeVisibleRangeDataTypeEnum.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/controller/NoticeController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/dao/NoticeTypeDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeTypeEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeTypeEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeTypeEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/entity/NoticeTypeEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeAddForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeAddForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeAddForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeAddForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeEmployeeQueryForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeEmployeeQueryForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeEmployeeQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeEmployeeQueryForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeQueryForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeQueryForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeQueryForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeViewRecordQueryForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeViewRecordQueryForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeViewRecordQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeViewRecordQueryForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeVisibleRangeForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeVisibleRangeForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeVisibleRangeForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/form/NoticeVisibleRangeForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeDetailVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeDetailVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeDetailVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeDetailVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeEmployeeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeEmployeeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeEmployeeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeEmployeeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeTypeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeTypeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeTypeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeTypeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeUpdateFormVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeUpdateFormVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeUpdateFormVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeUpdateFormVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeViewRecordVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeViewRecordVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeViewRecordVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeViewRecordVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVisibleRangeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVisibleRangeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVisibleRangeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVisibleRangeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/manager/NoticeManager.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/manager/NoticeManager.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/manager/NoticeManager.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/manager/NoticeManager.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeTypeService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeTypeService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeTypeService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeTypeService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScope.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScope.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScope.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScope.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScopeController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScopeController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScopeController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/DataScopeController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/MyBatisPlugin.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/MyBatisPlugin.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/MyBatisPlugin.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/MyBatisPlugin.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeTypeEnum.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeTypeEnum.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeViewTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeViewTypeEnum.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeViewTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeViewTypeEnum.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/constant/DataScopeWhereInTypeEnum.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeAndViewTypeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeAndViewTypeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeAndViewTypeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeAndViewTypeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeDTO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeDTO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeDTO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeDTO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeSqlConfig.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeSqlConfig.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeSqlConfig.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeSqlConfig.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeViewTypeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeViewTypeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeViewTypeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/domain/DataScopeViewTypeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeSqlConfigService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/service/DataScopeViewService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/strategy/DataScopePowerStrategy.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/strategy/DataScopePowerStrategy.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/strategy/DataScopePowerStrategy.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/datascope/strategy/DataScopePowerStrategy.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/controller/DepartmentController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/controller/DepartmentController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/controller/DepartmentController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/controller/DepartmentController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/dao/DepartmentDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/entity/DepartmentEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentAddForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentAddForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentAddForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentAddForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/form/DepartmentUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentEmployeeTreeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentEmployeeTreeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentEmployeeTreeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentEmployeeTreeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentTreeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentTreeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentTreeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentTreeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/domain/vo/DepartmentVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentCacheManager.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentManager.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentManager.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentManager.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/manager/DepartmentManager.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/department/service/DepartmentService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/entity/EmployeeEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/entity/EmployeeEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/entity/EmployeeEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/entity/EmployeeEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeAddForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeAddForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeAddForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeAddForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeBatchUpdateDepartmentForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeBatchUpdateDepartmentForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeBatchUpdateDepartmentForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeBatchUpdateDepartmentForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeQueryForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeQueryForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeQueryForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdatePasswordForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdatePasswordForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdatePasswordForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdatePasswordForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateRoleForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateRoleForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateRoleForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/form/EmployeeUpdateRoleForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/vo/EmployeeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/vo/EmployeeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/vo/EmployeeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/domain/vo/EmployeeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/manager/EmployeeManager.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/manager/EmployeeManager.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/manager/EmployeeManager.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/manager/EmployeeManager.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeePermissionService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeePermissionService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeePermissionService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeePermissionService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/LoginEmployeeDetail.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/LoginEmployeeDetail.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/LoginEmployeeDetail.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/LoginEmployeeDetail.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/LoginForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/LoginForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/LoginForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/domain/LoginForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/service/LoginService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/constant/MenuPermsTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/constant/MenuPermsTypeEnum.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/constant/MenuPermsTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/constant/MenuPermsTypeEnum.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/constant/MenuTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/constant/MenuTypeEnum.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/constant/MenuTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/constant/MenuTypeEnum.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/controller/MenuController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/controller/MenuController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/controller/MenuController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/controller/MenuController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/dao/MenuDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/dao/MenuDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/dao/MenuDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/dao/MenuDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/entity/MenuEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/entity/MenuEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/entity/MenuEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/entity/MenuEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuAddForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuAddForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuAddForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuAddForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuBaseForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuBaseForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuBaseForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuBaseForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuPointsOperateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuPointsOperateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuPointsOperateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuPointsOperateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/form/MenuUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuSimpleTreeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuSimpleTreeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuSimpleTreeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuSimpleTreeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuTreeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuTreeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuTreeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuTreeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/domain/vo/MenuVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/manager/MenuManager.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/manager/MenuManager.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/manager/MenuManager.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/manager/MenuManager.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/service/MenuService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/service/MenuService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/service/MenuService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/menu/service/MenuService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleDataScopeController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleDataScopeController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleDataScopeController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleDataScopeController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleEmployeeController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleEmployeeController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleEmployeeController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleEmployeeController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleMenuController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleMenuController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleMenuController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/controller/RoleMenuController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDataScopeDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDataScopeDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDataScopeDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleDataScopeDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleEmployeeDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleEmployeeDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleEmployeeDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleEmployeeDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleMenuDao.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleMenuDao.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleMenuDao.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/dao/RoleMenuDao.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleDataScopeEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleDataScopeEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleDataScopeEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleDataScopeEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleEmployeeEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleEmployeeEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleEmployeeEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleEmployeeEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleMenuEntity.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleMenuEntity.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleMenuEntity.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/entity/RoleMenuEntity.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleAddForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleAddForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleAddForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleAddForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleDataScopeUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleDataScopeUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleDataScopeUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleDataScopeUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleEmployeeQueryForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleEmployeeQueryForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleEmployeeQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleEmployeeQueryForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleEmployeeUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleEmployeeUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleEmployeeUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleEmployeeUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleMenuUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleMenuUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleMenuUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleMenuUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleQueryForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleQueryForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleQueryForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleUpdateForm.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/form/RoleUpdateForm.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleDataScopeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleDataScopeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleDataScopeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleDataScopeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleEmployeeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleEmployeeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleEmployeeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleEmployeeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleMenuTreeVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleMenuTreeVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleMenuTreeVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleMenuTreeVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleSelectedVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleSelectedVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleSelectedVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleSelectedVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleVO.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleVO.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleVO.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/domain/vo/RoleVO.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleDataScopeManager.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleDataScopeManager.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleDataScopeManager.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleDataScopeManager.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleMenuManager.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleMenuManager.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleMenuManager.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleMenuManager.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleDataScopeService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleDataScopeService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleDataScopeService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleDataScopeService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleEmployeeService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleEmployeeService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleEmployeeService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleEmployeeService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleMenuService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleMenuService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleMenuService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleMenuService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleService.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleService.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleService.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/service/RoleService.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminCacheController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminCacheController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminCacheController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminCacheController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminChangeLogController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminChangeLogController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminChangeLogController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminChangeLogController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminConfigController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminConfigController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminConfigController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminConfigController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java similarity index 93% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java index 68f40856..8f44a918 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java +++ b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminDictController.java @@ -8,11 +8,11 @@ import net.lab1024.sa.common.common.domain.ResponseDTO; import net.lab1024.sa.common.constant.SwaggerTagConst; import net.lab1024.sa.common.module.support.dict.domain.form.*; import net.lab1024.sa.common.module.support.dict.domain.vo.DictKeyVO; -import net.lab1024.sa.common.module.support.dict.domain.vo.DictValueVO; -import net.lab1024.sa.common.module.support.dict.service.DictCacheService; import net.lab1024.sa.common.module.support.dict.service.DictService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; import java.util.List; diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminFileController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminFileController.java similarity index 69% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminFileController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminFileController.java index f8a5b1e4..b4528715 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminFileController.java +++ b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminFileController.java @@ -1,28 +1,20 @@ package net.lab1024.sa.admin.module.system.support; -import cn.hutool.extra.servlet.ServletUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import net.lab1024.sa.common.common.constant.RequestHeaderConst; import net.lab1024.sa.common.common.controller.SupportBaseController; import net.lab1024.sa.common.common.domain.PageResult; -import net.lab1024.sa.common.common.domain.RequestUser; import net.lab1024.sa.common.common.domain.ResponseDTO; -import net.lab1024.sa.common.common.util.SmartRequestUtil; import net.lab1024.sa.common.constant.SwaggerTagConst; -import net.lab1024.sa.common.module.support.file.constant.FileFolderTypeEnum; import net.lab1024.sa.common.module.support.file.domain.form.FileQueryForm; -import net.lab1024.sa.common.module.support.file.domain.form.FileUrlUploadForm; -import net.lab1024.sa.common.module.support.file.domain.vo.FileUploadVO; import net.lab1024.sa.common.module.support.file.domain.vo.FileVO; import net.lab1024.sa.common.module.support.file.service.FileService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; /** diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminHeartBeatController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminHeartBeatController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminHeartBeatController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminHeartBeatController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminHelpDocController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminHelpDocController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminHelpDocController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminHelpDocController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminLoginLogController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminLoginLogController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminLoginLogController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminLoginLogController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminOperateLogController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminOperateLogController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminOperateLogController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminOperateLogController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminReloadController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminReloadController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminReloadController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminReloadController.java diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminSerialNumberController.java b/smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminSerialNumberController.java similarity index 100% rename from smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminSerialNumberController.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminSerialNumberController.java diff --git a/smart-admin-api/sa-admin/src/main/resources/dev/application.yaml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/dev/application.yaml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/dev/application.yaml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/dev/application.yaml diff --git a/smart-admin-api/sa-admin/src/main/resources/dev/log4j2.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/dev/log4j2.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/dev/log4j2.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/dev/log4j2.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/dev/spy.properties b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/dev/spy.properties similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/dev/spy.properties rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/dev/spy.properties diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/business/category/CategoryMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/category/CategoryMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/business/category/CategoryMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/category/CategoryMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/business/goods/GoodsMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/goods/GoodsMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/business/goods/GoodsMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/goods/GoodsMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/business/notice/NoticeMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/notice/NoticeMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/business/notice/NoticeMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/notice/NoticeMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/bank/BankMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/enterprise/EnterpriseEmployeeMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/enterprise/EnterpriseEmployeeMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/enterprise/EnterpriseEmployeeMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/enterprise/EnterpriseEmployeeMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/enterprise/EnterpriseMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/enterprise/EnterpriseMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/enterprise/EnterpriseMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/enterprise/EnterpriseMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/invoice/InvoiceMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeDao.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeDao.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeDao.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeDao.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/department/DepartmentMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/system/employee/EmployeeMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/employee/EmployeeMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/system/employee/EmployeeMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/employee/EmployeeMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/system/menu/MenuMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/menu/MenuMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/system/menu/MenuMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/menu/MenuMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleDataScopeMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleDataScopeMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleDataScopeMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleDataScopeMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleEmployeeMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleEmployeeMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleEmployeeMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleEmployeeMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleMenuMapper.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleMenuMapper.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleMenuMapper.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/mapper/system/role/RoleMenuMapper.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/pre/application.yaml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/pre/application.yaml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/pre/application.yaml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/pre/application.yaml diff --git a/smart-admin-api/sa-admin/src/main/resources/pre/log4j2.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/pre/log4j2.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/pre/log4j2.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/pre/log4j2.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/prod/application.yaml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/prod/application.yaml similarity index 59% rename from smart-admin-api/sa-admin/src/main/resources/prod/application.yaml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/prod/application.yaml index 678132ec..fedc2a63 100644 --- a/smart-admin-api/sa-admin/src/main/resources/prod/application.yaml +++ b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/prod/application.yaml @@ -6,9 +6,9 @@ spring: profiles: active: '@profiles.active@' datasource: - url: jdbc:p6spy:mysql://127.0.0.1:3306/smart_admin_v2_prod?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai + url: jdbc:p6spy:mysql://127.0.0.1:3306/smart_admin_v2?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai username: root - password: Lab1024 + password: 1024lab driver-class-name: com.p6spy.engine.spy.P6SpyDriver project: name: sa-admin diff --git a/smart-admin-api/sa-admin/src/main/resources/prod/log4j2.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/prod/log4j2.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/prod/log4j2.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/prod/log4j2.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/test/application.yaml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/test/application.yaml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/test/application.yaml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/test/application.yaml diff --git a/smart-admin-api/sa-admin/src/main/resources/test/log4j2.xml b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/test/log4j2.xml similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/test/log4j2.xml rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/test/log4j2.xml diff --git a/smart-admin-api/sa-admin/src/main/resources/pre/spy.properties b/smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/test/spy.properties similarity index 100% rename from smart-admin-api/sa-admin/src/main/resources/pre/spy.properties rename to smart_admin_v2/smart-admin-api/sa-admin/src/main/resources/test/spy.properties diff --git a/smart-admin-api/sa-admin/src/test/java/net/lab1024/sa/admin/SmartAdminApplicationTest.java b/smart_admin_v2/smart-admin-api/sa-admin/src/test/java/net/lab1024/sa/admin/SmartAdminApplicationTest.java similarity index 100% rename from smart-admin-api/sa-admin/src/test/java/net/lab1024/sa/admin/SmartAdminApplicationTest.java rename to smart_admin_v2/smart-admin-api/sa-admin/src/test/java/net/lab1024/sa/admin/SmartAdminApplicationTest.java diff --git a/smart-admin-api/sa-common/pom.xml b/smart_admin_v2/smart-admin-api/sa-common/pom.xml similarity index 99% rename from smart-admin-api/sa-common/pom.xml rename to smart_admin_v2/smart-admin-api/sa-common/pom.xml index 3db2f57d..0a52eeda 100644 --- a/smart-admin-api/sa-common/pom.xml +++ b/smart_admin_v2/smart-admin-api/sa-common/pom.xml @@ -5,11 +5,11 @@ net.1024lab sa-parent 1.0.0 + ../pom.xml sa-common 1.0.0 - sa-common sa-common project diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/annoation/NoNeedLogin.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/annoation/NoNeedLogin.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/annoation/NoNeedLogin.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/annoation/NoNeedLogin.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/annoation/SaAuth.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/annoation/SaAuth.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/annoation/SaAuth.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/annoation/SaAuth.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCode.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCode.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCode.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCode.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCodeRangeContainer.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCodeRangeContainer.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCodeRangeContainer.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCodeRangeContainer.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCodeRegister.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCodeRegister.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCodeRegister.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/ErrorCodeRegister.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/SystemErrorCode.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/SystemErrorCode.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/SystemErrorCode.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/SystemErrorCode.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/UnexpectedErrorCode.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/UnexpectedErrorCode.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/UnexpectedErrorCode.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/UnexpectedErrorCode.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/UserErrorCode.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/UserErrorCode.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/UserErrorCode.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/code/UserErrorCode.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/constant/RequestHeaderConst.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/constant/RequestHeaderConst.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/constant/RequestHeaderConst.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/constant/RequestHeaderConst.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/constant/StringConst.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/constant/StringConst.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/constant/StringConst.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/constant/StringConst.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/controller/SupportBaseController.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/controller/SupportBaseController.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/controller/SupportBaseController.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/controller/SupportBaseController.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/DataScopePlugin.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/DataScopePlugin.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/DataScopePlugin.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/DataScopePlugin.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/PageParam.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/PageParam.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/PageParam.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/PageParam.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/PageResult.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/PageResult.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/PageResult.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/PageResult.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/RequestUrlVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/RequestUrlVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/RequestUrlVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/RequestUrlVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/RequestUser.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/RequestUser.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/RequestUser.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/RequestUser.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ResponseDTO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ResponseDTO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ResponseDTO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ResponseDTO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/SystemEnvironment.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/SystemEnvironment.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/SystemEnvironment.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/SystemEnvironment.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ValidateData.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ValidateData.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ValidateData.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ValidateData.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ValidateList.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ValidateList.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ValidateList.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/domain/ValidateList.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/BaseEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/BaseEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/BaseEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/BaseEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/GenderEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/GenderEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/GenderEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/GenderEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/SystemEnvironmentEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/SystemEnvironmentEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/SystemEnvironmentEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/SystemEnvironmentEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/UserTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/UserTypeEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/UserTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/enumeration/UserTypeEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/excel/ExcelStyle.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/excel/ExcelStyle.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/excel/ExcelStyle.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/excel/ExcelStyle.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/exception/BusinessException.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/exception/BusinessException.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/exception/BusinessException.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/exception/BusinessException.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/interceptor/AbstractInterceptor.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/interceptor/AbstractInterceptor.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/interceptor/AbstractInterceptor.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/interceptor/AbstractInterceptor.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/DictValueVoDeserializer.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/DictValueVoDeserializer.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/DictValueVoDeserializer.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/DictValueVoDeserializer.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/FileKeyVoDeserializer.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/FileKeyVoDeserializer.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/FileKeyVoDeserializer.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/FileKeyVoDeserializer.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/LongJsonDeserializer.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/LongJsonDeserializer.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/LongJsonDeserializer.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/deserializer/LongJsonDeserializer.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/BigDecimalNullZeroSerializer.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/BigDecimalNullZeroSerializer.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/BigDecimalNullZeroSerializer.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/BigDecimalNullZeroSerializer.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/DictValueVoSerializer.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/DictValueVoSerializer.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/DictValueVoSerializer.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/DictValueVoSerializer.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/FileKeySerializer.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/FileKeySerializer.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/FileKeySerializer.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/FileKeySerializer.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/FileKeyVoSerializer.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/FileKeyVoSerializer.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/FileKeyVoSerializer.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/FileKeyVoSerializer.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/LongJsonSerializer.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/LongJsonSerializer.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/LongJsonSerializer.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/json/serializer/LongJsonSerializer.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/AbstractSecurityConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/AbstractSecurityConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/AbstractSecurityConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/AbstractSecurityConfig.java index eda6db22..91fb7212 100644 --- a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/AbstractSecurityConfig.java +++ b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/AbstractSecurityConfig.java @@ -52,7 +52,7 @@ public abstract class AbstractSecurityConfig extends WebSecurityConfigurerAdapte * @return */ protected String[] getNoNeedLoginUrl() { - return ignoreUrlList.toArray(new String[ignoreUrlList.size()]); + return noNeedLoginUrlList.toArray(new String[noNeedLoginUrlList.size()]); } /** @@ -61,7 +61,7 @@ public abstract class AbstractSecurityConfig extends WebSecurityConfigurerAdapte * @return */ protected String[] getIgnoreUrlList() { - return noNeedLoginUrlList.toArray(new String[noNeedLoginUrlList.size()]); + return ignoreUrlList.toArray(new String[ignoreUrlList.size()]); } @Override diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityAuthenticationFailHandler.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityAuthenticationFailHandler.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityAuthenticationFailHandler.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityAuthenticationFailHandler.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityMethodSource.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityMethodSource.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityMethodSource.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityMethodSource.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityPermissionCheckService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityPermissionCheckService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityPermissionCheckService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityPermissionCheckService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityTokenFilter.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityTokenFilter.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityTokenFilter.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/security/SecurityTokenFilter.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/ApiModelPropertyEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/ApiModelPropertyEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/ApiModelPropertyEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/ApiModelPropertyEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/Swagger2MapperImplExtension.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/Swagger2MapperImplExtension.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/Swagger2MapperImplExtension.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/Swagger2MapperImplExtension.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/SwaggerApiModelPropertyEnumPlugin.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/SwaggerApiModelPropertyEnumPlugin.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/SwaggerApiModelPropertyEnumPlugin.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/swagger/SwaggerApiModelPropertyEnumPlugin.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartBeanUtil.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartBeanUtil.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartBeanUtil.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartBeanUtil.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartBigDecimalUtil.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartBigDecimalUtil.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartBigDecimalUtil.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartBigDecimalUtil.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartEasyPoiExcelUtil.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartEasyPoiExcelUtil.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartEasyPoiExcelUtil.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartEasyPoiExcelUtil.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartEnumUtil.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartEnumUtil.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartEnumUtil.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartEnumUtil.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartPageUtil.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartPageUtil.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartPageUtil.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartPageUtil.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartRequestUtil.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartRequestUtil.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartRequestUtil.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartRequestUtil.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartStringUtil.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartStringUtil.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartStringUtil.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartStringUtil.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartVerificationUtil.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartVerificationUtil.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartVerificationUtil.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/util/SmartVerificationUtil.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/validator/enumeration/CheckEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/validator/enumeration/CheckEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/validator/enumeration/CheckEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/validator/enumeration/CheckEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/validator/enumeration/EnumValidator.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/validator/enumeration/EnumValidator.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/validator/enumeration/EnumValidator.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/common/validator/enumeration/EnumValidator.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/AsyncConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/AsyncConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/AsyncConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/AsyncConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/CorsFilterConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/CorsFilterConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/CorsFilterConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/CorsFilterConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/DataSourceConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/DataSourceConfig.java similarity index 92% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/DataSourceConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/DataSourceConfig.java index 35f8606d..cb937a0b 100644 --- a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/DataSourceConfig.java +++ b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/DataSourceConfig.java @@ -90,12 +90,6 @@ public class DataSourceConfig { @Value("${spring.datasource.druid.method.pointcut}") String methodPointcut; - @Autowired - private StatFilter logSlowSql; - - @Autowired - private DruidStatInterceptor druidStatInterceptor; - @Autowired private MybatisPlusInterceptor paginationInterceptor; @@ -121,7 +115,11 @@ public class DataSourceConfig { try { druidDataSource.setFilters(filters); ArrayList arrayList = new ArrayList<>(); - arrayList.add(logSlowSql); + StatFilter statFilter = new StatFilter(); + statFilter.setMergeSql(true); + statFilter.setSlowSqlMillis(500); + statFilter.setLogSlowSql(true); + arrayList.add(statFilter); druidDataSource.setProxyFilters(arrayList); druidDataSource.init(); } catch (SQLException e) { @@ -181,20 +179,6 @@ public class DataSourceConfig { return filterRegistrationBean; } - @Bean - public StatFilter logSlowSql() { - StatFilter statFilter = new StatFilter(); - statFilter.setMergeSql(true); - statFilter.setSlowSqlMillis(500); - statFilter.setLogSlowSql(true); - return statFilter; - } - - @Bean(name = "druid-stat-interceptor") - public DruidStatInterceptor druidStatInterceptor() { - return new DruidStatInterceptor(); - } - @Bean public JdkRegexpMethodPointcut jdkRegexpMethodPointcut() { JdkRegexpMethodPointcut jdkRegexpMethodPointcut = new JdkRegexpMethodPointcut(); @@ -206,7 +190,7 @@ public class DataSourceConfig { public DefaultPointcutAdvisor defaultPointcutAdvisor() { DefaultPointcutAdvisor pointcutAdvisor = new DefaultPointcutAdvisor(); pointcutAdvisor.setPointcut(jdkRegexpMethodPointcut()); - pointcutAdvisor.setAdvice(druidStatInterceptor); + pointcutAdvisor.setAdvice(new DruidStatInterceptor()); return pointcutAdvisor; } diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/DateConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/DateConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/DateConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/DateConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/FileCloudConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/FileCloudConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/FileCloudConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/FileCloudConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/HeartBeatConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/HeartBeatConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/HeartBeatConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/HeartBeatConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/MvcConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/MvcConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/MvcConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/MvcConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/MybatisPlusConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/MybatisPlusConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/MybatisPlusConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/MybatisPlusConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/PostProcessorConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/PostProcessorConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/PostProcessorConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/PostProcessorConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/RedisConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/RedisConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/RedisConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/RedisConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/ReloadConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/ReloadConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/ReloadConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/ReloadConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/RepeatSubmitConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/RepeatSubmitConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/RepeatSubmitConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/RepeatSubmitConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/RestTemplateConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/RestTemplateConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/RestTemplateConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/RestTemplateConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/ScheduleConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/ScheduleConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/ScheduleConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/ScheduleConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/SwaggerConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/SwaggerConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/SwaggerConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/SwaggerConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/SystemEnvironmentConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/SystemEnvironmentConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/SystemEnvironmentConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/SystemEnvironmentConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/UrlConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/UrlConfig.java similarity index 99% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/UrlConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/UrlConfig.java index bb86ccb8..6e8ae116 100644 --- a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/UrlConfig.java +++ b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/config/UrlConfig.java @@ -37,6 +37,7 @@ public class UrlConfig { @Autowired private RequestMappingHandlerMapping requestMappingHandlerMapping; + /** * 获取每个方法的请求路径 * @@ -49,6 +50,7 @@ public class UrlConfig { Map map = requestMappingHandlerMapping.getHandlerMethods(); for (Map.Entry entry : map.entrySet()) { RequestMappingInfo requestMappingInfo = entry.getKey(); + Set urls = requestMappingInfo.getPatternsCondition().getPatterns(); if (CollectionUtils.isEmpty(urls)) { continue; @@ -140,6 +142,7 @@ public class UrlConfig { ignoreUrlList.add("/swagger-ui.html"); ignoreUrlList.add("/swagger-resources/**"); ignoreUrlList.add("/webjars/**"); + ignoreUrlList.add("/druid/**"); ignoreUrlList.add("/*/api-docs"); return ignoreUrlList; } diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/CacheKeyConst.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/CacheKeyConst.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/CacheKeyConst.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/CacheKeyConst.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/RedisKeyConst.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/RedisKeyConst.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/RedisKeyConst.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/RedisKeyConst.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/ReloadConst.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/ReloadConst.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/ReloadConst.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/ReloadConst.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/SwaggerTagConst.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/SwaggerTagConst.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/SwaggerTagConst.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/SwaggerTagConst.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/UrlPrefixConst.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/UrlPrefixConst.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/UrlPrefixConst.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/constant/UrlPrefixConst.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/handler/GlobalExceptionHandler.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/handler/GlobalExceptionHandler.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/handler/GlobalExceptionHandler.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/handler/GlobalExceptionHandler.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/listener/SmartApplicationListener.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/listener/SmartApplicationListener.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/listener/SmartApplicationListener.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/listener/SmartApplicationListener.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/cache/CacheService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/cache/CacheService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/cache/CacheService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/cache/CacheService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/CaptchaController.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/CaptchaController.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/CaptchaController.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/CaptchaController.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/CaptchaService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/CaptchaService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/CaptchaService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/CaptchaService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaColor.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaColor.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaColor.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaColor.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaNoise.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaNoise.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaNoise.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaNoise.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaWordRenderer.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaWordRenderer.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaWordRenderer.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/config/CaptchaWordRenderer.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/domain/CaptchaForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/domain/CaptchaForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/domain/CaptchaForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/domain/CaptchaForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/domain/CaptchaVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/domain/CaptchaVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/domain/CaptchaVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/captcha/domain/CaptchaVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/constant/ChangeLogTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/constant/ChangeLogTypeEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/constant/ChangeLogTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/constant/ChangeLogTypeEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/controller/ChangeLogController.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/controller/ChangeLogController.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/controller/ChangeLogController.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/controller/ChangeLogController.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/dao/ChangeLogDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/dao/ChangeLogDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/dao/ChangeLogDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/dao/ChangeLogDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/entity/ChangeLogEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/entity/ChangeLogEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/entity/ChangeLogEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/entity/ChangeLogEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogAddForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogAddForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogAddForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogAddForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogUpdateForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/form/ChangeLogUpdateForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/vo/ChangeLogVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/vo/ChangeLogVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/vo/ChangeLogVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/domain/vo/ChangeLogVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/manager/ChangeLogManager.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/manager/ChangeLogManager.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/manager/ChangeLogManager.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/manager/ChangeLogManager.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/service/ChangeLogService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/service/ChangeLogService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/service/ChangeLogService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/changelog/service/ChangeLogService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeDeleteEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeDeleteEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeDeleteEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeDeleteEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeFrontComponentEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeFrontComponentEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeFrontComponentEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeFrontComponentEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeGeneratorConstant.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeGeneratorConstant.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeGeneratorConstant.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeGeneratorConstant.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeGeneratorPageTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeGeneratorPageTypeEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeGeneratorPageTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeGeneratorPageTypeEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeQueryFieldQueryTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeQueryFieldQueryTypeEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeQueryFieldQueryTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/constant/CodeQueryFieldQueryTypeEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/controller/CodeGeneratorController.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/controller/CodeGeneratorController.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/controller/CodeGeneratorController.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/controller/CodeGeneratorController.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/dao/CodeGeneratorConfigDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/dao/CodeGeneratorConfigDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/dao/CodeGeneratorConfigDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/dao/CodeGeneratorConfigDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/dao/CodeGeneratorDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/dao/CodeGeneratorDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/dao/CodeGeneratorDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/dao/CodeGeneratorDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/entity/CodeGeneratorConfigEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/entity/CodeGeneratorConfigEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/entity/CodeGeneratorConfigEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/entity/CodeGeneratorConfigEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/CodeGeneratorConfigForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/CodeGeneratorConfigForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/CodeGeneratorConfigForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/CodeGeneratorConfigForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/CodeGeneratorPreviewForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/CodeGeneratorPreviewForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/CodeGeneratorPreviewForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/CodeGeneratorPreviewForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/TableQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/TableQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/TableQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/form/TableQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeBasic.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeBasic.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeBasic.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeBasic.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeDelete.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeDelete.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeDelete.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeDelete.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeField.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeField.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeField.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeField.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeInsertAndUpdate.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeInsertAndUpdate.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeInsertAndUpdate.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeInsertAndUpdate.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeInsertAndUpdateField.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeInsertAndUpdateField.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeInsertAndUpdateField.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeInsertAndUpdateField.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeQueryField.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeQueryField.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeQueryField.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeQueryField.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeTableField.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeTableField.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeTableField.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/model/CodeTableField.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableColumnVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableColumnVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableColumnVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableColumnVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableConfigVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableConfigVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableConfigVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableConfigVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/domain/vo/TableVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/CodeGeneratorService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/CodeGeneratorService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/CodeGeneratorService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/CodeGeneratorService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/CodeGeneratorTemplateService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/CodeGeneratorTemplateService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/CodeGeneratorTemplateService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/CodeGeneratorTemplateService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ControllerVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ControllerVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ControllerVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ControllerVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/DaoVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/DaoVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/DaoVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/DaoVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ManagerVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ManagerVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ManagerVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ManagerVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ServiceVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ServiceVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ServiceVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/ServiceVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/DeleteFormVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/DeleteFormVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/DeleteFormVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/DeleteFormVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/EntityVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/EntityVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/EntityVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/EntityVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/UpdateFormVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/UpdateFormVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/UpdateFormVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/UpdateFormVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ApiVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ApiVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ApiVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ApiVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ConstVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ConstVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ConstVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ConstVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/FormVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/FormVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/FormVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/FormVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ListVariableService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ListVariableService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ListVariableService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/service/variable/front/ListVariableService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/util/CodeGeneratorTool.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/util/CodeGeneratorTool.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/util/CodeGeneratorTool.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/codegenerator/util/CodeGeneratorTool.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigController.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigController.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigController.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigController.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigKeyEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigKeyEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigKeyEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigKeyEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/ConfigService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigAddForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigAddForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigAddForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigAddForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigUpdateForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigUpdateForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/config/domain/ConfigVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldBigDecimal.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldBigDecimal.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldBigDecimal.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldBigDecimal.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldDict.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldDict.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldDict.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldDict.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldLabel.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldLabel.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldLabel.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldLabel.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldSql.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldSql.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldSql.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/annoation/DataTracerFieldSql.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/constant/DataTracerConst.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/constant/DataTracerConst.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/constant/DataTracerConst.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/constant/DataTracerConst.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/constant/DataTracerTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/constant/DataTracerTypeEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/constant/DataTracerTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/constant/DataTracerTypeEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/controller/DataTracerController.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/controller/DataTracerController.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/controller/DataTracerController.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/controller/DataTracerController.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/dao/DataTracerDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/dao/DataTracerDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/dao/DataTracerDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/dao/DataTracerDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/bo/DataTracerContentBO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/bo/DataTracerContentBO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/bo/DataTracerContentBO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/bo/DataTracerContentBO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/entity/DataTracerEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/entity/DataTracerEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/entity/DataTracerEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/entity/DataTracerEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/form/DataTracerForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/form/DataTracerForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/form/DataTracerForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/form/DataTracerForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/form/DataTracerQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/form/DataTracerQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/form/DataTracerQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/form/DataTracerQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/vo/DataTracerVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/vo/DataTracerVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/vo/DataTracerVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/domain/vo/DataTracerVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/manager/DataTracerManger.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/manager/DataTracerManger.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/manager/DataTracerManger.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/manager/DataTracerManger.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/service/DataTracerChangeContentService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/service/DataTracerChangeContentService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/service/DataTracerChangeContentService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/service/DataTracerChangeContentService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/service/DataTracerService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/service/DataTracerService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/service/DataTracerService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/datatracer/service/DataTracerService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/controller/DictController.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/controller/DictController.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/controller/DictController.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/controller/DictController.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/dao/DictKeyDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/dao/DictKeyDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/dao/DictKeyDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/dao/DictKeyDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/dao/DictValueDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/dao/DictValueDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/dao/DictValueDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/dao/DictValueDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/entity/DictKeyEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/entity/DictKeyEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/entity/DictKeyEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/entity/DictKeyEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/entity/DictValueEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/entity/DictValueEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/entity/DictValueEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/entity/DictValueEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyAddForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyAddForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyAddForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyAddForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyUpdateForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictKeyUpdateForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueAddForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueAddForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueAddForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueAddForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueUpdateForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/form/DictValueUpdateForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/vo/DictKeyVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/vo/DictKeyVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/vo/DictKeyVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/vo/DictKeyVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/vo/DictValueVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/vo/DictValueVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/vo/DictValueVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/domain/vo/DictValueVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/service/DictCacheService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/service/DictCacheService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/service/DictCacheService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/service/DictCacheService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/service/DictService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/service/DictService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/service/DictService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/dict/service/DictService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/controller/FeedbackController.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/controller/FeedbackController.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/controller/FeedbackController.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/controller/FeedbackController.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/dao/FeedbackDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/dao/FeedbackDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/dao/FeedbackDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/dao/FeedbackDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackAddForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackAddForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackAddForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackAddForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/domain/FeedbackVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/service/FeedbackService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/service/FeedbackService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/service/FeedbackService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/feedback/service/FeedbackService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/constant/FileFolderTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/constant/FileFolderTypeEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/constant/FileFolderTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/constant/FileFolderTypeEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/controller/FileController.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/controller/FileController.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/controller/FileController.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/controller/FileController.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/dao/FileDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/dao/FileDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/dao/FileDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/dao/FileDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/entity/FileEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/entity/FileEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/entity/FileEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/entity/FileEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/form/FileQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/form/FileQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/form/FileQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/form/FileQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/form/FileUrlUploadForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/form/FileUrlUploadForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/form/FileUrlUploadForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/form/FileUrlUploadForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileDownloadVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileDownloadVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileDownloadVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileDownloadVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileMetadataVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileMetadataVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileMetadataVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileMetadataVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileUploadVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileUploadVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileUploadVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileUploadVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/domain/vo/FileVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileStorageCloudServiceImpl.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileStorageCloudServiceImpl.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileStorageCloudServiceImpl.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileStorageCloudServiceImpl.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileStorageLocalServiceImpl.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileStorageLocalServiceImpl.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileStorageLocalServiceImpl.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/FileStorageLocalServiceImpl.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/IFileStorageService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/IFileStorageService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/IFileStorageService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/file/service/IFileStorageService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatRecordDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatRecordDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatRecordDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatRecordDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatRecordHandler.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatRecordHandler.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatRecordHandler.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatRecordHandler.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/HeartBeatService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatManager.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatManager.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatManager.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatManager.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatRecord.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatRecord.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatRecord.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatRecord.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatRunnable.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatRunnable.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatRunnable.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/HeartBeatRunnable.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/IHeartBeatRecordHandler.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/IHeartBeatRecordHandler.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/IHeartBeatRecordHandler.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/core/IHeartBeatRecordHandler.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/heartbeat/domain/HeartBeatRecordVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/controller/HelpDocController.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/controller/HelpDocController.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/controller/HelpDocController.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/controller/HelpDocController.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/dao/HelpDocCatalogDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/dao/HelpDocCatalogDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/dao/HelpDocCatalogDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/dao/HelpDocCatalogDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/dao/HelpDocDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/dao/HelpDocDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/dao/HelpDocDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/dao/HelpDocDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/entity/HelpDocCatalogEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/entity/HelpDocCatalogEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/entity/HelpDocCatalogEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/entity/HelpDocCatalogEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/entity/HelpDocEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/entity/HelpDocEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/entity/HelpDocEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/entity/HelpDocEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocAddForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocAddForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocAddForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocAddForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocCatalogAddForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocCatalogAddForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocCatalogAddForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocCatalogAddForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocCatalogUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocCatalogUpdateForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocCatalogUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocCatalogUpdateForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocRelationForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocRelationForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocRelationForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocRelationForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocUpdateForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocUpdateForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocViewRecordQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocViewRecordQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocViewRecordQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/form/HelpDocViewRecordQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocCatalogVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocCatalogVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocCatalogVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocCatalogVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocDetailVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocDetailVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocDetailVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocDetailVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocRecordVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocRecordVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocRecordVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocRecordVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocRelationVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocRelationVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocRelationVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocRelationVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocViewRecordVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocViewRecordVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocViewRecordVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/domain/vo/HelpDocViewRecordVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/manager/HelpDocManager.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/manager/HelpDocManager.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/manager/HelpDocManager.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/manager/HelpDocManager.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocCatalogService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocCatalogService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocCatalogService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocCatalogService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocUserService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocUserService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocUserService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/helpdoc/service/HelpDocUserService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/DecryptData.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/DecryptData.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/DecryptData.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/DecryptData.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweAspect.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweAspect.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweAspect.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweAspect.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweDecrypt.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweDecrypt.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweDecrypt.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweDecrypt.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweEncrypt.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweEncrypt.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweEncrypt.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweEncrypt.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweUserKey.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweUserKey.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweUserKey.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/jwe/JweUserKey.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogResultEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogResultEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogResultEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogResultEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/LoginLogService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/loginlog/domain/LoginLogVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/OperateLogDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/OperateLogDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/OperateLogDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/OperateLogDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/OperateLogService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/OperateLogService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/OperateLogService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/OperateLogService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/annoation/OperateLog.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/annoation/OperateLog.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/annoation/OperateLog.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/annoation/OperateLog.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/core/OperateLogAspect.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/core/OperateLogAspect.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/core/OperateLogAspect.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/core/OperateLogAspect.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/core/OperateLogConfig.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/core/OperateLogConfig.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/core/OperateLogConfig.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/core/OperateLogConfig.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/operatelog/domain/OperateLogVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/redis/RedisService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/redis/RedisService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/redis/RedisService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/redis/RedisService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/ReloadCommand.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/ReloadCommand.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/ReloadCommand.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/ReloadCommand.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/ReloadService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/ReloadService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/ReloadService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/ReloadService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/AbstractSmartReloadCommand.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/AbstractSmartReloadCommand.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/AbstractSmartReloadCommand.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/AbstractSmartReloadCommand.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/SmartReloadManager.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/SmartReloadManager.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/SmartReloadManager.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/SmartReloadManager.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/annoation/SmartReload.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/annoation/SmartReload.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/annoation/SmartReload.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/annoation/SmartReload.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadItem.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadItem.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadItem.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadItem.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadObject.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadObject.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadObject.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadObject.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadResult.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadResult.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadResult.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/domain/SmartReloadResult.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/thread/SmartReloadRunnable.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/thread/SmartReloadRunnable.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/thread/SmartReloadRunnable.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/core/thread/SmartReloadRunnable.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/dao/ReloadItemDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/dao/ReloadItemDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/dao/ReloadItemDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/dao/ReloadItemDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/dao/ReloadResultDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/dao/ReloadResultDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/dao/ReloadResultDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/dao/ReloadResultDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadItemEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadItemEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadItemEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadItemEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadItemVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadItemVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadItemVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadItemVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadResultEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadResultEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadResultEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadResultEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadResultVO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadResultVO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadResultVO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/reload/domain/ReloadResultVO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/RepeatSubmitAspect.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/RepeatSubmitAspect.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/RepeatSubmitAspect.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/RepeatSubmitAspect.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/annoation/RepeatSubmit.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/annoation/RepeatSubmit.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/annoation/RepeatSubmit.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/annoation/RepeatSubmit.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/AbstractRepeatSubmitTicket.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/AbstractRepeatSubmitTicket.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/AbstractRepeatSubmitTicket.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/AbstractRepeatSubmitTicket.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/RepeatSubmitCaffeineTicket.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/RepeatSubmitCaffeineTicket.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/RepeatSubmitCaffeineTicket.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/RepeatSubmitCaffeineTicket.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/RepeatSubmitRedisTicket.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/RepeatSubmitRedisTicket.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/RepeatSubmitRedisTicket.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/repeatsubmit/ticket/RepeatSubmitRedisTicket.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/constant/SerialNumberIdEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/constant/SerialNumberIdEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/constant/SerialNumberIdEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/constant/SerialNumberIdEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/constant/SerialNumberRuleTypeEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/constant/SerialNumberRuleTypeEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/constant/SerialNumberRuleTypeEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/constant/SerialNumberRuleTypeEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/dao/SerialNumberDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/dao/SerialNumberDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/dao/SerialNumberDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/dao/SerialNumberDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/dao/SerialNumberRecordDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/dao/SerialNumberRecordDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/dao/SerialNumberRecordDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/dao/SerialNumberRecordDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberGenerateForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberGenerateForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberGenerateForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberGenerateForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberGenerateResultBO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberGenerateResultBO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberGenerateResultBO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberGenerateResultBO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberInfoBO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberInfoBO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberInfoBO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberInfoBO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberLastGenerateBO.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberLastGenerateBO.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberLastGenerateBO.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberLastGenerateBO.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberRecordEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberRecordEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberRecordEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberRecordEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberRecordQueryForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberRecordQueryForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberRecordQueryForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/domain/SerialNumberRecordQueryForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberBaseService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberBaseService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberBaseService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberBaseService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberRecordService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberRecordService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberRecordService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberRecordService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/SerialNumberService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberInternService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberInternService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberInternService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberInternService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberMysqlService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberMysqlService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberMysqlService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberMysqlService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberRedisService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberRedisService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberRedisService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/serialnumber/service/impl/SerialNumberRedisService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnController.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnController.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnController.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnController.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnDao.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnDao.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnDao.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnDao.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/TableColumnService.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnEntity.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnEntity.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnEntity.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnEntity.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnItemForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnItemForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnItemForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnItemForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnUpdateForm.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnUpdateForm.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnUpdateForm.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/table/domain/TableColumnUpdateForm.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/JwtConst.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/JwtConst.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/JwtConst.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/JwtConst.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/LoginDeviceEnum.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/LoginDeviceEnum.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/LoginDeviceEnum.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/LoginDeviceEnum.java diff --git a/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/TokenService.java b/smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/TokenService.java similarity index 100% rename from smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/TokenService.java rename to smart_admin_v2/smart-admin-api/sa-common/src/main/java/net/lab1024/sa/common/module/support/token/TokenService.java diff --git a/smart-admin-api/sa-common/src/main/resources/META-INF/spring.factories b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/META-INF/spring.factories similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/META-INF/spring.factories rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/META-INF/spring.factories diff --git a/smart-admin-api/sa-common/src/main/resources/banner.txt b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/banner.txt similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/banner.txt rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/banner.txt diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/constant/enum.java.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/constant/enum.java.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/java/constant/enum.java.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/constant/enum.java.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/controller/Controller.java.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/controller/Controller.java.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/java/controller/Controller.java.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/controller/Controller.java.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/dao/Dao.java.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/dao/Dao.java.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/java/dao/Dao.java.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/dao/Dao.java.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/entity/Entity.java.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/form/AddForm.java.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/form/AddForm.java.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/form/AddForm.java.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/form/AddForm.java.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/form/QueryForm.java.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/form/QueryForm.java.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/form/QueryForm.java.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/form/QueryForm.java.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/form/UpdateForm.java.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/form/UpdateForm.java.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/form/UpdateForm.java.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/form/UpdateForm.java.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/vo/VO.java.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/vo/VO.java.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/vo/VO.java.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/domain/vo/VO.java.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/manager/Manager.java.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/manager/Manager.java.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/java/manager/Manager.java.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/manager/Manager.java.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/mapper/Mapper.xml.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/mapper/Mapper.xml.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/java/mapper/Mapper.xml.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/mapper/Mapper.xml.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/service/Service.java.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/service/Service.java.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/java/service/Service.java.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/java/service/Service.java.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/js/api.js.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/js/api.js.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/js/api.js.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/js/api.js.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/js/const.js.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/js/const.js.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/js/const.js.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/js/const.js.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/js/form.vue.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/js/form.vue.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/js/form.vue.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/js/form.vue.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/js/list.vue.vm b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/js/list.vue.vm similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/js/list.vue.vm rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/js/list.vue.vm diff --git a/smart-admin-api/sa-common/src/main/resources/code-generator-template/tools.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/tools.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/code-generator-template/tools.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/code-generator-template/tools.xml diff --git a/smart-admin-api/sa-common/src/main/resources/dev/sa-common.yaml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/dev/sa-common.yaml similarity index 94% rename from smart-admin-api/sa-common/src/main/resources/dev/sa-common.yaml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/dev/sa-common.yaml index e95bb7a8..acfe4826 100644 --- a/smart-admin-api/sa-common/src/main/resources/dev/sa-common.yaml +++ b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/dev/sa-common.yaml @@ -1,9 +1,9 @@ spring: # 数据库连接信息 datasource: - url: jdbc:p6spy:mysql://127.0.0.1:3307/smart_admin_v2?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai + url: jdbc:p6spy:mysql://127.0.0.1:3306/smart_admin_v2?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai username: root - password: Lab024 + password: lab1024 initial-size: 2 min-idle: 2 max-active: 10 @@ -20,6 +20,11 @@ spring: method: pointcut: net.lab1024.sa..*Service.* + # mvc swagger bugfix + mvc: + pathmatch: + matching-strategy: ant_path_matcher + # redis 连接池配置信息 redis: database: 1 diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/ChangeLogMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/ChangeLogMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/ChangeLogMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/ChangeLogMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/CodeGeneratorMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/CodeGeneratorMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/CodeGeneratorMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/CodeGeneratorMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/ConfigMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/ConfigMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/ConfigMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/ConfigMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/DataTracerMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/DataTracerMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/DataTracerMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/DataTracerMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/DictKeyMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/DictKeyMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/DictKeyMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/DictKeyMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/DictValueMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/DictValueMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/DictValueMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/DictValueMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/FeedbackMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/FeedbackMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/FeedbackMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/FeedbackMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/FileMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/FileMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/FileMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/FileMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/HeartBeatRecordMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/HeartBeatRecordMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/HeartBeatRecordMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/HeartBeatRecordMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/HelpDocDao.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/HelpDocDao.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/HelpDocDao.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/HelpDocDao.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/LoginLogMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/LoginLogMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/LoginLogMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/LoginLogMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/OperateLogMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/OperateLogMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/OperateLogMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/OperateLogMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/ReloadItemMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/ReloadItemMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/ReloadItemMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/ReloadItemMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/ReloadResultMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/ReloadResultMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/ReloadResultMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/ReloadResultMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/SerialNumberMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/SerialNumberMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/SerialNumberMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/SerialNumberMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/SerialNumberRecordMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/SerialNumberRecordMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/SerialNumberRecordMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/SerialNumberRecordMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/mapper/support/TableColumnMapper.xml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/TableColumnMapper.xml similarity index 100% rename from smart-admin-api/sa-common/src/main/resources/mapper/support/TableColumnMapper.xml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/mapper/support/TableColumnMapper.xml diff --git a/smart-admin-api/sa-common/src/main/resources/pre/sa-common.yaml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/pre/sa-common.yaml similarity index 97% rename from smart-admin-api/sa-common/src/main/resources/pre/sa-common.yaml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/pre/sa-common.yaml index 7aea8a75..a61381ce 100644 --- a/smart-admin-api/sa-common/src/main/resources/pre/sa-common.yaml +++ b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/pre/sa-common.yaml @@ -20,6 +20,11 @@ spring: method: pointcut: net.lab1024.sa..*Service.* + # mvc swagger bugfix + mvc: + pathmatch: + matching-strategy: ant_path_matcher + # redis 连接池配置信息 redis: database: 1 diff --git a/smart-admin-api/sa-common/src/main/resources/prod/sa-common.yaml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/prod/sa-common.yaml similarity index 97% rename from smart-admin-api/sa-common/src/main/resources/prod/sa-common.yaml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/prod/sa-common.yaml index 3703ddfb..26ae59b3 100644 --- a/smart-admin-api/sa-common/src/main/resources/prod/sa-common.yaml +++ b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/prod/sa-common.yaml @@ -20,6 +20,11 @@ spring: method: pointcut: net.lab1024.sa..*Service.* + # mvc swagger bugfix + mvc: + pathmatch: + matching-strategy: ant_path_matcher + # redis 连接池配置信息 redis: database: 1 diff --git a/smart-admin-api/sa-common/src/main/resources/test/sa-common.yaml b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/test/sa-common.yaml similarity index 97% rename from smart-admin-api/sa-common/src/main/resources/test/sa-common.yaml rename to smart_admin_v2/smart-admin-api/sa-common/src/main/resources/test/sa-common.yaml index 9cf5f478..d6620759 100644 --- a/smart-admin-api/sa-common/src/main/resources/test/sa-common.yaml +++ b/smart_admin_v2/smart-admin-api/sa-common/src/main/resources/test/sa-common.yaml @@ -20,6 +20,11 @@ spring: method: pointcut: net.lab1024.sa..*Service.* + # mvc swagger bugfix + mvc: + pathmatch: + matching-strategy: ant_path_matcher + # redis 连接池配置信息 redis: database: 1 diff --git a/smart-admin-web/javascript-ant-design-vue3/.env b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/.env rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env diff --git a/smart-admin-web/javascript-ant-design-vue3/.env.development b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.development similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/.env.development rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.development diff --git a/smart-admin-web/javascript-ant-design-vue3/.env.localhost b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.localhost similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/.env.localhost rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.localhost diff --git a/smart-admin-web/typescript-ant-design-vue3/.env.pre b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.pre similarity index 60% rename from smart-admin-web/typescript-ant-design-vue3/.env.pre rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.pre index c5c3327e..096644a0 100644 --- a/smart-admin-web/typescript-ant-design-vue3/.env.pre +++ b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.pre @@ -1,5 +1,5 @@ -VITE_APP_API_URL = 'http://127.0.0.1:1024' +VITE_APP_API_URL = 'http://preview.smartadmin.1024lab.net/smart-admin-api' VITE_APP_PROJECT_TITLE = 'SmartAdmin 预发布环境(Pre)' diff --git a/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.production b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.production new file mode 100644 index 00000000..97ccc6d7 --- /dev/null +++ b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.production @@ -0,0 +1,8 @@ + +VITE_APP_API_URL = 'http://preview.smartadmin.1024lab.net/smart-admin-api' + +VITE_APP_PROJECT_TITLE = 'SmartAdmin V2.X' + +VITE_APP_PROFILE = 'prod' + +VITE_APP_MODE = 'production' \ No newline at end of file diff --git a/smart-admin-web/javascript-ant-design-vue3/.env.test b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.test similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/.env.test rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.env.test diff --git a/smart-admin-web/javascript-ant-design-vue3/.eslintignore b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.eslintignore similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/.eslintignore rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.eslintignore diff --git a/smart-admin-web/javascript-ant-design-vue3/.eslintrc.js b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.eslintrc.js similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/.eslintrc.js rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.eslintrc.js diff --git a/smart-admin-web/javascript-ant-design-vue3/.gitignore b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.gitignore similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/.gitignore rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.gitignore diff --git a/smart-admin-web/javascript-ant-design-vue3/.prettierrc.js b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.prettierrc.js similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/.prettierrc.js rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.prettierrc.js diff --git a/smart-admin-web/javascript-ant-design-vue3/.stylelintignore b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.stylelintignore similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/.stylelintignore rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.stylelintignore diff --git a/smart-admin-web/javascript-ant-design-vue3/.stylelintrc.js b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.stylelintrc.js similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/.stylelintrc.js rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/.stylelintrc.js diff --git a/smart-admin-web/typescript-ant-design-vue3/README.md b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/README.en.md similarity index 100% rename from smart-admin-web/typescript-ant-design-vue3/README.md rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/README.en.md diff --git a/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/README.md b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/README.md new file mode 100644 index 00000000..e69de29b diff --git a/smart-admin-web/javascript-ant-design-vue3/index.html b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/index.html similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/index.html rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/index.html diff --git a/smart-admin-web/javascript-ant-design-vue3/jsconfig.json b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/jsconfig.json similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/jsconfig.json rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/jsconfig.json diff --git a/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/package-lock.json b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/package-lock.json new file mode 100644 index 00000000..dd13c26f --- /dev/null +++ b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/package-lock.json @@ -0,0 +1,10197 @@ +{ + "name": "SmartAdmin", + "version": "2.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "SmartAdmin", + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "@ant-design/icons-vue": "^6.1.0", + "@wangeditor/editor": "^5.0.1", + "@wangeditor/editor-for-vue": "^5.1.11", + "ant-design-vue": "3.2.5", + "axios": "~0.27.2", + "clipboard": "~2.0.11", + "crypto-js": "~4.1.1", + "decimal.js": "^10.3.1", + "diff": "^5.1.0", + "diff2html": "^3.4.18", + "echarts": "^5.1.2", + "highlight.js": "^11.6.0", + "js-cookie": "^2.2.1", + "lodash": "^4.17.21", + "lunar-javascript": "^1.2.32", + "mitt": "^3.0.0", + "nprogress": "^0.2.0", + "pinia": "~2.0.14", + "sortablejs": "^1.15.0", + "ua-parser-js": "^1.0.2", + "v-viewer": "~1.6.4", + "vue": "~3.2.26", + "vue-i18n": "^9.1.10", + "vue-router": "~4.0.15", + "vue3-json-viewer": "^2.2.2" + }, + "devDependencies": { + "@vitejs/plugin-vue": "~2.3.3", + "@vue/compiler-sfc": "~3.2.26", + "eslint": "^8.16.0", + "eslint-config-prettier": "~8.5.0", + "eslint-plugin-prettier": "~4.0.0", + "eslint-plugin-vue": "~9.1.0", + "less": "~4.1.1", + "less-loader": "~10.0.1", + "prettier": "~2.6.2", + "rimraf": "^3.0.2", + "stylelint": "~14.8.5", + "stylelint-config-prettier": "~9.0.3", + "stylelint-config-standard": "~25.0.0", + "stylelint-order": "~5.0.0", + "vite": "~2.9.9", + "vite-plugin-mock": "~2.9.6", + "vite-plugin-optimize-persist": "^0.1.2", + "vite-plugin-package-config": "^0.1.1", + "vue-eslint-parser": "~9.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@ant-design/colors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz", + "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", + "dependencies": { + "@ctrl/tinycolor": "^3.4.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz", + "integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==" + }, + "node_modules/@ant-design/icons-vue": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@ant-design/icons-vue/-/icons-vue-6.1.0.tgz", + "integrity": "sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA==", + "dependencies": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-svg": "^4.2.1" + }, + "peerDependencies": { + "vue": ">=3.0.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.6.tgz", + "integrity": "sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz", + "integrity": "sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", + "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.6.tgz", + "integrity": "sha512-jJr+hPTJYKyDILJfhNSHsjiwXYf26Flsz8DvNndOsHs5pwSnpGUEy8yzF0JYhCEvTDdV2vuOK5tt8BVhwO5/hg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@intlify/core-base": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz", + "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", + "dependencies": { + "@intlify/devtools-if": "9.2.2", + "@intlify/message-compiler": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@intlify/devtools-if": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", + "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", + "dependencies": { + "@intlify/shared": "9.2.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", + "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", + "dependencies": { + "@intlify/shared": "9.2.2", + "source-map": "0.6.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@intlify/shared": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", + "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/@intlify/vue-devtools": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", + "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", + "dependencies": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true, + "peer": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", + "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^2.42.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "node_modules/@simonwep/pickr": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.8.2.tgz", + "integrity": "sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==", + "dependencies": { + "core-js": "^3.15.1", + "nanopop": "^2.1.0" + } + }, + "node_modules/@transloadit/prettier-bytes": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", + "integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==" + }, + "node_modules/@types/eslint": { + "version": "8.4.8", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.8.tgz", + "integrity": "sha512-zUCKQI1bUCTi+0kQs5ZQzQ/XILWRLIlh15FXWNykJ+NG3TMKMVvwwC6GP3DR1Ylga15fB7iAExSzc4PNlR5i3w==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "node_modules/@types/event-emitter": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@types/event-emitter/-/event-emitter-0.3.3.tgz", + "integrity": "sha512-UfnOK1pIxO7P+EgPRZXD9jMpimd8QEFcEZ5R67R1UhGbv4zghU5+NE7U8M8G9H5Jc8FI51rqDWQs6FtUfq2e/Q==" + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/mockjs": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/mockjs/-/mockjs-1.0.7.tgz", + "integrity": "sha512-OCxXz6hEaJOVpRwuJMiVY5a6LtJcih+br9gwB/Q8ooOBikvk5FpBQ31OlNimXo3EqKha1Z7PFBni+q9m+8NCWg==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.11.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.5.tgz", + "integrity": "sha512-3JRwhbjI+cHLAkUorhf8RnqUbFXajvzX4q6fMn5JwkgtuwfYtRQYI3u4V92vI6NJuTsbBQWWh3RZjFsuevyMGQ==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@uppy/companion-client": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@uppy/companion-client/-/companion-client-2.2.2.tgz", + "integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==", + "dependencies": { + "@uppy/utils": "^4.1.2", + "namespace-emitter": "^2.0.1" + } + }, + "node_modules/@uppy/core": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@uppy/core/-/core-2.3.4.tgz", + "integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==", + "dependencies": { + "@transloadit/prettier-bytes": "0.0.7", + "@uppy/store-default": "^2.1.1", + "@uppy/utils": "^4.1.3", + "lodash.throttle": "^4.1.1", + "mime-match": "^1.0.2", + "namespace-emitter": "^2.0.1", + "nanoid": "^3.1.25", + "preact": "^10.5.13" + } + }, + "node_modules/@uppy/store-default": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@uppy/store-default/-/store-default-2.1.1.tgz", + "integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==" + }, + "node_modules/@uppy/utils": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-4.1.3.tgz", + "integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==", + "dependencies": { + "lodash.throttle": "^4.1.1" + } + }, + "node_modules/@uppy/xhr-upload": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz", + "integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==", + "dependencies": { + "@uppy/companion-client": "^2.2.2", + "@uppy/utils": "^4.1.2", + "nanoid": "^3.1.25" + }, + "peerDependencies": { + "@uppy/core": "^2.3.3" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.4.tgz", + "integrity": "sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg==", + "dev": true, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "vite": "^2.5.10", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.41.tgz", + "integrity": "sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.41", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz", + "integrity": "sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==", + "dependencies": { + "@vue/compiler-core": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz", + "integrity": "sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.41", + "@vue/compiler-dom": "3.2.41", + "@vue/compiler-ssr": "3.2.41", + "@vue/reactivity-transform": "3.2.41", + "@vue/shared": "3.2.41", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz", + "integrity": "sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==", + "dependencies": { + "@vue/compiler-dom": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz", + "integrity": "sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==" + }, + "node_modules/@vue/reactivity": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.41.tgz", + "integrity": "sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==", + "dependencies": { + "@vue/shared": "3.2.41" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz", + "integrity": "sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.41", + "@vue/shared": "3.2.41", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.41.tgz", + "integrity": "sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ==", + "dependencies": { + "@vue/reactivity": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.41.tgz", + "integrity": "sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA==", + "dependencies": { + "@vue/runtime-core": "3.2.41", + "@vue/shared": "3.2.41", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.41.tgz", + "integrity": "sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig==", + "dependencies": { + "@vue/compiler-ssr": "3.2.41", + "@vue/shared": "3.2.41" + }, + "peerDependencies": { + "vue": "3.2.41" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.41.tgz", + "integrity": "sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==" + }, + "node_modules/@wangeditor/basic-modules": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@wangeditor/basic-modules/-/basic-modules-1.1.6.tgz", + "integrity": "sha512-wckcFm/kEAHpTn7dTmN0+7POFoygqt9bZdNHJUkdKObXtAerml8RdjrkHRcwJFCkSELbrNK63fvkwS0+FsabfA==", + "dependencies": { + "is-url": "^1.2.4" + }, + "peerDependencies": { + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "lodash.throttle": "^4.1.1", + "nanoid": "^3.2.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/code-highlight": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz", + "integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==", + "dependencies": { + "prismjs": "^1.23.0" + }, + "peerDependencies": { + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/core": { + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/@wangeditor/core/-/core-1.1.18.tgz", + "integrity": "sha512-GZsW/8tm2Hc2hZKX8BZP9PO7vTZll9YXsOt+jKck3D2bj9nk4T0FZymuE5fq9ZHdo+MwLiXBHXS/D1SIGlVnGQ==", + "dependencies": { + "@types/event-emitter": "^0.3.3", + "event-emitter": "^0.3.5", + "html-void-elements": "^2.0.0", + "i18next": "^20.4.0", + "scroll-into-view-if-needed": "^2.2.28", + "slate-history": "^0.66.0" + }, + "peerDependencies": { + "@uppy/core": "^2.1.1", + "@uppy/xhr-upload": "^2.0.3", + "dom7": "^3.0.0", + "is-hotkey": "^0.2.0", + "lodash.camelcase": "^4.3.0", + "lodash.clonedeep": "^4.5.0", + "lodash.debounce": "^4.0.8", + "lodash.foreach": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.throttle": "^4.1.1", + "lodash.toarray": "^4.4.0", + "nanoid": "^3.2.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/editor": { + "version": "5.1.22", + "resolved": "https://registry.npmjs.org/@wangeditor/editor/-/editor-5.1.22.tgz", + "integrity": "sha512-Bg+NakUvg6+UvkRT/xD9a0zMhPy/4kwhiv8Hp93csa4dg2u/dlZORRTjJCWaWmVK82PrtBG3VAcuw3rPdQCfag==", + "dependencies": { + "@uppy/core": "^2.1.1", + "@uppy/xhr-upload": "^2.0.3", + "@wangeditor/basic-modules": "^1.1.6", + "@wangeditor/code-highlight": "^1.0.3", + "@wangeditor/core": "^1.1.18", + "@wangeditor/list-module": "^1.0.5", + "@wangeditor/table-module": "^1.1.4", + "@wangeditor/upload-image-module": "^1.0.2", + "@wangeditor/video-module": "^1.1.4", + "dom7": "^3.0.0", + "is-hotkey": "^0.2.0", + "lodash.camelcase": "^4.3.0", + "lodash.clonedeep": "^4.5.0", + "lodash.debounce": "^4.0.8", + "lodash.foreach": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.throttle": "^4.1.1", + "lodash.toarray": "^4.4.0", + "nanoid": "^3.2.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/editor-for-vue": { + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/@wangeditor/editor-for-vue/-/editor-for-vue-5.1.12.tgz", + "integrity": "sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==", + "peerDependencies": { + "@wangeditor/editor": ">=5.1.0", + "vue": "^3.0.5" + } + }, + "node_modules/@wangeditor/list-module": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@wangeditor/list-module/-/list-module-1.0.5.tgz", + "integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==", + "peerDependencies": { + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/table-module": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@wangeditor/table-module/-/table-module-1.1.4.tgz", + "integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==", + "peerDependencies": { + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "lodash.isequal": "^4.5.0", + "lodash.throttle": "^4.1.1", + "nanoid": "^3.2.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/upload-image-module": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz", + "integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==", + "peerDependencies": { + "@uppy/core": "^2.0.3", + "@uppy/xhr-upload": "^2.0.3", + "@wangeditor/basic-modules": "1.x", + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "lodash.foreach": "^4.5.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/video-module": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@wangeditor/video-module/-/video-module-1.1.4.tgz", + "integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==", + "peerDependencies": { + "@uppy/core": "^2.1.4", + "@uppy/xhr-upload": "^2.0.7", + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "nanoid": "^3.2.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ant-design-vue": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-3.2.5.tgz", + "integrity": "sha512-O6nxTHkRgqI3zIZ702hfBM4pamsYJs5ey63DY3BAq5zy1thLxcjjx4K4V2Zf9QtVQgsD8bgf6qb605P14GIqAw==", + "dependencies": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-vue": "^6.1.0", + "@babel/runtime": "^7.10.5", + "@ctrl/tinycolor": "^3.4.0", + "@simonwep/pickr": "~1.8.0", + "array-tree-filter": "^2.1.0", + "async-validator": "^4.0.0", + "dayjs": "^1.10.5", + "dom-align": "^1.12.1", + "dom-scroll-into-view": "^2.0.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.15", + "resize-observer-polyfill": "^1.5.1", + "scroll-into-view-if-needed": "^2.2.25", + "shallow-equal": "^1.0.0", + "vue-types": "^3.0.0", + "warning": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design-vue" + }, + "peerDependencies": { + "vue": ">=3.2.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "peer": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001425", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001425.tgz", + "integrity": "sha512-/pzFv0OmNG6W0ym80P3NtapU0QEiDS3VuYAZMGoLLqiC7f6FJFe1MjpQDREGApeenD9wloeytmVDj+JLXPC6qw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ], + "peer": true + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clipboard": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", + "dependencies": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "node_modules/clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "dev": true, + "dependencies": { + "is-regexp": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "dev": true, + "peer": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/compute-scroll-into-view": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz", + "integrity": "sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/core-js": { + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.0.tgz", + "integrity": "sha512-+DkDrhoR4Y0PxDz6rurahuB+I45OsEUv8E1maPTB6OuHRohMMcznBq9TMpdpDMm/hUPob/mJJS3PqgbHpMTQgw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, + "node_modules/css-functions-list": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", + "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==", + "dev": true, + "engines": { + "node": ">=12.22" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/dayjs": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz", + "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", + "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff2html": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/diff2html/-/diff2html-3.4.21.tgz", + "integrity": "sha512-I5KoezAf2SwPLHzMz4zRKuYW7KIN4LL4hncwR+rvrFXiYyXPgZRqK+123NodUC2N7HUTgF2lLVDFDyovUQNUUg==", + "dependencies": { + "diff": "5.1.0", + "hogan.js": "3.0.2" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "highlight.js": "11.6.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-align": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.3.tgz", + "integrity": "sha512-Gj9hZN3a07cbR6zviMUBOMPdWxYhbMI+x+WS0NAIu2zFZmbK8ys9R79g+iG9qLnlCwpFoaB+fKy8Pdv470GsPA==" + }, + "node_modules/dom-scroll-into-view": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz", + "integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==" + }, + "node_modules/dom7": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-3.0.0.tgz", + "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", + "dependencies": { + "ssr-window": "^3.0.0-alpha.1" + } + }, + "node_modules/echarts": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.0.tgz", + "integrity": "sha512-uPsO9VRUIKAdFOoH3B0aNg7NRVdN7aM39/OjovjO9MwmWsAkfGyeXJhK+dbRi51iDrQWliXV60/XwLA7kg3z0w==", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.4.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true, + "peer": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", + "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true, + "peer": true + }, + "node_modules/es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/esbuild": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", + "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/linux-loong64": "0.14.54", + "esbuild-android-64": "0.14.54", + "esbuild-android-arm64": "0.14.54", + "esbuild-darwin-64": "0.14.54", + "esbuild-darwin-arm64": "0.14.54", + "esbuild-freebsd-64": "0.14.54", + "esbuild-freebsd-arm64": "0.14.54", + "esbuild-linux-32": "0.14.54", + "esbuild-linux-64": "0.14.54", + "esbuild-linux-arm": "0.14.54", + "esbuild-linux-arm64": "0.14.54", + "esbuild-linux-mips64le": "0.14.54", + "esbuild-linux-ppc64le": "0.14.54", + "esbuild-linux-riscv64": "0.14.54", + "esbuild-linux-s390x": "0.14.54", + "esbuild-netbsd-64": "0.14.54", + "esbuild-openbsd-64": "0.14.54", + "esbuild-sunos-64": "0.14.54", + "esbuild-windows-32": "0.14.54", + "esbuild-windows-64": "0.14.54", + "esbuild-windows-arm64": "0.14.54" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", + "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", + "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", + "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", + "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", + "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", + "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", + "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", + "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", + "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", + "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", + "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", + "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", + "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", + "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", + "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", + "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", + "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", + "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", + "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", + "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", + "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", + "dev": true, + "dependencies": { + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.11.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.15.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", + "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.1.1.tgz", + "integrity": "sha512-W9n5PB1X2jzC7CK6riG0oAcxjmKrjTF6+keL1rni8n57DZeilx/Fulz+IRJK3lYseLNAygN0I62L7DvioW40Tw==", + "dev": true, + "dependencies": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^9.0.1", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/espree": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", + "dev": true, + "dependencies": { + "clone-regexp": "^2.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "node_modules/good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", + "dependencies": { + "delegate": "^3.1.2" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/highlight.js": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.6.0.tgz", + "integrity": "sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/hogan.js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz", + "integrity": "sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==", + "dependencies": { + "mkdirp": "0.3.0", + "nopt": "1.0.10" + }, + "bin": { + "hulk": "bin/hulk" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-tags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", + "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/i18next": { + "version": "20.6.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz", + "integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==", + "dependencies": { + "@babel/runtime": "^7.12.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immer": { + "version": "9.0.16", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.16.tgz", + "integrity": "sha512-qenGE7CstVm1NrHQbMh8YaSzTZTFNP3zPqr3YU0S0UY441j4bJTg4A2Hh5KAhwgaiU6ZZ1Ar6y/2f4TblnMReQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-builtin-module": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", + "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hotkey": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-hotkey/-/is-hotkey-0.2.0.tgz", + "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==" + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" + }, + "node_modules/js-sdsl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/known-css-properties": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz", + "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==", + "dev": true + }, + "node_modules/less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.0.1.tgz", + "integrity": "sha512-Crln//HpW9M5CbtdfWm3IO66Cvx1WhZQvNybXgfB2dD/6Sav9ppw+IWqs/FQKPBFO4B6X0X28Z0WNznshgwUzA==", + "dev": true, + "dependencies": { + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "node_modules/lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lunar-javascript": { + "version": "1.2.35", + "resolved": "https://registry.npmjs.org/lunar-javascript/-/lunar-javascript-1.2.35.tgz", + "integrity": "sha512-VD/roaK6fvv1PUv9G8zV0TjjW/TTngiLGltl4B4tGRi5cE7vTIEB7X9pfA8RTg8sgttiUs5gWfY/v8N0tYg0vA==" + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "peer": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mime-match/-/mime-match-1.0.2.tgz", + "integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==", + "dependencies": { + "wildcard": "^1.1.0" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mitt": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", + "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==" + }, + "node_modules/mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "engines": { + "node": "*" + } + }, + "node_modules/mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mockjs/-/mockjs-1.1.0.tgz", + "integrity": "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==", + "dev": true, + "peer": true, + "dependencies": { + "commander": "*" + }, + "bin": { + "random": "bin/random" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/namespace-emitter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", + "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==" + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanopop": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nanopop/-/nanopop-2.2.0.tgz", + "integrity": "sha512-E9JaHcxh3ere8/BEZHAcnuD10RluTSPyTToBvoFWS9/7DcCx6gyKjbn7M7Bx7E1veCxCuY1iO6h4+gdAf1j73Q==" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/needle": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", + "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", + "dev": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "peer": true + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true, + "peer": true + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinia": { + "version": "2.0.23", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.23.tgz", + "integrity": "sha512-N15hFf4o5STrxpNrib1IEb1GOArvPYf1zPvQVRGOO1G1d74Ak0J0lVyalX/SmrzdT4Q0nlEFjbURsmBmIGUR5Q==", + "dependencies": { + "@vue/devtools-api": "^6.4.4", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/postcss": { + "version": "8.4.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", + "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sorting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-7.0.1.tgz", + "integrity": "sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==", + "dev": true, + "peerDependencies": { + "postcss": "^8.3.9" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/preact": { + "version": "10.11.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.2.tgz", + "integrity": "sha512-skAwGDFmgxhq1DCBHke/9e12ewkhc7WYwjuhHB8HHS8zkdtITXLRmUMTeol2ldxvLwYtwbFeifZ9uDDWuyL4Iw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.77.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.3.tgz", + "integrity": "sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "optional": true + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/scroll-into-view-if-needed": { + "version": "2.2.29", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.29.tgz", + "integrity": "sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg==", + "dependencies": { + "compute-scroll-into-view": "^1.0.17" + } + }, + "node_modules/select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==" + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slate": { + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/slate/-/slate-0.72.8.tgz", + "integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==", + "dependencies": { + "immer": "^9.0.6", + "is-plain-object": "^5.0.0", + "tiny-warning": "^1.0.3" + } + }, + "node_modules/slate-history": { + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/slate-history/-/slate-history-0.66.0.tgz", + "integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==", + "dependencies": { + "is-plain-object": "^5.0.0" + }, + "peerDependencies": { + "slate": ">=0.65.3" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/snabbdom": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/snabbdom/-/snabbdom-3.5.1.tgz", + "integrity": "sha512-wHMNIOjkm/YNE5EM3RCbr/+DVgPg6AqQAX1eOxO46zYNvCXjKP5Y865tqQj3EXnaMBjkxmQA5jFuDpDK/dbfiA==", + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/sortablejs": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz", + "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==" + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "node_modules/specificity": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", + "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", + "dev": true, + "bin": { + "specificity": "bin/specificity" + } + }, + "node_modules/ssr-window": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz", + "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==" + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "node_modules/stylelint": { + "version": "14.8.5", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.5.tgz", + "integrity": "sha512-e3t4H/hlWlspkcNUrkhf44RU3OpPTA7uBOoREGBzSwdEF+2g/+gbZq7WEpMP7BpopcSe/uLaTvDuL+URL7cdnQ==", + "dev": true, + "dependencies": { + "balanced-match": "^2.0.0", + "colord": "^2.9.2", + "cosmiconfig": "^7.0.1", + "css-functions-list": "^3.0.1", + "debug": "^4.3.4", + "execall": "^2.0.0", + "fast-glob": "^3.2.11", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.2.0", + "ignore": "^5.2.0", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.25.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.14", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "specificity": "^0.4.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^2.2.0", + "svg-tags": "^1.0.0", + "table": "^6.8.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^4.0.1" + }, + "bin": { + "stylelint": "bin/stylelint.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + } + }, + "node_modules/stylelint-config-prettier": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-9.0.3.tgz", + "integrity": "sha512-5n9gUDp/n5tTMCq1GLqSpA30w2sqWITSSEiAWQlpxkKGAUbjcemQ0nbkRvRUa0B1LgD3+hCvdL7B1eTxy1QHJg==", + "dev": true, + "bin": { + "stylelint-config-prettier": "bin/check.js", + "stylelint-config-prettier-check": "bin/check.js" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "stylelint": ">=11.0.0" + } + }, + "node_modules/stylelint-config-standard": { + "version": "25.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz", + "integrity": "sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==", + "dev": true, + "dependencies": { + "stylelint-config-recommended": "^7.0.0" + }, + "peerDependencies": { + "stylelint": "^14.4.0" + } + }, + "node_modules/stylelint-config-standard/node_modules/stylelint-config-recommended": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz", + "integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==", + "dev": true, + "peerDependencies": { + "stylelint": "^14.4.0" + } + }, + "node_modules/stylelint-order": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-5.0.0.tgz", + "integrity": "sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==", + "dev": true, + "dependencies": { + "postcss": "^8.3.11", + "postcss-sorting": "^7.0.1" + }, + "peerDependencies": { + "stylelint": "^14.0.0" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "node_modules/stylelint/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/table": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", + "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/throttle-debounce": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz", + "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.32.tgz", + "integrity": "sha512-dXVsz3M4j+5tTiovFVyVqssXBu5HM47//YSOeZ9fQkdDKkfzv2v3PP1jmH6FUyPW+yCSn7aBVK1fGGKNhowdDA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "peer": true, + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/v-viewer": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/v-viewer/-/v-viewer-1.6.4.tgz", + "integrity": "sha512-LVkiUHpmsbsZXebeNXnu8krRCi5i2n07FeLFxoIVGhw8lVvTBO0ffpbDC6mLEuacCjrIh09HjIqpciwUtWE8lQ==", + "dependencies": { + "throttle-debounce": "^2.0.1", + "viewerjs": "^1.5.0" + }, + "engines": { + "node": ">=4", + "npm": ">=3" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/viewerjs": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/viewerjs/-/viewerjs-1.11.0.tgz", + "integrity": "sha512-TE3XvfEXqKV+LdHsRdMSPsCaq0PfKDXm4SjGzfty7CzVxlDbBbT4x38vAqfXfNITmHhHUQefdxdg0Vv4ia+Z9w==" + }, + "node_modules/vite": { + "version": "2.9.15", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.15.tgz", + "integrity": "sha512-fzMt2jK4vQ3yK56te3Kqpkaeq9DkcZfBbzHwYpobasvgYmP2SoAr6Aic05CsB4CzCZbsDv4sujX3pkEGhLabVQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.14.27", + "postcss": "^8.4.13", + "resolve": "^1.22.0", + "rollup": ">=2.59.0 <2.78.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": ">=12.2.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "less": "*", + "sass": "*", + "stylus": "*" + }, + "peerDependenciesMeta": { + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + } + } + }, + "node_modules/vite-plugin-mock": { + "version": "2.9.6", + "resolved": "https://registry.npmjs.org/vite-plugin-mock/-/vite-plugin-mock-2.9.6.tgz", + "integrity": "sha512-/Rm59oPppe/ncbkSrUuAxIQihlI2YcBmnbR4ST1RA2VzM1C0tEQc1KlbQvnUGhXECAGTaQN2JyasiwXP6EtKgg==", + "dev": true, + "dependencies": { + "@rollup/plugin-node-resolve": "^13.0.4", + "@types/mockjs": "^1.0.4", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "connect": "^3.7.0", + "debug": "^4.3.2", + "esbuild": "0.11.3", + "fast-glob": "^3.2.7", + "path-to-regexp": "^6.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "mockjs": ">=1.1.0", + "vite": ">=2.0.0" + } + }, + "node_modules/vite-plugin-mock/node_modules/esbuild": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.11.3.tgz", + "integrity": "sha512-BzVRHcCtFepjS9WcqRjqoIxLqgpK21a8J4Zi4msSGxDxiXVO1IbcqT1KjhdDDnJxKfe7bvzZrvMEX+bVO0Elcw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + } + }, + "node_modules/vite-plugin-optimize-persist": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/vite-plugin-optimize-persist/-/vite-plugin-optimize-persist-0.1.2.tgz", + "integrity": "sha512-H/Ebn2kZO8PvwUF08SsT5K5xMJNCWKoGX71+e9/ER3yNj7GHiFjNQlvGg5ih/zEx09MZ9m7WCxOwmEKbeIVzww==", + "dev": true, + "dependencies": { + "debug": "^4.3.2", + "fs-extra": "^10.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.0.0", + "vite-plugin-package-config": "^0.1.0" + } + }, + "node_modules/vite-plugin-package-config": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/vite-plugin-package-config/-/vite-plugin-package-config-0.1.1.tgz", + "integrity": "sha512-w9B3I8ZnqoyhlbzimXjXNk85imrMZgvI9m8f6j3zonK5IVA5KXzpT+PZOHlDz8lqh1vqvoEI1uhy+ZDoLAiA/w==", + "dev": true, + "dependencies": { + "debug": "^4.3.3" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.0.0" + } + }, + "node_modules/vue": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.41.tgz", + "integrity": "sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ==", + "dependencies": { + "@vue/compiler-dom": "3.2.41", + "@vue/compiler-sfc": "3.2.41", + "@vue/runtime-dom": "3.2.41", + "@vue/server-renderer": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "node_modules/vue-eslint-parser": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.0.3.tgz", + "integrity": "sha512-yL+ZDb+9T0ELG4VIFo/2anAOz8SvBdlqEnQnvJ3M7Scq56DvtjY0VY88bByRZB0D4J0u8olBcfrXTVONXsh4og==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-i18n": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", + "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==", + "dependencies": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2", + "@vue/devtools-api": "^6.2.1" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-router": { + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.16.tgz", + "integrity": "sha512-JcO7cb8QJLBWE+DfxGUL3xUDOae/8nhM1KVdnudadTAORbuxIC/xAydC5Zr/VLHUDQi1ppuTF5/rjBGzgzrJNA==", + "dependencies": { + "@vue/devtools-api": "^6.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/vue-types/-/vue-types-3.0.2.tgz", + "integrity": "sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==", + "dependencies": { + "is-plain-object": "3.0.1" + }, + "engines": { + "node": ">=10.15.0" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-types/node_modules/is-plain-object": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", + "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vue3-json-viewer": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/vue3-json-viewer/-/vue3-json-viewer-2.2.2.tgz", + "integrity": "sha512-56l3XDGggnpwEqZieXsSMhNT4NhtO6d7zuSAxHo4i0UVxymyY2jRb7UMQOU1ztChKALZCAzX7DlgrsnEhxu77A==", + "dependencies": { + "clipboard": "^2.0.10" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.74.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", + "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true, + "peer": true + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-1.1.2.tgz", + "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==" + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zrender": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.0.tgz", + "integrity": "sha512-rOS09Z2HSVGFs2dn/TuYk5BlCaZcVe8UDLLjj1ySYF828LATKKdxuakSZMvrDz54yiKPDYVfjdKqcX8Jky3BIA==", + "dependencies": { + "tslib": "2.3.0" + } + } + }, + "dependencies": { + "@ant-design/colors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz", + "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", + "requires": { + "@ctrl/tinycolor": "^3.4.0" + } + }, + "@ant-design/icons-svg": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz", + "integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==" + }, + "@ant-design/icons-vue": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@ant-design/icons-vue/-/icons-vue-6.1.0.tgz", + "integrity": "sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA==", + "requires": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-svg": "^4.2.1" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.6.tgz", + "integrity": "sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA==" + }, + "@babel/runtime": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@ctrl/tinycolor": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz", + "integrity": "sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==" + }, + "@esbuild/linux-loong64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", + "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", + "dev": true, + "optional": true + }, + "@eslint/eslintrc": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.6.tgz", + "integrity": "sha512-jJr+hPTJYKyDILJfhNSHsjiwXYf26Flsz8DvNndOsHs5pwSnpGUEy8yzF0JYhCEvTDdV2vuOK5tt8BVhwO5/hg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@intlify/core-base": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz", + "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", + "requires": { + "@intlify/devtools-if": "9.2.2", + "@intlify/message-compiler": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2" + } + }, + "@intlify/devtools-if": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", + "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", + "requires": { + "@intlify/shared": "9.2.2" + } + }, + "@intlify/message-compiler": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", + "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", + "requires": { + "@intlify/shared": "9.2.2", + "source-map": "0.6.1" + } + }, + "@intlify/shared": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", + "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==" + }, + "@intlify/vue-devtools": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", + "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", + "requires": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "peer": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "peer": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true, + "peer": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", + "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + } + } + }, + "@simonwep/pickr": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.8.2.tgz", + "integrity": "sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==", + "requires": { + "core-js": "^3.15.1", + "nanopop": "^2.1.0" + } + }, + "@transloadit/prettier-bytes": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", + "integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==" + }, + "@types/eslint": { + "version": "8.4.8", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.8.tgz", + "integrity": "sha512-zUCKQI1bUCTi+0kQs5ZQzQ/XILWRLIlh15FXWNykJ+NG3TMKMVvwwC6GP3DR1Ylga15fB7iAExSzc4PNlR5i3w==", + "dev": true, + "peer": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "@types/event-emitter": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@types/event-emitter/-/event-emitter-0.3.3.tgz", + "integrity": "sha512-UfnOK1pIxO7P+EgPRZXD9jMpimd8QEFcEZ5R67R1UhGbv4zghU5+NE7U8M8G9H5Jc8FI51rqDWQs6FtUfq2e/Q==" + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true, + "peer": true + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/mockjs": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/mockjs/-/mockjs-1.0.7.tgz", + "integrity": "sha512-OCxXz6hEaJOVpRwuJMiVY5a6LtJcih+br9gwB/Q8ooOBikvk5FpBQ31OlNimXo3EqKha1Z7PFBni+q9m+8NCWg==", + "dev": true + }, + "@types/node": { + "version": "18.11.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.5.tgz", + "integrity": "sha512-3JRwhbjI+cHLAkUorhf8RnqUbFXajvzX4q6fMn5JwkgtuwfYtRQYI3u4V92vI6NJuTsbBQWWh3RZjFsuevyMGQ==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@uppy/companion-client": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@uppy/companion-client/-/companion-client-2.2.2.tgz", + "integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==", + "requires": { + "@uppy/utils": "^4.1.2", + "namespace-emitter": "^2.0.1" + } + }, + "@uppy/core": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@uppy/core/-/core-2.3.4.tgz", + "integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==", + "requires": { + "@transloadit/prettier-bytes": "0.0.7", + "@uppy/store-default": "^2.1.1", + "@uppy/utils": "^4.1.3", + "lodash.throttle": "^4.1.1", + "mime-match": "^1.0.2", + "namespace-emitter": "^2.0.1", + "nanoid": "^3.1.25", + "preact": "^10.5.13" + } + }, + "@uppy/store-default": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@uppy/store-default/-/store-default-2.1.1.tgz", + "integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==" + }, + "@uppy/utils": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-4.1.3.tgz", + "integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==", + "requires": { + "lodash.throttle": "^4.1.1" + } + }, + "@uppy/xhr-upload": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz", + "integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==", + "requires": { + "@uppy/companion-client": "^2.2.2", + "@uppy/utils": "^4.1.2", + "nanoid": "^3.1.25" + } + }, + "@vitejs/plugin-vue": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.4.tgz", + "integrity": "sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg==", + "dev": true, + "requires": {} + }, + "@vue/compiler-core": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.41.tgz", + "integrity": "sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.41", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz", + "integrity": "sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==", + "requires": { + "@vue/compiler-core": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz", + "integrity": "sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.41", + "@vue/compiler-dom": "3.2.41", + "@vue/compiler-ssr": "3.2.41", + "@vue/reactivity-transform": "3.2.41", + "@vue/shared": "3.2.41", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz", + "integrity": "sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==", + "requires": { + "@vue/compiler-dom": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "@vue/devtools-api": { + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz", + "integrity": "sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==" + }, + "@vue/reactivity": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.41.tgz", + "integrity": "sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==", + "requires": { + "@vue/shared": "3.2.41" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz", + "integrity": "sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.41", + "@vue/shared": "3.2.41", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "@vue/runtime-core": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.41.tgz", + "integrity": "sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ==", + "requires": { + "@vue/reactivity": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "@vue/runtime-dom": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.41.tgz", + "integrity": "sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA==", + "requires": { + "@vue/runtime-core": "3.2.41", + "@vue/shared": "3.2.41", + "csstype": "^2.6.8" + } + }, + "@vue/server-renderer": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.41.tgz", + "integrity": "sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig==", + "requires": { + "@vue/compiler-ssr": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "@vue/shared": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.41.tgz", + "integrity": "sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==" + }, + "@wangeditor/basic-modules": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@wangeditor/basic-modules/-/basic-modules-1.1.6.tgz", + "integrity": "sha512-wckcFm/kEAHpTn7dTmN0+7POFoygqt9bZdNHJUkdKObXtAerml8RdjrkHRcwJFCkSELbrNK63fvkwS0+FsabfA==", + "requires": { + "is-url": "^1.2.4" + } + }, + "@wangeditor/code-highlight": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz", + "integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==", + "requires": { + "prismjs": "^1.23.0" + } + }, + "@wangeditor/core": { + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/@wangeditor/core/-/core-1.1.18.tgz", + "integrity": "sha512-GZsW/8tm2Hc2hZKX8BZP9PO7vTZll9YXsOt+jKck3D2bj9nk4T0FZymuE5fq9ZHdo+MwLiXBHXS/D1SIGlVnGQ==", + "requires": { + "@types/event-emitter": "^0.3.3", + "event-emitter": "^0.3.5", + "html-void-elements": "^2.0.0", + "i18next": "^20.4.0", + "scroll-into-view-if-needed": "^2.2.28", + "slate-history": "^0.66.0" + } + }, + "@wangeditor/editor": { + "version": "5.1.22", + "resolved": "https://registry.npmjs.org/@wangeditor/editor/-/editor-5.1.22.tgz", + "integrity": "sha512-Bg+NakUvg6+UvkRT/xD9a0zMhPy/4kwhiv8Hp93csa4dg2u/dlZORRTjJCWaWmVK82PrtBG3VAcuw3rPdQCfag==", + "requires": { + "@uppy/core": "^2.1.1", + "@uppy/xhr-upload": "^2.0.3", + "@wangeditor/basic-modules": "^1.1.6", + "@wangeditor/code-highlight": "^1.0.3", + "@wangeditor/core": "^1.1.18", + "@wangeditor/list-module": "^1.0.5", + "@wangeditor/table-module": "^1.1.4", + "@wangeditor/upload-image-module": "^1.0.2", + "@wangeditor/video-module": "^1.1.4", + "dom7": "^3.0.0", + "is-hotkey": "^0.2.0", + "lodash.camelcase": "^4.3.0", + "lodash.clonedeep": "^4.5.0", + "lodash.debounce": "^4.0.8", + "lodash.foreach": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.throttle": "^4.1.1", + "lodash.toarray": "^4.4.0", + "nanoid": "^3.2.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "@wangeditor/editor-for-vue": { + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/@wangeditor/editor-for-vue/-/editor-for-vue-5.1.12.tgz", + "integrity": "sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==", + "requires": {} + }, + "@wangeditor/list-module": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@wangeditor/list-module/-/list-module-1.0.5.tgz", + "integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==", + "requires": {} + }, + "@wangeditor/table-module": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@wangeditor/table-module/-/table-module-1.1.4.tgz", + "integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==", + "requires": {} + }, + "@wangeditor/upload-image-module": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz", + "integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==", + "requires": {} + }, + "@wangeditor/video-module": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@wangeditor/video-module/-/video-module-1.1.4.tgz", + "integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==", + "requires": {} + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true, + "peer": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peer": true, + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "requires": {} + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "ant-design-vue": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-3.2.5.tgz", + "integrity": "sha512-O6nxTHkRgqI3zIZ702hfBM4pamsYJs5ey63DY3BAq5zy1thLxcjjx4K4V2Zf9QtVQgsD8bgf6qb605P14GIqAw==", + "requires": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-vue": "^6.1.0", + "@babel/runtime": "^7.10.5", + "@ctrl/tinycolor": "^3.4.0", + "@simonwep/pickr": "~1.8.0", + "array-tree-filter": "^2.1.0", + "async-validator": "^4.0.0", + "dayjs": "^1.10.5", + "dom-align": "^1.12.1", + "dom-scroll-into-view": "^2.0.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.15", + "resize-observer-polyfill": "^1.5.1", + "scroll-into-view-if-needed": "^2.2.25", + "shallow-equal": "^1.0.0", + "vue-types": "^3.0.0", + "warning": "^4.0.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "peer": true, + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "peer": true + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "caniuse-lite": { + "version": "1.0.30001425", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001425.tgz", + "integrity": "sha512-/pzFv0OmNG6W0ym80P3NtapU0QEiDS3VuYAZMGoLLqiC7f6FJFe1MjpQDREGApeenD9wloeytmVDj+JLXPC6qw==", + "dev": true, + "peer": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true + }, + "clipboard": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "dev": true, + "requires": { + "is-regexp": "^2.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "dev": true, + "peer": true + }, + "compute-scroll-into-view": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz", + "integrity": "sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "requires": { + "is-what": "^3.14.1" + } + }, + "core-js": { + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.0.tgz", + "integrity": "sha512-+DkDrhoR4Y0PxDz6rurahuB+I45OsEUv8E1maPTB6OuHRohMMcznBq9TMpdpDMm/hUPob/mJJS3PqgbHpMTQgw==" + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, + "css-functions-list": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", + "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dayjs": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz", + "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + } + } + }, + "decimal.js": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", + "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==" + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==" + }, + "diff2html": { + "version": "3.4.21", + "resolved": "https://registry.npmjs.org/diff2html/-/diff2html-3.4.21.tgz", + "integrity": "sha512-I5KoezAf2SwPLHzMz4zRKuYW7KIN4LL4hncwR+rvrFXiYyXPgZRqK+123NodUC2N7HUTgF2lLVDFDyovUQNUUg==", + "requires": { + "diff": "5.1.0", + "highlight.js": "11.6.0", + "hogan.js": "3.0.2" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-align": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.3.tgz", + "integrity": "sha512-Gj9hZN3a07cbR6zviMUBOMPdWxYhbMI+x+WS0NAIu2zFZmbK8ys9R79g+iG9qLnlCwpFoaB+fKy8Pdv470GsPA==" + }, + "dom-scroll-into-view": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz", + "integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==" + }, + "dom7": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-3.0.0.tgz", + "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", + "requires": { + "ssr-window": "^3.0.0-alpha.1" + } + }, + "echarts": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.0.tgz", + "integrity": "sha512-uPsO9VRUIKAdFOoH3B0aNg7NRVdN7aM39/OjovjO9MwmWsAkfGyeXJhK+dbRi51iDrQWliXV60/XwLA7kg3z0w==", + "requires": { + "tslib": "2.3.0", + "zrender": "5.4.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true, + "peer": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", + "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true, + "peer": true + }, + "es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "esbuild": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", + "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", + "dev": true, + "requires": { + "@esbuild/linux-loong64": "0.14.54", + "esbuild-android-64": "0.14.54", + "esbuild-android-arm64": "0.14.54", + "esbuild-darwin-64": "0.14.54", + "esbuild-darwin-arm64": "0.14.54", + "esbuild-freebsd-64": "0.14.54", + "esbuild-freebsd-arm64": "0.14.54", + "esbuild-linux-32": "0.14.54", + "esbuild-linux-64": "0.14.54", + "esbuild-linux-arm": "0.14.54", + "esbuild-linux-arm64": "0.14.54", + "esbuild-linux-mips64le": "0.14.54", + "esbuild-linux-ppc64le": "0.14.54", + "esbuild-linux-riscv64": "0.14.54", + "esbuild-linux-s390x": "0.14.54", + "esbuild-netbsd-64": "0.14.54", + "esbuild-openbsd-64": "0.14.54", + "esbuild-sunos-64": "0.14.54", + "esbuild-windows-32": "0.14.54", + "esbuild-windows-64": "0.14.54", + "esbuild-windows-arm64": "0.14.54" + } + }, + "esbuild-android-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", + "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", + "dev": true, + "optional": true + }, + "esbuild-android-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", + "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", + "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", + "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", + "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", + "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", + "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", + "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", + "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", + "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", + "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", + "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", + "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", + "dev": true, + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", + "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", + "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", + "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", + "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", + "dev": true, + "optional": true + }, + "esbuild-windows-32": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", + "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", + "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", + "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "peer": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", + "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.11.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.15.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", + "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-vue": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.1.1.tgz", + "integrity": "sha512-W9n5PB1X2jzC7CK6riG0oAcxjmKrjTF6+keL1rni8n57DZeilx/Fulz+IRJK3lYseLNAygN0I62L7DvioW40Tw==", + "dev": true, + "requires": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^9.0.1", + "xml-name-validator": "^4.0.0" + } + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true + }, + "execall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", + "dev": true, + "requires": { + "clone-regexp": "^2.1.0" + } + }, + "ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "requires": { + "type": "^2.7.2" + }, + "dependencies": { + "type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", + "requires": { + "delegate": "^3.1.2" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "highlight.js": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.6.0.tgz", + "integrity": "sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==" + }, + "hogan.js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz", + "integrity": "sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==", + "requires": { + "mkdirp": "0.3.0", + "nopt": "1.0.10" + } + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "html-tags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", + "dev": true + }, + "html-void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", + "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==" + }, + "i18next": { + "version": "20.6.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz", + "integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==", + "requires": { + "@babel/runtime": "^7.12.0" + } + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true + }, + "immer": { + "version": "9.0.16", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.16.tgz", + "integrity": "sha512-qenGE7CstVm1NrHQbMh8YaSzTZTFNP3zPqr3YU0S0UY441j4bJTg4A2Hh5KAhwgaiU6ZZ1Ar6y/2f4TblnMReQ==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-builtin-module": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", + "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", + "dev": true, + "requires": { + "builtin-modules": "^3.3.0" + } + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hotkey": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-hotkey/-/is-hotkey-0.2.0.tgz", + "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==" + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true + }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" + }, + "js-sdsl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true + }, + "known-css-properties": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz", + "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==", + "dev": true + }, + "less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" + } + }, + "less-loader": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.0.1.tgz", + "integrity": "sha512-Crln//HpW9M5CbtdfWm3IO66Cvx1WhZQvNybXgfB2dD/6Sav9ppw+IWqs/FQKPBFO4B6X0X28Z0WNznshgwUzA==", + "dev": true, + "requires": { + "klona": "^2.0.4" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==" + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "lunar-javascript": { + "version": "1.2.35", + "resolved": "https://registry.npmjs.org/lunar-javascript/-/lunar-javascript-1.2.35.tgz", + "integrity": "sha512-VD/roaK6fvv1PUv9G8zV0TjjW/TTngiLGltl4B4tGRi5cE7vTIEB7X9pfA8RTg8sgttiUs5gWfY/v8N0tYg0vA==" + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + } + } + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true + }, + "meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "peer": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mime-match/-/mime-match-1.0.2.tgz", + "integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==", + "requires": { + "wildcard": "^1.1.0" + } + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "mitt": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", + "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==" + }, + "mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==" + }, + "mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mockjs/-/mockjs-1.1.0.tgz", + "integrity": "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==", + "dev": true, + "peer": true, + "requires": { + "commander": "*" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "namespace-emitter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", + "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==" + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + }, + "nanopop": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nanopop/-/nanopop-2.2.0.tgz", + "integrity": "sha512-E9JaHcxh3ere8/BEZHAcnuD10RluTSPyTToBvoFWS9/7DcCx6gyKjbn7M7Bx7E1veCxCuY1iO6h4+gdAf1j73Q==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "needle": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", + "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "peer": true + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true, + "peer": true + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true + }, + "pinia": { + "version": "2.0.23", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.23.tgz", + "integrity": "sha512-N15hFf4o5STrxpNrib1IEb1GOArvPYf1zPvQVRGOO1G1d74Ak0J0lVyalX/SmrzdT4Q0nlEFjbURsmBmIGUR5Q==", + "requires": { + "@vue/devtools-api": "^6.4.4", + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "requires": {} + } + } + }, + "postcss": { + "version": "8.4.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", + "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "requires": {} + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-sorting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-7.0.1.tgz", + "integrity": "sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==", + "dev": true, + "requires": {} + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "preact": { + "version": "10.11.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.2.tgz", + "integrity": "sha512-skAwGDFmgxhq1DCBHke/9e12ewkhc7WYwjuhHB8HHS8zkdtITXLRmUMTeol2ldxvLwYtwbFeifZ9uDDWuyL4Iw==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regenerator-runtime": { + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.77.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.3.tgz", + "integrity": "sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "peer": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "peer": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "scroll-into-view-if-needed": { + "version": "2.2.29", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.29.tgz", + "integrity": "sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg==", + "requires": { + "compute-scroll-into-view": "^1.0.17" + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==" + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slate": { + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/slate/-/slate-0.72.8.tgz", + "integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==", + "requires": { + "immer": "^9.0.6", + "is-plain-object": "^5.0.0", + "tiny-warning": "^1.0.3" + } + }, + "slate-history": { + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/slate-history/-/slate-history-0.66.0.tgz", + "integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==", + "requires": { + "is-plain-object": "^5.0.0" + } + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "snabbdom": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/snabbdom/-/snabbdom-3.5.1.tgz", + "integrity": "sha512-wHMNIOjkm/YNE5EM3RCbr/+DVgPg6AqQAX1eOxO46zYNvCXjKP5Y865tqQj3EXnaMBjkxmQA5jFuDpDK/dbfiA==" + }, + "sortablejs": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz", + "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "specificity": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", + "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", + "dev": true + }, + "ssr-window": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz", + "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "stylelint": { + "version": "14.8.5", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.5.tgz", + "integrity": "sha512-e3t4H/hlWlspkcNUrkhf44RU3OpPTA7uBOoREGBzSwdEF+2g/+gbZq7WEpMP7BpopcSe/uLaTvDuL+URL7cdnQ==", + "dev": true, + "requires": { + "balanced-match": "^2.0.0", + "colord": "^2.9.2", + "cosmiconfig": "^7.0.1", + "css-functions-list": "^3.0.1", + "debug": "^4.3.4", + "execall": "^2.0.0", + "fast-glob": "^3.2.11", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.2.0", + "ignore": "^5.2.0", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.25.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.14", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "specificity": "^0.4.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^2.2.0", + "svg-tags": "^1.0.0", + "table": "^6.8.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^4.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "stylelint-config-prettier": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-9.0.3.tgz", + "integrity": "sha512-5n9gUDp/n5tTMCq1GLqSpA30w2sqWITSSEiAWQlpxkKGAUbjcemQ0nbkRvRUa0B1LgD3+hCvdL7B1eTxy1QHJg==", + "dev": true, + "requires": {} + }, + "stylelint-config-standard": { + "version": "25.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz", + "integrity": "sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==", + "dev": true, + "requires": { + "stylelint-config-recommended": "^7.0.0" + }, + "dependencies": { + "stylelint-config-recommended": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz", + "integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==", + "dev": true, + "requires": {} + } + } + }, + "stylelint-order": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-5.0.0.tgz", + "integrity": "sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==", + "dev": true, + "requires": { + "postcss": "^8.3.11", + "postcss-sorting": "^7.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "table": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true + }, + "terser": { + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", + "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "throttle-debounce": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz", + "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==" + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true + }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "ua-parser-js": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.32.tgz", + "integrity": "sha512-dXVsz3M4j+5tTiovFVyVqssXBu5HM47//YSOeZ9fQkdDKkfzv2v3PP1jmH6FUyPW+yCSn7aBVK1fGGKNhowdDA==" + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "peer": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "v-viewer": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/v-viewer/-/v-viewer-1.6.4.tgz", + "integrity": "sha512-LVkiUHpmsbsZXebeNXnu8krRCi5i2n07FeLFxoIVGhw8lVvTBO0ffpbDC6mLEuacCjrIh09HjIqpciwUtWE8lQ==", + "requires": { + "throttle-debounce": "^2.0.1", + "viewerjs": "^1.5.0" + } + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "viewerjs": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/viewerjs/-/viewerjs-1.11.0.tgz", + "integrity": "sha512-TE3XvfEXqKV+LdHsRdMSPsCaq0PfKDXm4SjGzfty7CzVxlDbBbT4x38vAqfXfNITmHhHUQefdxdg0Vv4ia+Z9w==" + }, + "vite": { + "version": "2.9.15", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.15.tgz", + "integrity": "sha512-fzMt2jK4vQ3yK56te3Kqpkaeq9DkcZfBbzHwYpobasvgYmP2SoAr6Aic05CsB4CzCZbsDv4sujX3pkEGhLabVQ==", + "dev": true, + "requires": { + "esbuild": "^0.14.27", + "fsevents": "~2.3.2", + "postcss": "^8.4.13", + "resolve": "^1.22.0", + "rollup": ">=2.59.0 <2.78.0" + } + }, + "vite-plugin-mock": { + "version": "2.9.6", + "resolved": "https://registry.npmjs.org/vite-plugin-mock/-/vite-plugin-mock-2.9.6.tgz", + "integrity": "sha512-/Rm59oPppe/ncbkSrUuAxIQihlI2YcBmnbR4ST1RA2VzM1C0tEQc1KlbQvnUGhXECAGTaQN2JyasiwXP6EtKgg==", + "dev": true, + "requires": { + "@rollup/plugin-node-resolve": "^13.0.4", + "@types/mockjs": "^1.0.4", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "connect": "^3.7.0", + "debug": "^4.3.2", + "esbuild": "0.11.3", + "fast-glob": "^3.2.7", + "path-to-regexp": "^6.2.0" + }, + "dependencies": { + "esbuild": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.11.3.tgz", + "integrity": "sha512-BzVRHcCtFepjS9WcqRjqoIxLqgpK21a8J4Zi4msSGxDxiXVO1IbcqT1KjhdDDnJxKfe7bvzZrvMEX+bVO0Elcw==", + "dev": true + } + } + }, + "vite-plugin-optimize-persist": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/vite-plugin-optimize-persist/-/vite-plugin-optimize-persist-0.1.2.tgz", + "integrity": "sha512-H/Ebn2kZO8PvwUF08SsT5K5xMJNCWKoGX71+e9/ER3yNj7GHiFjNQlvGg5ih/zEx09MZ9m7WCxOwmEKbeIVzww==", + "dev": true, + "requires": { + "debug": "^4.3.2", + "fs-extra": "^10.0.0" + } + }, + "vite-plugin-package-config": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/vite-plugin-package-config/-/vite-plugin-package-config-0.1.1.tgz", + "integrity": "sha512-w9B3I8ZnqoyhlbzimXjXNk85imrMZgvI9m8f6j3zonK5IVA5KXzpT+PZOHlDz8lqh1vqvoEI1uhy+ZDoLAiA/w==", + "dev": true, + "requires": { + "debug": "^4.3.3" + } + }, + "vue": { + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.41.tgz", + "integrity": "sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ==", + "requires": { + "@vue/compiler-dom": "3.2.41", + "@vue/compiler-sfc": "3.2.41", + "@vue/runtime-dom": "3.2.41", + "@vue/server-renderer": "3.2.41", + "@vue/shared": "3.2.41" + } + }, + "vue-eslint-parser": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.0.3.tgz", + "integrity": "sha512-yL+ZDb+9T0ELG4VIFo/2anAOz8SvBdlqEnQnvJ3M7Scq56DvtjY0VY88bByRZB0D4J0u8olBcfrXTVONXsh4og==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + } + }, + "vue-i18n": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", + "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==", + "requires": { + "@intlify/core-base": "9.2.2", + "@intlify/shared": "9.2.2", + "@intlify/vue-devtools": "9.2.2", + "@vue/devtools-api": "^6.2.1" + } + }, + "vue-router": { + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.16.tgz", + "integrity": "sha512-JcO7cb8QJLBWE+DfxGUL3xUDOae/8nhM1KVdnudadTAORbuxIC/xAydC5Zr/VLHUDQi1ppuTF5/rjBGzgzrJNA==", + "requires": { + "@vue/devtools-api": "^6.0.0" + } + }, + "vue-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/vue-types/-/vue-types-3.0.2.tgz", + "integrity": "sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==", + "requires": { + "is-plain-object": "3.0.1" + }, + "dependencies": { + "is-plain-object": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", + "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==" + } + } + }, + "vue3-json-viewer": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/vue3-json-viewer/-/vue3-json-viewer-2.2.2.tgz", + "integrity": "sha512-56l3XDGggnpwEqZieXsSMhNT4NhtO6d7zuSAxHo4i0UVxymyY2jRb7UMQOU1ztChKALZCAzX7DlgrsnEhxu77A==", + "requires": { + "clipboard": "^2.0.10" + } + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.74.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", + "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true, + "peer": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true + } + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-1.1.2.tgz", + "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, + "zrender": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.0.tgz", + "integrity": "sha512-rOS09Z2HSVGFs2dn/TuYk5BlCaZcVe8UDLLjj1ySYF828LATKKdxuakSZMvrDz54yiKPDYVfjdKqcX8Jky3BIA==", + "requires": { + "tslib": "2.3.0" + } + } + } +} diff --git a/smart-admin-web/javascript-ant-design-vue3/package.json b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/package.json similarity index 90% rename from smart-admin-web/javascript-ant-design-vue3/package.json rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/package.json index ec59cfac..f32227e9 100644 --- a/smart-admin-web/javascript-ant-design-vue3/package.json +++ b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/package.json @@ -9,13 +9,11 @@ "license": "MIT", "homepage": "https://smartadmin.1024lab.net", "scripts": { - "dev": "vite", - "test": "vite build --mode test", - "pre": "vite build --mode pre", - "prod": "vite build --mode production", "localhost": "vite --mode localhost", - "build": "vue-tsc --noEmit && vite build", - "serve": "vite preview" + "dev": "vite", + "build:test": "vite build --mode test", + "build:pre": "vite build --mode pre", + "build:prod": "vite build --mode production" }, "dependencies": { "@ant-design/icons-vue": "^6.1.0", diff --git a/smart-admin-web/javascript-ant-design-vue3/postcss.config.js b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/postcss.config.js similarity index 100% rename from smart-admin-web/javascript-ant-design-vue3/postcss.config.js rename to smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/postcss.config.js diff --git a/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/public/favicon.ico b/smart_admin_v2/smart-admin-web/javascript-ant-design-vue3/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5e59671b6e407a6a4ca45ce51e31ffa086ff3cad GIT binary patch literal 16958 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 z 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

RePHT}9WVuMsZwy}w2@Luy;p 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

$;uas`h^~$nErfKHYh1RF{PO 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±*@8b0$9_ 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